定时与计数器

上传人:ji****72 文档编号:56766269 上传时间:2018-10-15 格式:PPT 页数:79 大小:1.97MB
返回 下载 相关 举报
定时与计数器_第1页
第1页 / 共79页
定时与计数器_第2页
第2页 / 共79页
定时与计数器_第3页
第3页 / 共79页
定时与计数器_第4页
第4页 / 共79页
定时与计数器_第5页
第5页 / 共79页
点击查看更多>>
资源描述

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

1、第8章 定时与计数器,第一节 8253的结构和引脚第二节 8253的工作方式第三节 8253编程和应用,定时与计数技术在微机系统及微机中的作用,首先,微机本身的运行与时间有关,因为微处理器CPU内部各种操作的执行都是按时间间隔定时完成的。其次,微机的许多应用都与时间有关,尤其是在实时监测与控制系统中,例如,定时中断、定时监测、定时扫描、定时显示、定时打印。有的应用系统中,要求对外部事件进行计数,或者对I/O设备运行速度和工作频率进行控制和调整,或者要求发声(报警)甚至要求产生音乐等,这些功能都与定时计数有关。,微机中的定时类型,内部定时 内部定时是产生运算器、控制器等CPU内部的控制时序,比如

2、取值周期、读/写周期、中断周期等。主要用于CPU内部指令的执行过程。计算机的每个操作都要按严格的事件节拍(周期)执行 内部定时是由CPU的硬件结构决定的,并且是CPU一旦设计好了,就固定不变,用户无法更改。另外,内部定时的计时单位比外部定时的计时单位要小得多,一般是ns级。,外部定时 是外部设备实现某种功能时,所需要的一种时序关系,即工作过程,或操作序列的先后顺序。如打印机的接口标准contronics,就规定了打印机与CPU之间传送信息应遵守的工作时序。 外部定时可由硬件(外部定时器)实现,也可由软件(延时程序)实现,并且定时长短由用户根据需要决定。外部硬件定时系统独立于CPU工作,不受CP

3、U的控制而独立运行,这给使用带来了很大的好处。外部定时的计数单位一般为ms级和s级。,内部定时和外部实时是彼此独立的两个定时系统,各按自身的规律进行定时操作。 在实际应用中,外部定时与用户的关系比内部定时更密切。,外部定时的方法:,1) 软件定时,延时子程序,利用循环,通过循环次数及循环体内的指令周期数来计算定时时间。MOV BX, 0FFH; FFH:延时时间常数 DELAY: DEC BXJNZ DELAY 优点:节省硬件,实施方便 缺点:占用CPU时间,降低CPU效率,与CPU的工作频率有关,通用性差,2) 硬件定时,采用外部定时器进行定时,由于定时器是独立于CPU而自成系统的定时设备,

4、因此,不占用CPU的时间,定时时间可长可短,使用灵活。尤其是定时时间固定,不受CPU的工作频率影响,定时程序具有通用性。,外部硬件定时器,1) 不可编程定时器采用中小规模集成器件构成的定时电路,常见的定时器件有单稳触发器和555、556定时器,利用其外接电阻、电容的组合,可实现一定范围内的定时。这种定时方式不占用CPU的时间,且电路简单,但是电路连接好以后,定时间隔和范围就不便改变,使用不灵活。,2) 可编程定时器,定时间隔和定时范围可由程序进行设定和改变,使用方便灵活。如Intel 8253/8254 MC6840等。 外部计数器对时间的计时有两种方式:一是正计时,将当前的时间加1,直到与设

5、定的时间相等时,提示设定的时间已到,如闹钟。另一种是倒计时,将设定的时间减1,直到为0,提示设定的时间已到,如篮球比赛等。,定时器两种定时方式比较:,加法定时:设定时器的计数器是一个8位的寄存器,输入脉冲的周期是1s,则最大定时时间256秒。即初值为0000 0000,每输入一个脉冲计数值加1,直到计满溢出后输出脉冲信号,表示计数结束。,1111 1111,1111 1110,1111 1101,1111 1100,1111 1011,0000 0010,0000 0001,0000 0000,0000 0000,当需要定时100s时,计数初值应是:,256100156 即:1001 1100

