- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
十章节定时计数器与8253A
第十章 定时计数器和8253A
第一节 概述
一、定时信号
在预定的时间发送控制信号/时钟信号
1、用于计算机的检测,控制系统中使用。如定时刷新、定时采样、每隔一段时间读取数据
2、定时信号的产生方法
(1)软件方法:通过执行一段长度固定的循环程序实现(可控时间)
特点:容易实现,但占用cpu时间,系统工作效率低
如:
K1:……
.
.
Loop k1
(2)可编程的硬件定时方法
使用定时计数器的电路,每隔一段时间发出信号
特点:与cpu并行工作,提高了工作效率,但增加了硬件开销。
3、本章主要内容
定时计数器的基本原理
介绍8253A的芯片结构、功能、工作原理
8253A的应用
二、定时/计数器功能
(1)定时时间到发出控制信号;
(2)用于外部时间计数。
如自动化生产线,啤酒瓶,红外线探测器,每过几瓶打包一次
三、一般定时/计数器的工作原理
1、结构:
控制寄存器:用以写入控制字;
初值寄存器:用以存放定时或计数的初值;
输出寄存器:内容随计数部件而变化,CPU随时访问;
计数部件:是一个16位的减“1”计数部件,执行部件,CPU不能访问;
状态寄存器:记录定时器、计数器的当前工作状态。
2、工作原理:
初始化:确定控制字和计数初值后,过程如下:
(A)将计数初值R的内容送入计数部件CE;
(B)每当输入一个计数脉冲CLR后,CE减“1”计数;
(C)当CE-1=0时,则OUT引脚输出一个信号,同时状态寄存器置1,以示定时时间到或计数完毕;
(D)若采用循环计数,返回(A)。
注意:
计数器和定时器的工作完全相同,都是基于计数部件减“1”操作;
作为计数器的CLK一般可以为非周期的脉冲;
OUT信号可为中断请求信号;
在计数部件减“1”的计数过程中,CPU可以从数据输出寄存器读取相应的计数值。
3、定时/计数器的简单用途:
(1)在分时操作系统中,用以产生时间间隔;
(2)向I/O输出定时精确的控制信号;
(3)作为可编程的波特率发生器;
(4)统计外部事件的次数;
(5)实现时间延迟。
第二节 可编程的定时/计数器8253A
一、8253A的结构和引脚
1、8253A的编程结构
(1)控制寄存器:8位,存放写入的控制字;
(2)读写控制线路:接收CPU的控制信号,产生8253A的内部相关的读写控制信号;
(3)数据缓冲器:暂存CPU和8253A间传递的信号(包括控制字、计数初值、当前计数值);
(4)计数器0、计数器1、计数器2:用以定时和计数,它们彼此相互转换。
(5)每个计数器的计数部件有:CR(计数初值器)、CE(计数器执行部件)、OL(输出锁存器)。
(6)每个计数器部分引脚和外部联系:CLK(输入定时或计数时钟脉冲)、GATE(门控信号,用以控制CE计数方式和OUTi的输出数据)、 OUTi(计数器i的输出信号,定时时间到或计数完毕)。
(7)A1A0(计数器控制器选择信号)与地址线:A1A0的00、01、10、11组合,用以选择是访问计数器0、1、2,还是访问控制器,同时与片选、读写信号联合使用以读写等动作。
2、8253A的控制字
D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD
控制字的作用是选择定时/计数器的工作方式,R/W格式和计数方式。
(1)SC1、SC0
其组合决定选择那一个计数器,00、01、10分别对应计数器0、1、2,11为非法状态。
(2)RL1、RL0
其00、01、10、11组合为对CE锁存、读写低8位计数器的值、读写高8位计数器的值、先低后高读写16位计数器的值。
注意:读的是OL的内容,写的是计数器的初值。
(3)M2、M1、M0:
工作方式选择,000、001、X10、X11、100、101对应方式0到方式5。
(4)BCD
决定计数器是BCD码还是二进制,(0)二(1)BCD码。
3、8253A编程命令的设置
(1)编程命令的类型
(A)读命令(读取当前计数器值)
格式:IN AL,计数器地址
若超过8位,两次读取。
(B)写命令
设置控制字
格式:OUT 控制端口地址,控制字
设置计数初值
格式:OUT 计数器地址,AL
AL中即为初值。
设置锁存命令
格式:OUT 控制端口地址,AL
(2)设置编程命令的注意事项
(A)对计数器写入初值,一定要在写入控制字之后;
(B)计数器写入初值,要和控制字中的RL1、RL0一致;
(C)若初值为16位,则要用两条OUT指令先送低8位、后送高8位;
(D)在读计数值时,必须先用锁存命令将其锁存在OL中;
(E)在读计数值时,要和控制字RL1、RL0一致。
4
原创力文档


文档评论(0)