第12章定时计数器资料.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 定时/计数器 学习目标 通过本章的学习掌握定时/计数器8253的有关定时、计数的概念,掌握定时计数器8253的编程结构、工作方式、控制命令字的含义、初始化流程以及应用。 学习重点 定时计数器8253的编程结构、工作方式; 定时计数器8253的控制命令字的含义与格式、初始化流程; 定时计数器8253的应用。 12.1定时/计数概述 计算机的许多应用都与时间有关,例如实时时钟、定时中断、定时检测、定时扫描等。 因此,微机系统常常需要为处理机和外设提供时间标记,或对外部事件进行计数。例如,分时系统的程序切换,向外部设备定时周期性地输出控制信号,外部事件发生次数达到规定值后产生中断,以及统计外部事件发生的次数等,这些工作就需要靠定时/计数技术来实现。 1、定时器功能 定时器的功能就是在经过预选设置的时间后,将定时时间已结束的状态以一定的形式反映出来。 定时器在工作时,对时间的计时有两种方式:一是正计时,将当前的时间定时加1,直到与设定的时间相符时,提示设定的时间已到,如闹钟就是使用这种工作模式;另一种是倒计时,将设定的时间定时减1,直到为0,此时提示设定的时间已到,如微波炉烹调、篮球比赛等,就使用这种计时方式。 实现定时器的核心电路是计数器。计数器的用途广泛,利用计数器可记录某个事件的发生次数,即计数器的计数脉冲由外部某一事件触发产生,计数的结果也就反映了该事件发生的次数。例如,可将计数器用于生产流水线的产量记录,每个产品经过流水线的特定位置时,通过传感器产生一个计数脉冲,由计数器记录脉冲的个数,这个计数值就是产量。 若在某个应用中,输入到计数器的计数脉冲是频率恒定的时钟信号,那么,计数器的计数结果就能反映出计数所经过的时间的长短。例如:有一个4位二进制加一计数器,对计数器的输入端加入一个脉冲,计数值就加1。若输入的计数脉搏冲的频率为1Hz,则输入脉冲的周期T=1s。由此可知,计数值每增加1,所经过的时间就增加1s。如计数值为10(0AH),那么计数所经过的时间就为10s。 若将一个4位计数器开始工作的初值设为0,当计数器计数值达到15(0FH)时,再输入一个脉冲,计数器会就会溢出,同时将计数值又复位到初值。利用溢出信号可作为计数的结束信号,这样从计数开始到结束的时间就是确定的,当时钟脉冲为1Hz时,即为16s。用该时间作为定时时间,就实现了定时的功能。显然,只要对计数器设置不同的初值,就可实现不同的定时时间。如设初值为6,到计数溢出的整个定时时间就为10s。 在计算机应用中,定时器的计数功能可以用软件方法来实现,也可用硬件电路来实现,或采用软件与硬件结合的方式实现。 从定时、计数问题还可以引出或派生出一些其他概念和术语。例如,如果把计数和定时联系起来,就会引出频率的概念。如上述,采集数据的次数,再加上时间,就会引出每秒钟采集多少次,即采样频率。由频率可以引出声音,频率高,声音的音调高;频率低,声音的音调低。如果不仅考虑发生频率的高低,还考虑发声所占时间的长短,就会引出音乐的概念。把音调的高低和发声的长短巧妙地结合起来,便产生了美妙动听的音乐。 2、微机系统定时的分类 微机系统的定时,可以分为两类:内部定时和外部定时。 ⑴内部定时:内部定时是计算机本身运行的时间基准,它使计算机每种操作都按照严格的时间节拍执行。 ⑵外部定时:外部定时是外部设备实现某种功能时,在外设与CPU之间或外设与外设之间的时间配合。 ⑶两者区别:内部定时以由CPU硬件结构确定了,有固定的时序关系,无法更改。外部定时则由于外设和被控对象的任务不同,功能各异,无一定模式,因而往往需要用户自己设定。 3、微机系统的定时方法 为获得所需要的定时,要求准确而稳定的时间基准,产生这种时间基准通常采用两种方法——软件定时和硬件定时。 ⑴软件定时 所谓软件定时,就是利用CPU内部定时机构,使每执行一条指令需要若干个指令周期的原理,运用软件编程,让机器循环执行一段程序,而得到一个固定的时间段,就将这段时间作为定时时间。软件定时的时间长短完全取决于指令的执行时间,通过正确地选择指令和安排循环次数很容易实现软件定时。此方法主要用于短时间定时。 例1采用软件方法设置一个502μs的定时时间。 可编制如下的子程序段用于软件定时。 DELAY: MOV BL,64H ;1μs DL1: NOP ;1μs NOP ;1μs DEC BL ;1μs JNZ DL1 ;2μs RET ;1μs 在该程序段中,采用减1指令(DEC)实现减1计数,计数初值100(64H)预先设置在寄存器BL中,各指令的执行时间如程序段中的注释所示。软件定时的时间可由各指令的执行时间以及循环次数1

文档评论(0)

502992 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档