微机原理第六章可编程接口芯片及其应用_第1页
微机原理第六章可编程接口芯片及其应用_第2页
微机原理第六章可编程接口芯片及其应用_第3页
微机原理第六章可编程接口芯片及其应用_第4页
微机原理第六章可编程接口芯片及其应用_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第六章第六章 常用的接口常用的接口芯片及其应用芯片及其应用6.1 I/O接口概述接口概述6.2简单接口简单接口6.3总线控制器总线控制器8288及总线及总线裁决器裁决器82896.4可编程并行接口可编程并行接口82556.5可编程定时器可编程定时器82536.6可编程串行接口可编程串行接口82516.7中断控制接口中断控制接口6.8A/D及及D/A变换器接口变换器接口6.9DMA控制器控制器8237沈阳航空工业学院26.5可编程定时器可编程定时器8253v教学重点v 8253的引脚和的引脚和6种工作方式种工作方式v 8253的编程的编程v 8253在在IBM PC系列机上的应用系列机上的应用

2、沈阳航空工业学院3定时器和计数器定时器和计数器定时控制在微机系统中极为重要定时控制在微机系统中极为重要v定时器由数字电路中的定时器由数字电路中的计数电路计数电路构构 成,成,通过记录高精度晶振脉冲信号通过记录高精度晶振脉冲信号 的个数,输出准确的时间间隔的个数,输出准确的时间间隔v计数电路如果记录计数电路如果记录外设提供的具有外设提供的具有 一定随机性的脉冲信号时一定随机性的脉冲信号时,它主要,它主要 反映脉冲的个数(进而获知外设的反映脉冲的个数(进而获知外设的 某种状态),某种状态),常又称为计数器常又称为计数器沈阳航空工业学院4定时功能的实现方法定时功能的实现方法v软件延时软件延时利用微处

3、理器执行一利用微处理器执行一 个延时程序段实现个延时程序段实现v不可编程的硬件定时不可编程的硬件定时采用分频采用分频 器、单稳电路或简易定时电路控制器、单稳电路或简易定时电路控制 定时时间定时时间v可编程的硬件定时可编程的硬件定时软件硬件相软件硬件相 结合、用可编程定时器芯片构成一结合、用可编程定时器芯片构成一 个方便灵活的定时电路个方便灵活的定时电路沈阳航空工业学院5 8253/8254定时计数器定时计数器v3个独立的个独立的16位计数器通道位计数器通道v每个计数器有每个计数器有6种种工作方式工作方式v按按二进制二进制或或十进制十进制(BCD码)码)计数计数8254是是8253的改进型的改进

4、型沈阳航空工业学院66.5.1 8253/8254的内部结构和引脚的内部结构和引脚D7D0计数器计数器0控制字控制字寄存器寄存器计数器计数器1计数器计数器2内内部部数数据据总总线线数据总线数据总线缓冲器缓冲器读写控制读写控制逻辑逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2沈阳航空工业学院7计数器结构示意图计数器结构示意图预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法计数器减法计数器的值不断递减,的值不断递减,而预置寄存器中的预置

5、不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值沈阳航空工业学院8计数器的计数器的3个引脚个引脚vCLK时钟输入信号时钟输入信号在计数过程在计数过程 中,此引脚上每输入一个时钟信号中,此引脚上每输入一个时钟信号 (下降沿下降沿),计数器的计数值减),计数器的计数值减1vGATE门控输入信号门控输入信号控制计数控制计数 器工作,可分成电平控制和上升沿器工作,可分成电平控制和上升沿 控制两种类型控制两种类型vOUT计数器输出信号计数器输出信号当一次计当一次计 数过程结束(计数值减为数过程结束(计数值减为0),), OUT引脚上

