可编程定时计数器

上传人:ji****72 文档编号:51113185 上传时间:2018-08-12 格式:PPT 页数:39 大小:466.50KB
返回 下载 相关 举报
可编程定时计数器_第1页
第1页 / 共39页
可编程定时计数器_第2页
第2页 / 共39页
可编程定时计数器_第3页
第3页 / 共39页
可编程定时计数器_第4页
第4页 / 共39页
可编程定时计数器_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《可编程定时计数器》由会员分享,可在线阅读,更多相关《可编程定时计数器(39页珍藏版)》请在金锄头文库上搜索。

1、可编程定时可编程定时/ /计计 数器数器82538253苗付友2006年11月1可编程定时/计数器82538253作用v定时软件定时:让机器执行一段程序,安排循环来实现定时 ,容易实现,定时时间调整方便,定时精确,占用了 CPU资源,降低了CPU的利用率。硬件定时:可编程定时/计数硬件芯片,定时值、定时 范围可以很容易的由软件改变,具有使用灵活、功能较 强等特点。v外部事件计数 外部事件计数就是对外部脉冲信号计数。产生脉冲信号 的外部原因就是外部事件。 如高速公路入口处一个专用计算机检测系统,它可以自 动对进入高速公路的车辆进行计数 2006年11月2可编程定时/计数器82538253的内部结

2、构 8253内部有3个独立的16位定时 计数器通道。 计数器可按照二进制或十进制计数, 计数和定时范围可在165535之间 改变, 每个通道有6种工作方式,计数频率 可高达2MHz以上。3个计数通道 通道控制寄存器 数据总线缓冲器 读写控制电路 2006年11月3可编程定时/计数器8253计数通道v通道0、通道1和通道2 vCLK:计数器的脉冲输入端,GATE: 计数器的门 控信号,OUT: 计数器的输出信号,一般与计数溢 出有关。v工作原理:8253计数器工作在减1状态,每输入一个计数脉冲,计 数器值减1,当计数器计数到零时,OUT信号有效,通知外设计数器产生溢出 2006年11月4可编程定

3、时/计数器8253v通道的使用计数器:将要计数的次数预置到该通道计数器 中定时器:从CLK输入一固定频率的时钟脉冲, 再根据要求定时的时间计算出定时所需的计数 值或称时间常数,并预置到计数器中计数值定时时间/时钟脉冲周期2006年11月5可编程定时/计数器8253通道控制寄存器 v一个通道控制寄存器vCPU通过对控制寄存器的读写,可以分别 对三个计数通道的工作方式进行设置v只能写不能读2006年11月6可编程定时/计数器8253数据总线缓冲器v双向三态的8位数据缓冲器,实现8253和 CPU之间的数据接口 读写控制电路v片选信号 CSvA1A0的组合 :选择三个通道、一个控制寄 存器,共4个端

4、口v读信号 和写信号 由CPU提供,低电 平有效。 2006年11月7可编程定时/计数器82538253的管脚分配 v通道管脚 vCLKn:通道n的脉冲输入管脚外部事件或定时脉冲由这三个管脚输入;vOUTn:通道n的输出管脚,当计数值减 到0v 在OUT管脚上输出,输出波形取决于8253通道的工作方式;vGATEn:门控信号输入管脚 8253的管脚包括数据线线D7D0,读读写控制线线以及和CPU地址线线相连连接的片选选 信号2006年11月8可编程定时/计数器82538253的编程v控制字 分为4部分,通道选择、计数器读/写方式、工作方式和计数码的选择。计数器选择(SC1、SC0) 计数器读/

5、写方式(RLl、RL0) 2006年11月9可编程定时/计数器8253v计数器的锁存操作 8253一旦初始化后,就不需要CPU参与而自动计数。 为了读出计数值时不干扰实际计数过程,同时读出的值 又是稳定的,就要求对通道计数器中的计数值进行锁存 。硬件锁存暂停计数 GATE 暂停计数软件控制命令锁存 v每一个通道都有一个输出锁存器(16位),平时它的值随通道计 数器的值变化,当向通道写入锁存的控制命令时,它把计数器 的现行值锁存而计数器的计数过程照样进行。这样,CPU读取 的是锁存器中的值。当重新写入一个命令字或CPU读取计数值 后,计数通道会自动解除锁存状态。锁存控制字: 0000XXXXB

6、先读取低8位,后读取高8位(不锁存): 10 00H 0F 00H2006年11月10可编程定时/计数器8253工作方式选择(M2、M1、M0) BCD计数制:写入初值范围为0000到 9999,而0000是最大值,代表10000二进制计数制:写入初值范围为0000 到FFFFH,其中0000为最大值,代表 65536。 控制字的D5D4为00,表示的是锁 存命令。这时控制字中的低4位无 效 2006年11月11可编程定时/计数器82538253的工作方式 v方式0计数结束中断方式 v方式1可编程序的单独负脉冲 v方式2速率发生器v方式3方波发生器 v方式4软件触发方式v方式5硬件触发方式20

