可编程计数器定时器8253及其应用课件_第1页
可编程计数器定时器8253及其应用课件_第2页
可编程计数器定时器8253及其应用课件_第3页
可编程计数器定时器8253及其应用课件_第4页
可编程计数器定时器8253及其应用课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第九章可编程计数器/定时器8253及其应用第1页,共45页。本章内容定时处理方法8253工作原理8253应用第2页,共45页。定时处理方法定时软件定时方式CPU干预指令执行时间作间隔不可编程的硬件定时方式方式固定硬件设定参数可编程的硬件定时方式程序设定、程序控制中断第3页,共45页。定时处理方法定时和计数器对不同信号的计数定时器对时钟信号进行计数周期性计数器对外部脉冲进行计数周期性、非周期性第4页,共45页。8253计数/定时器可编程(工作方式/计数值)三个独立的计数器通道对初值进行减一计数二进制/BCD计数初值计数对象的最高频率为2MHz第5页,共45页。8253计数/定时器原理第6页,共4

2、5页。8253计数/定时器原理8088/8086的连接方式第7页,共45页。一、计数/定时的工作原理计数/定时的功能对外部事件发生次数进行计数计算机系统经常用到定时信号,如DRAM刷新定时计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数,如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对应的关系。例如输入脉冲频率为2MHz,那么计数2106 计时1秒因此,使用同一个芯片,既能计数,又能计时计时器/计数器8253计数/定时器原理第8页,共45页。一、计数/定时的工作原理控制寄存器初始值寄存器计数器计数输出寄存器状态寄存器CLKGATEOUT组成:控制寄存器决定工作模式状态寄存

3、器反应工作状态初值寄存器计数的初值计数输出寄存器CPU从中读当前计数值计数器执行计数操作,CPU不能访问第9页,共45页。一、计数/定时的工作原理工作原理:对CLK信号进行减1计数首先,CPU把控制字写入控制寄存器,计数初始值写入初值寄存器计数从初值开始,每当CLK信号出现一次,计数值减1当计数值减到0,从OUT端输出规定的信号CLK信号出现时,计数器是否减1,由门控信号GATE控制第10页,共45页。一、计数/定时的工作原理CLK是计数输入信号,计数器对CLK端出现的脉冲个数进行计数CLK端可以输入外部事件CLK端可以接入固定频率的时钟信号,从而实现计时OUT信号在计数结束时发生变化可将OU

4、T作为外部设备的控制信号可将OUT作为向CPU申请中断的信号CPU可以从计数输出寄存器读出当前计数值。读前,应向控制寄存器发送锁存命令第11页,共45页。8253计数/定时器原理计数器的结构16(82)位初值寄存器16 (82)位计数器执行部件减一计数16 (82)位输出锁存器计数器的控制GATECLKOUT第12页,共45页。8253计数/定时器原理定时/计数器初值的计算定时时间 = 时钟脉冲周期预置的计数初值定时频率 = 时钟脉冲频率预置的计数初值8253CLK输入脉冲的最大频率2MHz第13页,共45页。8253计数/定时器编程控制字寄存器第14页,共45页。8253计数/定时器编程初始

5、化操作(三个通道单独初始化)写入控制字选择计数通道设置工作方式初值的访问方式确定初值的数制(二进制/BCD)计数器清零、OUT初始化写入初值根据控制字的规定顺序边界第15页,共45页。三、8253的编程命令初始化1)写入控制字2)按控制字要求写入计数初值计数器初值计算:N=fCLK/fOUT例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。计数器0,工作模式2,CR/OL仅使用低8位,初值为100,计数值使用二进制MOV AL, 14HOUT 73H, ALMOV AL, 64HOUT 70H, AL第16页,共45页。三、8253的编程命令例:设三个计数

6、器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。计数器1,工作模式1,CR/OL使用16位,初值为1234,计数值使用BCDMOV AL, 73HOUT 73H, ALMOV AX, 1234HOUT 71H, ALMOV AL, AHOUT 71H, AL第17页,共45页。三、8253的编程命令读出命令1)发出锁存命令,使当前计数值锁存在OL中2)读OL,获得当前计数值例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。读出计数器0的当前计数值,放在BX中MOV AL, 0HOUT 73H, ALIN AL, 70HMOV BL

7、, ALIN AL, 70HMOV BH, AL第18页,共45页。8253计数/定时器编程初始化操作例8253基址:3F0H、通道0、方式3、BCD初值1234H编程方式字:001101113F6H初值:34H3F0H、12H3F0H第19页,共45页。8253计数/定时器编程GATE的控制作用第20页,共45页。8253计数/定时器工作方式方式0计数结束中断方式第21页,共45页。8253计数/定时器工作方式方式0计数结束中断方式写入0方式工作字OUT变低写入初值后,CLK经历上升、下降后,才将初值送入计数器执行部件GATE必须为高GATE中途为低,暂时停止计数(维持)一次性,不重载装入初