6、将产生一个输出信号引脚上将产生一个输出信号沈阳航空工业学院92. 与处理器接口与处理器接口vD0 D7数据线数据线 A0 A1地址线地址线vRD*读信号读信号 WR*写信号写信号vCS*片选信号片选信号CS* A1 A0I/O地址地址读操作读操作RD* 写操作写操作WR*0 0 00 0 10 1 00 1 140H41H42H43H读计数器读计数器0读计数器读计数器1读计数器读计数器2无操作无操作写计数器写计数器0写计数器写计数器1写计数器写计数器2写控制字写控制字沈阳航空工业学院106.5.2 8253/8254的工作方式的工作方式v8253有有6 6种工作方式种工作方式,由方式控制字确定

7、,由方式控制字确定v熟悉每种工作方式的特点才能根据实际应熟悉每种工作方式的特点才能根据实际应 用问题,选择正确的工作方式用问题,选择正确的工作方式v每种工作方式的过程类似:每种工作方式的过程类似: 设定工作方式设定工作方式 设定计数初值设定计数初值 硬件启动硬件启动 计数初值进入减计数初值进入减1计数器计数器 每输入一个时钟计数器减每输入一个时钟计数器减1的计数过程的计数过程 计数过程结束计数过程结束沈阳航空工业学院11方式方式0 计数结束中断计数结束中断GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过

8、程程计计数数结结束束沈阳航空工业学院12方式方式1 可编程单稳脉冲可编程单稳脉冲设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR沈阳航空工业学院13方式方式2 频率发生器(分频器)频率发生器(分频器)03124GATEOUTCLK 4方式方式2031240312403124WR沈阳航空工业学院14方式方式3 方波发生器方波发生器03124GATEOUTCLK 4方式方式3031240312403124WR沈阳航空工业学院15方式方式4 软件触发选通信号软件触发选通信号

9、GATEOUTCLK031244方式方式4223331 0WR沈阳航空工业学院16方式方式5 硬件触发选通信号硬件触发选通信号GATEOUTCLK031244方式方式52233311 0WR沈阳航空工业学院17各种工作方式的输出波形各种工作方式的输出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1讨论:讨论:计数开始的时刻计数开始的时刻沈阳航空工业学院18计数开始的时刻计数开始的时刻v需要注意:需要注意:v处理器写入处理器写入8253的计数初值只是写的计数初值只是写 入了预置寄存器,之后到来的

10、第一个入了预置寄存器,之后到来的第一个 CLK输入脉冲(需输入脉冲(需先由低电平变高,再先由低电平变高,再 由高变低由高变低)才将预置寄存器的初值送到)才将预置寄存器的初值送到 减减1计数器。计数器。v从第二个从第二个CLK信号的下降沿,计数器才信号的下降沿,计数器才 真正开始减真正开始减1计数。计数。实验:实验:计数开始的时刻计数开始的时刻沈阳航空工业学院19实验实验1计数开始计数开始实验实验1计数开始计数开始计数开始计数开始沈阳航空工业学院20实验实验2计数开始计数开始沈阳航空工业学院21问题讨论问题讨论v通过本例,请大家通过本例,请大家思考理论(原理)与实践(工程)的关系思考理论(原理)

11、与实践(工程)的关系体会教学实践环节(上机、实验)的重要性体会教学实践环节(上机、实验)的重要性v同时,还请大家注意同时,还请大家注意大学的常规教学侧重理论(原理)的掌握大学的常规教学侧重理论(原理)的掌握大家需要加强实践(实验)、积累实际经验大家需要加强实践(实验)、积累实际经验你还能提供这样的实例吗?你还能提供这样的实例吗?沈阳航空工业学院226.5.3 8253/8254的编程的编程v8253加电后的工作方式不确定加电后的工作方式不确定v8253必须初始化编程,才能正必须初始化编程,才能正常工作常工作v写入控制字写入控制字写入计数初值写入计数初值读取计数值读取计数值8254新增读回命令新