7、06年11月12可编程定时/计数器8253方式0计数结束中断方式v方式0的作用 用户可以在设定时间上产生中断信号 v工作方式0特点: 门控信号GATE必须为1,计数器才能计数; 计数时通道输出端OUT一直为0; 通道计数器计数到0后,OUT由0到1,同时计数器停止工作。vOUT输出的从低到高的正跳变或高电平可作为中断请求信号INTR,向 CPU发出中断请求。 v在计数过程中,GATE信号为低电平时,停止计数,一旦GATE变高 ,则继续计数 2006年11月13可编程定时/计数器8253INT8086 MOV AL,10011010BMOV AL,10011010B;置;置8255A8255A方

8、式控制字方式控制字 OUT 8255OUT 8255控制口,控制口,ALAL MOV AL,00HMOV AL,00H;8255A8255A置位置位/ /复位控制字复位控制字, ,使使PC0PC00 0 OUT 8255OUT 8255控制口,控制口,ALAL MOV AL, 00110000B MOV AL, 00110000B ;置;置82538253通道通道0 0方式控制字方式控制字30H30H OUT 8253OUT 8253控制口,控制口,ALAL MOV ALMOV AL,40H40H;置;置82538253通道通道0 0时间常数时间常数, , OUT OUT 通道通道0 0端口,

9、端口,AL ; AL ; 第一次写初始计数值的低8位, MOV ALMOV AL,38H ; 38H ; 第二次写高8位。3840H=14400秒=4小时 OUT OUT 通道通道0 0端口,端口,ALAL 中断程序中有关程序段如下:中断程序中有关程序段如下: MOV AL,00000001BMOV AL,00000001B;82558255置位置位/ /复位控制字,使复位控制字,使PC0PC01 1 OUT 8255OUT 8255控制口,控制口,ALAL 家庭厨房系统2006年11月14可编程定时/计数器8253方式1可编程序的单独负脉冲v单稳电路 在输入的激励下产生固定宽度脉冲的电路,当

10、输入端输入一个不低 于规定的最小宽度的脉冲后,单稳电路就输出一个用户事先设定宽 度的脉冲。 8253的方式1就是一个可编程单稳电路 v方式1工作过程 门控信号GATE是触发信号,上升沿有效。即开始计数是由GATE 的上升沿触发的; 触发后,通道计数器开始计数,输出端OUT由高变低; 计数器计数到0,OUT再由低变高。PWNTclk PW:输出的负脉冲宽度 ;N:初始计数值,Tclk:CLK端的脉冲周 期 2006年11月15可编程定时/计数器8253车辆统计不同车辆间隔T3不 能太小;(PW)同一车辆的不同车 厢间距离不能太大 ;(216通道计数器级联实现分频系数超过通道计数器级联实现分频系数

11、超过2 21616的分频要求的分频要求2006年11月32可编程定时/计数器8253通道通道0 0首先把首先把1MHz1MHz信号信号10001000分频,产生分频,产生1KHz1KHz的信号,通道的信号,通道1 1再把再把 1KHz1KHz信号信号10001000分频,结果就得到的分频,结果就得到的1Hz1Hz信号信号(3 3)通道)通道1 1要输出方波信号推动发光二极管,所以通道要输出方波信号推动发光二极管,所以通道1 1 应选工作方式应选工作方式3 3。对于通道。对于通道0 0,只要能起分频作用就行,对,只要能起分频作用就行,对 输出波形不做要求,所以方式输出波形不做要求,所以方式2 2

12、和方式和方式3 3都可以选用。都可以选用。(4) 初始化: 通道0: 工作方式2,BCD计数;通道1: 工作方式3,二进制计数2006年11月33可编程定时/计数器8253MOV AL,00110101B;通道0控制字 OUT 86H,AL MOV AL,00;通道0初始计数值 OUT 80H,AL MOV AL,10H OUT 80H,AL MOV AL,01110110B;通道1控制字 OUT 86H,AL MOV AL,0E0H;通道1初始计数值,3E8H=1000 BCD OUT 82H,AL MOV AL,03H OUT 82H,AL2006年11月34可编程定时/计数器8253例例

13、2 2:延时程序,:延时程序,设设设设82538253的通道地址的通道地址为为为为80H80H 86H86H,82558255的地址为的地址为88H 88H 8 8E EH H (偶地址)偶地址)解:解:1 1、电路、电路这个例子要求用这个例子要求用82538253,82558255作一个延时作一个延时 系统。系统。2006年11月35可编程定时/计数器8253GATE0CLK0OUT0+5V1KHzPC0825382552006年11月36可编程定时/计数器82532 2、时间常数计算、时间常数计算如果如果82538253的的CLKCLK输入输入1KHz1KHz信号,延时信号,延时 时间为时

14、间为1S1S,则时间常数为则时间常数为N N1/0.001=1000D=03E8H1/0.001=1000D=03E8H 3 3、工作方式选择工作方式选择 4 4、程序、程序2006年11月37可编程定时/计数器8253MOV AL,10011011B;A、B、C为输入 OUT 8255_CTRL,AL DELAY1SPROC MOV AL,00110001B;通道0工作在方式0, ;16位读写,BCD计数 OUT 8253_CTRL,AL MOV AL,0 OUT COUNTER0,AL MOV AL,10H OUT COUNTER0,AL AGAIN:IN AL,8255_C ;检测是否由OUT端输出1 TEST AL,01 JZ AGAIN RET DELAY1SENDP2006年11月38可编程定时/计数器8253作业:vP202 1、3、5、62006年11月39可编程定时/计数器8253

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号