- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章可编程定时计数控制器要点
第10章 可编程定时/计数控制器; 定时与计数技术在计算机系统中具有极其重要的作用。微机系统都需要为CPU和外部设备提供定时控制或对外部事件进行计数。例如,分时系统的程序切换,向外部设备输出周期性定时控制信号,定时时间到发出中断申请或外部事件统计达到规定值发出控制信号或提出中断请求等。因此微机系统都必须有定时技术。
为获得稳定准确的定时,必须有稳定准确的时间基准。定时的本质是计数,把若干小片的时间单元累加起来,就获得一段时间。
定时的方法可以采用软件或硬件两种。;1. 软件定时方法
软件定时方法利用CPU执行指令需要若干指令周期的原理,运用软件编程,循环执行一段程序产生延时,配合简单输出接口向外送出定时控制信号。这种方法优点是不需要增加硬件或硬件很简单,只需要编制相应的延时程序以备调用。缺点是执行延时程序会增加CPU的时间开销,浪费CPU的资源。;2. 硬件定时方法
硬件定时有专用的多谐振荡器件或单稳器件。使用这些定时器件获得定时的缺点是改变定时要改变硬件,所以使用很不方便。目前在微机系统中都采用可编程通用定时器/计数器芯片。这种可编程芯片(1)使用灵活、定时时间长,改变定时时间或工作方式只要改变编程控制参数即可;(2)初始化编程后,就按设定的方式工作,不再占用CPU的资源。通用定时器/计数器芯片种类很多。生产微处理器公司,都推出自己的定时/计数器芯片。PC/XT机使用8253-5,而PC/AT使用8254-2。本章将对Intel 8253/8254定时/计数器芯片进行讨论。; 8253和8254的引脚和操作方式完全一样。Intel先推出8253,在8253的基础上稍加改进又推出8254。8254的改进体现在两方面:首先,8254的计数频率比8253更快,8253可以从直流到5MHz,而8254-2可达10MHz。另外,8254将8253控制字的最高两位D7D6=11的不用状态,设置成一种有效控制字,称为读回命令。;
Intel 8253是一片具有3个独立16位计数器通道的可编程定时器/计数器芯片。每个通道都可以编程设定6种工作方式中的一种;每个计数器可设定为按二进制计数或BCD码计数,最高计数速率可达2.6MHz;使用单+5V电源,具有24条引脚双列直插式封装的大规模集成电路芯片;所有输入输出引脚都与TTL兼容。
8253的读/写操作对系统时钟没有特殊的要求,可以应用于由任何一种微处理器组成的系统中,作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。; Intel 8253有3个独立的16位计数器,每个计数器都可以按照二进制或BCD码进行计数,计数速率可达2MHz(8254为10MHZ),每个计数器有6种工作方式,可编程设置和改变。它可用在多种场合,如方波发生器、分频器、实时时钟、事件计数等方面。
10.2.1 Intel 8253的内部结构
8253内部由数据总线缓冲器、控制字寄存器、计数器和读写控制逻辑4部分组成。其内部结构如图10.1所示。;;(1)数据总线缓冲器
它与CPU的数据总线相连,是8位双向三态缓冲器。CPU通过缓冲器对8253进行读计数器当前计数值和写计数初值及设置8253的工作方式。
(2)控制字寄存器
此寄存器只能写入而不能读出。在8253初始化时,由CPU写入控制字来设置计数器的工作方式。当A1A0=11B时,访问控制字寄存器,它从数据总线上接收CPU送来的控制字,并由控制字的D7D6的编码决定控制字写入哪个计数器的控制寄存器,其余位数决定相应计数器通道的工作方式、选择计数器是按二进制或BCD码计数、并选择相应计数器初值的写入顺序。 ;(3)计数器
计数器0、计数器1、计数器2是三个完全独立、结构相同的计数器,都是由16位可预置的减法计数器构成。
每个计数通道都有CLK和GATE两根输入引脚和OUT一根输出引脚。从编程的角度看,每个计数通道的结构如图10.2所示。;;每个计数器通道,都包含一个用来接受初始计数值的16位计数寄存器CR,一个16位的计数器单元CE,一个用来锁存CE内容的16位的输出锁存器OL。CE的初值由CR的初始值装入,并执行从CLK引脚输入的CLK脉冲的减1计数的任务,但CPU不能直接访问CE。
计数器的初始值必须在开始计数之前,由CPU用输出指令预置入计数寄存器CR内。每个计数器单元CE都可对其CLK输入端的输入脉冲,按照二进制或BCD码从预置的初始值开始进行减1计数。当预置的初始值减为零时,从OUT引脚输出一个电平或脉冲信号。 ;在计数开始和计数的过程中,计数器可以由GATE引脚输入的门
原创力文档


文档评论(0)