微机原理与接口技术第8章_可编程计数定时器8253及其应用课程方案.ppt

微机原理与接口技术第8章_可编程计数定时器8253及其应用课程方案.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
皖西学院 机械与电子工程学院;8253工作原理:结构、引脚、工作方式 8253应用举例:定时功能、计数功能;第八章 可编程计数器/定时器 8253及其应用;软件定时是最简单的定时方法,它不需要硬件支持,只要让机器循环执行某一条或一系列指令,这些指令本身并没有具体的执行目的,但由于执行每条指令都需要一定的时间,重复执行这些指令就会占用一段固定的时间。 利用这种方法定时,完全由软件编程来控制相改变定时时间,灵活方便,而且节省费用。 但CPU的利用率太低,在定时循环期间,CPU不能再去做任何其它有用的工作,而仅仅是在反复循环,等待预定的定时时间的到来,这在许多情况下是不允许的。比如,对动态存储器的定时刷新操作,只要处于开机状态,就需要一直不停地进行下去,显然不能采用软件定时。; 555芯片是一种常用的不可编程器件,加上外接电阻和电容就能构成定时电路。这种定时电路结构简单,价格便宜,通过改变电阻或电容值,可以在一定的定时范围内改变定时时间。但这种电路在硬件已连接好的情况下,定时时间和范围就不能由程序来控制和改变,而且定时精度也不高。;用可编程定时器/计数器电路进行定时时,先要根据预定的定时时间,用指令对计数器/定时器芯片设定计数初值,然后启动芯片进行工作。 计数器一旦开始工作后,CPU就可以去做别的工作,等计数器计到预定的时间,便自动形成一个输出信号,该信号可用来向CPU提出中断请求,通知CPU定时时间已到,使CPU作相应的处理。或者直接利用输出信号去启动设备工作。 这种方法不但显著提高了CPU的利用率,而且定时时间由软件设置,使用起来十分灵活方便,加上定时时间又很精确,所以获得了广泛的应用。 系统也可以利用计数器/定时器芯片对外部事件进行计数。; Intel 8253就是一种能完成上述功能的计数器/定时器芯片,被称为可编程间隔定时器(Programmable Interval Timer,PIT)。;5. 可编程计数器/定时器8254;§8-1 8253的工作原理;1.数据总线缓冲器 ;2.读/写控制逻辑 ;注意: 如果8253与8位数据总线的微机相连,只要将A1A0分别与地址总线的最低两位A1A0相连即可。 如果系统采用的是8086CPU,则数据总线为16位。CPU在传送数据时,总是将低8位数据送往偶地址端口,将高8位数据送到奇地址端口。反之,偶地址端口的数据总是通过低8位数据总线送到CPU,奇地址端口的数据总是通过高8位数据总线送到CPU。当仅具有8位数据总线的存储器或I/O接口芯片与8086的16位数据总线相连时,既可以连到高8位数据总线,也可以接在低8位数据总线上。在实际设计系统时,为了方便起见,常将这些芯片的数据线D7~D0接到系统数据总线的低8位,这样,CPU就要求芯片内部的各个端口都使用偶地址(地址总线的A0=0)。应改用地址总线中的A2A1实现端口选择,即将A2连到8253的A1引脚,而将A1与8253的A0引脚相连。 ;CS;3.计数器0~2 ;每个通道工作时,都是对输入到CLK引脚上的脉冲按2进制或10进制(BCD码)格式进行计数,计数采用倒计数法,先对计数器预置一个初值,再把初值装入实际的计数器。 然后,开始递减计数。即每输入一个时钟脉冲,计数器的值减1,当计数器的值减为0时,便从OUT引脚输出一个信号。输出信号的波形主要由工作方式决定,同时还受到从外部加到GATE引脚上的门控信号控制,它决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计数脉冲是由外部事件产生的,这些脉冲的间隔可以是不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时钟脉冲。这时,8253所能实现的定时时间,决定于计数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预置的计数初值n;8253的3个计数器都各有3个引脚,它们是: CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输入。频率不能大于2MHz。 OUT0~OUT2:计数器0~2的输出端。 GATE0~GATE2:计数器0~2的门控脉冲输入端。;4.控制字寄存器;二、初始化编程步骤和门控信号的功能;⑵写入计数初值 用输出指令向选中的计数器端口地址中写入一个计数初值,初值可以是8位数据,也可以是16位数据。 若是8位数,只要用一条输出指令就可完成初值的设置。 如果是16位数,则必须用两条输出指令来完成,且先送低8位数据,后送高8位数据。注意,计数初值为0时,也要分成两次写入,因为在二进制计数时,它表示65536,BCD计数时,它表示10000。 ;例如,某微机系统的8253的3个计数器的端口地址分别为3F0H、3F2H和3F4H,控制字寄存器的端口地址为3F6H,要求

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档