6、 9CH,减法定时:设定时器的计数器是一个8位的寄存器,输入脉冲的周期是1s,则最大定时时间256秒。即初值为0000 0000,每输入一个脉冲计数值减1,直到计数值再次为0,输出脉冲信号,表示计数结束。,1111 1111,1111 1110,1111 1101,1111 1100,1111 1011,0000 0010,0000 0001,0000 0000,例如,要定时100s,则计数器的计数初值应是:,100 即 0110 0100 64H,定时/计数器的核心是一个自动加1或减1的计数器,0000 0000,工作方式: 1) 外部输入的脉冲的周期是已知的,可以通过设置初值的方式决定定时

7、的时间,即计数器输出的时间; 2) 外部输入脉冲的周期是随机的,对外部时钟计数。将计数器的初值设为0,停止计数后查看计数器的计数值。,计数器:设置好初值后,用软件或硬件开启计数器进行减1计数,减为0后,输出一个信号。 定时器:设置好初值后,用软件或硬件开启计数器进行减1计数,减为0或1后,输出一个信号,然后又自动重装计数器的初值,继续重复输出,形成周期信号。,从定时/计数器的内部而言,这两种方式没有本质的区别。,第一节 8253的工作原理,1) 概述,8253具有3个独立的16位的计数通道,使用单一的+5V电源,是一个24个引脚的双列直插式器件 (1)有3个独立的16位计数器通道; (2)每个

8、计数器都可以按照二进制或十进制计数; (3)每个计数器的计数速率可高达2MHz; (4)每个通道有6种工作方式,可由程序设置和改变; (5)所有的输入输出都与TTL兼容。,2) 内部结构,每个计数器内部有: 8位控制寄存器:控制计数器的工作方式; 16位计数初值寄存器:装计数初值; 计数执行部件:执行减1操作; 输出锁存器:需要读取当前计数值时,将当前执行计数器中的值锁存进该存储器后读取。,对其写入控制字,对其写入计数初值,读取了解当前状态,每个计数器通过3个引脚与外界联系: CLK:时钟输入; GATE:门控输入; OUT:输出,数据总线缓冲器:与CPU数据总线连接的8位双向三态缓冲器。CP

9、U向8253发布的命令及输入输出的数据都是通过这8条数据总线传输的。,(1) CPU向8253写入的控制字; (2) CPU向对应的计数器写入的初值; (3) CPU读取对应计数器的当前计数值。,读/写逻辑寄存器:片选控制芯片是否工作;读写控制信号表明当前8253进行何种操作;A0,A1选择对哪一个计数器进行操作。,控制字寄存器:在初始化编程时,可分别设置3个计数器的工作方式等。,计数器0计数器2:3个独立的计数通道,可分别按不同的工作方式工作。,每个通道对相应的输入脉冲CLK按二进制或十进制进行减1计数,减到0时, 输出端输出一信号,若CLK为已知周期的时钟脉冲,则通过设置计数器初值可以实现

10、精确定时,可以由软件或硬件(GATE)来开启或停止计数。这些由工作方式决定。 计数器的初值必须在开始计数之前,由CPU用输出指令预置,在计数的过程中,CPU随时可用输入指令读取当前计数值,这一操作对计数过程没有影响。,计数器计数初值的计算: 若8253作计数用,则要求计数的次数就作为计数初值,直接装入计数初值寄存器和减法计数器,不需经过计算; 若作定时用,则计数初值,也即定时常数需要经过换算才能得到。,1)要求产生定时时间间隔的定时常数Tc,其中,t为要求的定时时间,CLK为时钟脉冲频率。,例如:CLK=1.19318MHz, t=5ms,Tc=510-31193180=5965,2)要求产生

11、频率为f的信号波形的定时常数Tc,例如:CLK=1.19318MHz, f=800Hz,计数初值的范围:由于计数初值计数器和减法计数器是16位的,故计数初值的范围对二进制为0000HFFFFH,对十进制为00009999。其中0000为最大值,对二进制为:216(65536),对十进制为104(10000)。在实际应用中,若所要求的计数初值或时间常数大于计数初值的最大值,则采用多个计数器串联计数的方法。,3个计数器相互独立,3个计数初值寄存器,输入的初值都不一样。用一个片选信号不能区分3个空间,所以要用A1,A0配合片选信号对3个独立的空间进行区分。,3) 8253的引脚,分析:一般的可编程器