12、增读回命令D7D6D5D4D3D2D1D0沈阳航空工业学院231 写入方式控制字写入方式控制字计数器计数器读写格式读写格式工作方式工作方式数制数制D7D6D5D4D3D2D1D000 计数器计数器001 计数器计数器110 计数器计数器211 非法非法00 计数器锁存命计数器锁存命令令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二进制二进制1 十进制十进制控制字写入控制字控制字写入控制字I/O地址(地址(A1A

13、011)示例示例沈阳航空工业学院242 写入计数值写入计数值v选择二进制时选择二进制时计数值范围:计数值范围:0000HFFFFH0000H是最大值,代表是最大值,代表65536v选择十进制(选择十进制(BCD码)码)计数值范围:计数值范围:000099990000代表最大值代表最大值10000计数值写入计数器各自的计数值写入计数器各自的I/O地址地址示例示例沈阳航空工业学院253 读取计数值读取计数值v对对8位数据线,读取位数据线,读取16位计数值需分两位计数值需分两次次v计数在不断进行,应该将当前计数值计数在不断进行,应该将当前计数值先行锁存,然后读取:先行锁存,然后读取:向控制字向控制字

14、I/O地址:给地址:给8253写入锁存命令写入锁存命令从计数器从计数器I/O地址:读取锁存的计数值地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制读取计数值,要注意读写格式和计数数制沈阳航空工业学院266.5.3 8253在在IBM PC系列机上的应用系列机上的应用A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至接至DMA控制器控制器接至扬声器驱动器接至扬声器驱动器PB0PB1IRQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS沈阳航空工业学院2

15、7一、一、 定时中断和定时刷新定时中断和定时刷新v从阅读初始化程序段从阅读初始化程序段v看看计数器计数器0作为定时中断作为定时中断的作用的作用n将将计数器计数器1作为定时刷新作为定时刷新n看如何编写初始化程序段看如何编写初始化程序段沈阳航空工业学院28定时中断mov al,36h;计数器计数器0为方式为方式3,采用二进制计数,采用二进制计数,;先低后高写入计数值先低后高写入计数值out 43h,al;写入方式控制字写入方式控制字mov al,0;计数值为计数值为0out 40h,al;写入低字节计数值写入低字节计数值out 40h,al;写入高字节计数值写入高字节计数值8253初始化沈阳航空工

16、业学院29计数器计数器0:定时中断:定时中断v计数器计数器0:方式方式3,计数值:计数值:65536,输出频率,输出频率 为为1.19318MHz6553618.206Hz的方波的方波v门控为常启状态,这个方波信号不断产生门控为常启状态,这个方波信号不断产生vOUT0端接端接8259A的的IRQ0,用作中断请求信号,用作中断请求信号v每秒产生每秒产生18.206次中断请求,或说每隔次中断请求,或说每隔55ms (54.925493ms)申请一次中断)申请一次中断vDOS系统利用计数器系统利用计数器0的这个特点,通过的这个特点,通过08号号 中断服务程序实现了日时钟计时功能中断服务程序实现了日时

17、钟计时功能沈阳航空工业学院30计数器计数器1:定时刷新:定时刷新v需要重复不断提出刷新请求需要重复不断提出刷新请求门控总为高,选择方式门控总为高,选择方式2或或3n2ms内刷新内刷新128次,即次,即15.6 s刷新一次刷新一次计数初值为计数初值为18沈阳航空工业学院31定时刷新mov al,54h;计数器计数器1为方式为方式2,采用二进制计数,只写,采用二进制计数,只写低低8位计数值位计数值out 43h,al;写入方式控制字写入方式控制字mov al,18;计数初值为计数初值为18out 41h,al;写入计数值写入计数值8253初始化沈阳航空工业学院32二、二、 扬声器控制扬声器控制v计

18、数器计数器2的输出控制扬声器的发声音调的输出控制扬声器的发声音调v计数器计数器2只能工作在方式只能工作在方式3,才能,才能输出输出 一定频率的方波,经滤波后得到近似一定频率的方波,经滤波后得到近似 的正弦波,进而推动扬声器发声的正弦波,进而推动扬声器发声v扬声器还受控于并行接口(扬声器还受控于并行接口(8255芯片)芯片)v必须使必须使PB0和和PB1同时为高电平,扬声同时为高电平,扬声 器才能发出预先设定频率的声音器才能发出预先设定频率的声音沈阳航空工业学院33频率设置speakerprocpush axmov al,0b6hout 43h,al;写入控制字写入控制字pop axout 42

