十章节定时计数器与8253A.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

ktj823 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档