12、件都有数据线、片选线(口地址),读写信号线,电源及与特定功能相关的信号线(时钟、门控、输出)。,A1,A0信号线做什么用?,8253端口的选择,0,1,0,0,0,写入计数器0,0,1,0,0,1,写入计数器1,0,1,0,1,0,写入计数器2,0,1,0,1,1,写入控制寄存器,0,0,1,0,0,读计数器0,0,0,1,0,1,读计数器1,0,0,1,1,0,读计数器2,0,0,1,1,1,无操作,1,芯片禁止,0,1,1,无操作,1) 8253控制字,计数器 n,每个独立的计数器都有一个控制寄存器,存放该计数器的工作方式,读写格式等信息。但这3个控制寄存器共用一个地址,即A1A0=11,

13、芯片怎样区分计算机是给哪个计数器控制器下达的命令呢?,控制字寄存器同一地址A1A0=11,当地址选中CS为0且A1A0=11时,数据线上的数据即是向控制字寄存器中写入的指令,具体是向哪个计数器中的控制寄存器中发的指令,要看该指令的前两位是什么数值。,控制字寄存器:,每个计数器内部结构:,计数器0地址40H, 计数器1地址41H,计数器2地址42H,控制器地址43H。,40H,要使用某个计数器,首先要先设置其对应的控制器,确定工作方式,然后再输入这个计数器的计数初值。,00,00,00,00,00,当向43H地址中写数据时,MOV AL, 00B OUT 43H, AL,;设置计数器0控制器,0

14、1,01,01,01,01,01,MOV AL, 01B OUT 43H, AL,;设置计数器1控制器,MOV AL, 10B OUT 43H, AL,;设置计数器2控制器,10,一般将设置为0,0000 0000 00H,1111 1111 FFH,1111 1110 FEH,0001 0000 10H,0000 1111 0FH,0000 0000 00H,1001 1001 99H,1001 1000 98H,0001 0000 10H,0000 1001 09H,二进制,十进制(BCD码),8253有6种工作方式,是外围芯片中工作方式最多的一种。这主要是为了通过不同的工作方式来扩展82

15、53的功能,适应不同用户的使用要求。 虽然,8253是作定时/计数器使用的,但是,由于工作方式的不同,其计数过程、基本功能、启动方式、输出波形、初值重装、中止方式以及典型应用都有差别。正是这些差别,才丰富了8253的功能,使得用户能“各取所需”。,8253的地址为04H07H,计数器1工作在方式1,计数初值为800,计数器2工作在方式3,初值为23H,编写程序。,计1:,0,1,1,0,0,0,1,1,计2:,1,0,0,1,0,1,1,0,计1:,0,1,1,0,0,0,1,1,计2:,1,0,0,1,0,1,1,0,8253的地址为04H07H,计数器1工作在方式1,计数初值为800,计数

16、器2工作在方式3,初值为23H,编写程序。,MOV AL, 63H OUT 07H, AL MOV AL, 96H OUT 07H, AL MOV AL, 08H OUT 05H, AL MOV AL, 23H OUT 06H, AL,;写入计1控制字,;写入计2控制字,; 向计1写入计数初值,; 向计2写入计数初值,8253的工作方式,基本规则: 控制字写入计数器时,所有的控制逻辑电路立即复位,输出端OUT进入初始状态(高电平或低电平); 初始值写入后,要经过一个时钟上升沿和下降沿,计数执行部件才开始计数; 通常,在时钟CLK的上升沿,门控GATE被采样,门控的触发方式为边沿或电平,边沿触发脉宽可以很窄,且高低电平均可(计数器内部有个边沿触发器,随时检测),电平触发则必须在下一个时钟上升沿前保持高电平; 在时钟脉冲的下降沿计数器作减1计数,0是计数器所能容纳的最大初始值,二进制时是216,十进制时是104,

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

最新文档


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

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