06定时器计数器8253-5

06定时器计数器8253-5

ID:44986902

大小:821.00 KB

页数:72页

时间:2019-11-06

06定时器计数器8253-5_第1页
06定时器计数器8253-5_第2页
06定时器计数器8253-5_第3页
06定时器计数器8253-5_第4页
06定时器计数器8253-5_第5页
资源描述:

《06定时器计数器8253-5》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章Intel8253定时器/计数器一、概述1、定时与计数器的概念定时器:在时钟信号作用下,进行定时的减“1”计数,定时时间到(减“1”计数回零),从输出端输出周期均匀、频率恒定的脉冲信号。由上述可知,定时器强调的是精确的时间。定时举例:①一天24小时的计时,称为日时钟。②在监测系统中,对被测点的定时取样。③在读键盘时,为去抖,一般延迟一段时间,再读。④在微机控制系统中,控制某工序定时启动。计数器:在时钟信号作用下,进行减“1”计数,计数次数到(减“1”计数回零),从输出端输出一个脉冲信号。计数举例:①对零件和产品的计数;②对大桥和

2、高速公路上车流量的统计,等等。Intel8253在微机系统中可用作定时器和计数器。定时时间与计数次数是由用户事先设定。2、8253定时与计数器与CPU的关系8253定时与计数操作过程与CPU相互独立,并行操作。3、8253定时与计数结束时产生的脉冲信号可用于对某一事件进行控制,也可作用为一外部终端请求信号。二、Intel8253定时器/计数器的基本性能参数1、一片8253内部有3个16位的计数器(相互独立)2、每个计数器的内部结构相同,可通过编程手段设置为6种不同的工作方式来进行定时/计数3、每个计数器再开始工作前必须预制时间常数(时

3、间初始)4、每个计数器在工作过程中的当前计数值可被CPU读出.(注:时间常数也可在计数过程中更改)三、8253定时器/计数器的内部结构、1、内部结构8253定时器/计数器的内部结构框图CLK1GATE1OUT1CLK2GATE2OUT2CLK0GATE0OUT0数据总线缓冲器读/写逻辑A0A1RDWRCS8CPU控制字寄存器内部总线计数器0计数器1计数器2①数据总线缓冲器。它是一个三态、双向8位寄存器,用于将8253与系统数据总线D0~D7相连。②读/写逻辑。③控制命令寄存器。它接受CPU送来的控制字。④计数器。8253有3个独立的计

4、数器(计数通道),其内部结构完全相同,定时器/计数器的内部结构:GATE16位当前计数值锁存器16位减一计数器16位计数初值寄存器&CLKOUTMSBLSBLSBMSB(减1至0时)装入/读出初值锁存后读出当前值8253的内部的各计数器的结构四.8253的端口寻址及基本操作CSRDA1WRA0传送方式00000001111000000011100110010101010写入计数器0的初始值写入计数器1的初始值写入计数器2的初始值写入控制寄存器控制字读自计数器0的OL读自计数器1的OL读自计数器2的OL五、8253的控制字格式:数制选择

5、SC1SC0M2RW1RW0BCDM0M1D7D6D5D4D3D2D1D0工作方式000方式0…101方式500计数器锁存命令10只读/写高八位01只读/写低八位11先读/写低八位再读/写高八位00选择计数器001选择计数器110选择计数器2读/写指示计数器选择关于的控制字说明:1、8253只有一个工作方式控制字,但是对每个计数器而言,它们的工作方式控制字内容一定各不相同(前两位不同),所用各计数器的控制字需要分别设置,先后不计。2、8253的工作方式控制字的特殊形式可用于对计数器的当前计数值进行锁存。3、在工作方式控制字被设置之后,

6、随后必须紧接着给计数器预设置计数初值,计数器方可开始工作。控制字SC1SC0M2RW1RW0BCDM0M1D7D6D5D4D3D2D1D000计数器锁存命令00选择计数器001选择计数器110选择计数器2计数器选择未用锁存计数器当前计数值控制字4.计数初值计数初值与输入时钟(CLK)频率及输出波形(OUT)频率之间的关系为:Ci=CLK/OUT或Tc=CLK/OUT5.8253初始化的工作有两个内容:(1)一是向命令寄存器写入方式命令,以选择器(3个计数器之一),确定工作方式(6种方式之一),指定计数器计数初值的长度和装入顺序以及计数

7、值的码制(BCD或二进制码)。(2)二是向已选定的计数器按方式命令的要求写入计数初值。例1:选择2号计数器,工作在3方式,计数初值为533H(2个字节),采用二进制计数。其初始化程序段为MOVDX,307H;命令口MOVAL,10110110B;2号计数器的初始化命令字OUTDX,AL;写入命令寄存器MOVDX,306H;2号计数器数据口MOVAX,533H;计数初值OUTDX,AL;选送低字节到2号计数器MOVAL,AH;取高字节送ALOUTDX,AL;后送高字节到2号计数器例2:要求读出并检查1号计数器的当前计数值是否是全“1”(

8、假定计数值16位/8位),其程序段为L:MOVDX,307H;命令口MOVAL,01000000B;1号计数器的锁存命令OUTDX,AL;写入命令寄存器MOVDX,305H;1号计数器数据口INAL,DX;读1号计数器的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。