19、h,al;写入低写入低8位计数值位计数值mov al,ahout 42h,al;写入高写入高8位计数值位计数值retspeakerendp扬声器控制沈阳航空工业学院34扬声器开speakonprocpush axin al,61hor al,03h;D1D0PB1PB011B,其他位不变,其他位不变out 61h,alpop axretspeakonendp扬声器控制沈阳航空工业学院35扬声器关speakoffprocpush axin al,61hand al,0fch;D1D0PB1PB000B,其他位不变,其他位不变out 61h,alpop axretspeakoffendp扬声器控制

20、沈阳航空工业学院36主程序;数据段数据段freqdw 1193180/600;代码段代码段mov ax,freqcall speaker;设置扬声器音调设置扬声器音调call speakon;打开扬声器声音打开扬声器声音mov ah,1;等待按键等待按键int 21hcall speakoff;关闭扬声器声音关闭扬声器声音扬声器控制沈阳航空工业学院379.2.3 可编程硬件延时可编程硬件延时v利用日时钟每隔利用日时钟每隔55ms中断一次不变中断一次不变 的特点,可以编写一段不随系统时的特点,可以编写一段不随系统时 钟频率变化的固定延时程序钟频率变化的固定延时程序v由于日时钟中断的时间单位是由于

21、日时钟中断的时间单位是55ms, 所以无法实现更短时间的延时所以无法实现更短时间的延时v这时只有利用实时时钟中断,不过它这时只有利用实时时钟中断,不过它 的最短延时约是的最短延时约是1ms(976 s)沈阳航空工业学院38日时钟;延时开始延时开始mov ah,0int 1ahadd dx,90;加加5秒(秒(51890)mov bx,dx;期望值送期望值送bxrepeat:int 1ah;再读日时钟再读日时钟cmp bx,dx;与期望值比较与期望值比较jne repeat;不等,则循环不等,则循环;相等,延时结束相等,延时结束可编程硬件延时沈阳航空工业学院39实时时钟;延时开始延时开始mov

22、cx,0mov dx,1952;延时延时1.952ms2976 smov ah,86hint 15h;功能调用返回时,定时时间到功能调用返回时,定时时间到可编程硬件延时沈阳航空工业学院406.5.4 扩充定时计数器的应用扩充定时计数器的应用v例题例题1 1利用扩充定时计数器对外部事件利用扩充定时计数器对外部事件的计数的计数v例题例题2 2为为A/D转换电路提供可编程的采样信转换电路提供可编程的采样信号号沈阳航空工业学院41例例1A0A1 A0 A1外部事件产生源外部事件产生源8253OUT0GATE0CLK0200207HIRQD0D7D0D7译码译码电路电路AENA3A9+5VCSIORIO

23、WRDWR沈阳航空工业学院42初始化程序段mov dx,203h;设置方式控制字设置方式控制字mov al,10hout dx,al mov dx,200h;设置计数初值设置计数初值mov al,64h;计数初值为计数初值为100out dx,al输出:输出:明确向哪个明确向哪个端口端口输出什么输出什么数据数据输入:输入:清楚从哪个清楚从哪个端口端口输入什么输入什么数据数据沈阳航空工业学院43例例28253OUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2启动转换启动转换时钟源时钟源频率频率 F+5V计数值计数值MNLA0A1A1A2200H207HCS沈阳航空工业学院44初始化计数器0mov al,14hmov dx,206hout dx,almov al,cnt0mov dx,200hout dx,almov al,52hmov dx,206hout dx,almov al,cnt1mov dx,202hout dx,al mov al,96hmov dx,206hout dx,almov al,cnt2mov dx,204hout dx,al

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论