8、值,即启动计数第22页,共45页。8253计数/定时器工作方式方式1可编程单稳态输出方式第23页,共45页。8253计数/定时器工作方式方式1可编程单稳态输出方式写入工作方式字OUT变高GATE的上升沿才触使初值装入并启动计数,并使OUT变低若计数未满,再出现GATE的上升沿,重载初值,延长计数时间单稳在规定的时长内(初值),多个GATE信号,只被识别一次多个GATE信号一个OUT输出周期一次性,不重载第24页,共45页。8253计数/定时器工作方式方式2比率发生器第25页,共45页。8253计数/定时器工作方式方式2比率发生器写入工作方式字OUT变高GATE必须为高OUT在最后一个CLK周期

9、出现与CLK等宽的负脉冲计数到零,重载初值GATE的上升沿,导致初值重载第26页,共45页。8253计数/定时器工作方式方式3方波发生器第27页,共45页。8253计数/定时器工作方式方式3方波发生器写入工作方式字OUT变高GATE必须为高,GATE上升沿,重载初值初值(n)偶数 n/2为高,n/2为低奇数 (n+1)/2为高,(n-1)/2为低计数到零,重载初值第28页,共45页。四、8253的工作模式方式3:例:计数器工作模式3,计数器初值15,时钟脉冲频率为2MHz,确定OUT端输出方波的特性。解:TCLK=1/2MHz=500ns计数器初值15为奇数,输出分频波高电平宽度 TCLK(N

10、+1)/2=4s输出分频波低电平宽度 TCLK(N-1)/2=3.5s第29页,共45页。8253计数/定时器工作方式方式4软件触发单脉冲第30页,共45页。8253计数/定时器工作方式方式4软件触发单脉冲写入工作方式字OUT变高GATE必须为高,GATE上升沿重载初值计数满,OUT输出一个CLK周期的负脉冲一次性,不重载第31页,共45页。四、8253的工作模式例:计数器0工作模式4,初始化计数器,使装入计数器10 s后产生选通信号(设时钟频率2MHz,8253端口地址为50H53H)。解:n+1=T/ TCLK=10/0.5=20 n=19=13HMOV AL, 18HOUT 53H, A

11、LMOV AL, 13HOUT 50H, AL第32页,共45页。8253计数/定时器工作方式方式5硬件触发单脉冲第33页,共45页。8253计数/定时器工作方式方式5硬件触发单脉冲写入工作方式字OUT变高初值写入后,并不置入计数执行部件载GATE上升沿后,才启动计数;到零后,输出与CLK等宽的负脉冲,重载初值,等待GATE第34页,共45页。8253的应用举例8253应用定时针对时钟脉冲计数针对外部脉冲、外部事件波形发生第35页,共45页。8253的应用举例定时波形第36页,共45页。8253的应用举例定时波形时间常数(初值)定时时间 = 时钟脉冲周期预置的计数初值定时频率 = 时钟脉冲频率

12、预置的计数初值第37页,共45页。五、8253的应用1. PC机中8253的应用计数器0:向系统日历时钟提供定时中断模式3,控制字36H,计数器初始值0计数器1:动态RAM刷新模式2,控制字54H,计数器初始值18(12H)计数器2:控制扬声器发声模式3,控制字B6H,计数器初始值1331(533H)PC机中,8253的端口地址为40H43H第38页,共45页。五、8253的应用2. 扬声器控制设计一个程序,使扬声器发出600Hz频率的声音,按下任意键声音停止PC机的发声系统以计数器2为核心。CLK2的输入频率1.19MHz,改变计数器初值可以由OUT2得到不同频率的方波输出对于600Hz,计

13、数初值1.19MHz/600Hz=1938发声系统受8255芯片B口的两个输出端线PB0、PB1的控制PB0为1,使GATE2为1,计数器2能正常计数PB1为1,打开输出控制门第39页,共45页。五、8253的应用2. 扬声器控制CODE SEGMENT ASSUME CS:CODESTART: IN AL, 61H OR AL, 03H OUT 61H, AL MOVAL, B6H OUT 43H, AL MOVAX, 1983 OUT42H, AL MOVAL, AH OUT 42, AL MOVAH, 01H INT 21H INAl, 61H AND AL, 0FCH OUT 61H,

14、 AL MOVAH, 4CH INT 21HCODE ENDS END START第40页,共45页。五、8253的应用3. 以2MHz输入8253,实现每5秒定时中断(设8253端口地址40H43H)分析:8253最大初值65536,CLK=2MHz可实现最大时间间隔65536/(2106)=32.769ms所以需要两个计数器串联,一个计数器的输出作为另一个计数器的输入第41页,共45页。五、8253的应用计数器1:模式2,OUT1每5ms输出一个脉冲初值(2106)/(1/0.005)=10000计数器0:模式2,OUT0每5s输出一个脉冲初值(1/0.005)/(1/5)=1000OUT0GATE0CLK0OUT1GATE1CLK1+5V+5V2M

温馨提示

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

评论

0/150

提交评论