- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 可编程定时、计数器及其应用
第12章 可编程定时器/计数器及其应用 本章主要内容 1. 计算机中定时、计数的基本技术; 2. 可编程计数器/定时器8253的结构及工作方式; 3. 8253的编程应用。 12.1 概述 实现定时的三种方法: 1. 软件定时 由CPU执行指令序列所花费的时间来构成一定的时间间隔,从而达到定时的目的。 例如: MOV CX , ××××H HERE: LOOP HERE 优点:不需要专门的硬件设备。 缺点: 浪费了宝贵的CPU资源。 2.不可编程的硬件定时 时序波形 稳态 td 触发信号 暂稳态 3. 可编程计数器/定时器 可用软件的方法(通过初始化编程)设定或调整定时范围。 典型产品: Zilog Z80-CTC Intel 8253(8254) 12.2 可编程计数器/定时器8253 12.2.1 8253 的主要功能 (1) 具有三个独立的16位计数通道; (2) 每个计数通道可按二进制或二-十进制计数; (3) 每个计数通道的计数速率可达2MHz; (4) 每个计数通道有六种工作方式; (5) 全部输入输出都与TTL电平兼容。 12.2.2 8253的结构 8253的内部结构框图如图12.1所示。 由图可见,它由与CPU的接口、内部控制电路以及三个计数器通道所组成。 1. 数据总线缓冲器 这是8253与CPU的数据总线(D7~D0)连接的8位双向三态缓冲器。 CPU用输入输出指令对8253进行读写操作时的所有信息都通过这个缓冲器传送。 2. 读/写逻辑 这是8253内部操作的控制电路,它从系统控制总线上接收输入信号,然后转换成8253内部操作的各种控制信号。 3. 控制字寄存器 当地址信号A1和A0都为1时,访问控制字寄存器。 控制字寄存器从数据总线上接收CPU送来的控制字,并由控制字的D7、D6两位的编码决定控制字写入哪个通道的控制寄存器中去。 由寄存在每个通道内的控制寄存器的内容决定该通道的工作方式,选择计数器是按二进制还是BCD数计数,并确定每个计数器初值的写入顺序。 4. 计数器0、计数器1、计数器2 这是三个计数器/定时器通道,每一个都由16位的可设置计数初值的减法计数器构成。 三个通道的操作是完全独立的。每个通道都有两个输入引脚CLK和GATE以及一个输出引脚OUT。 从编程的角度看,8253的结构框图如图12.2所示。 “控制寄存器”及“计数初值寄存器(CR)”可由CPU写入; “输出锁存器(OL)”可由CPU读出。 12.2.3 8253的引脚 8253的引脚如图12.3所示。 12.2.4 8253 的工作方式 8253的每个通道均可以通过编程选择6种工作方式之一: 1. 方式0——计数到零产生中断请求 (Interrupt on Terminal Count) 方式0的操作时序图如图12.4所示。 方式0的主要特点是: 计数器只计一遍而不能自动重复工作。 当减1计数到零时,并不自动恢复计数初值重新开始计数,且OUT输出保持为高电平。 只有CPU再次写入一个新的计数值(即使计数值相同也需再次写入),OUT才变为低电平,计数器按新写入的计数值重新开始计数。 或者CPU重新对8253设置方式0控制字,它的OUT输出也可以立即变为低电平,并等再次写入计数初值后重新开始计数。 (2) CPU向CR寄存器写入计数初值后的第一个CLK脉冲(即图中用斜线标出的那个脉冲),将CR的内容送入CE,从此之后计数器才开始减1计数。 这第一个CLK脉冲不包括在减1计数过程中。 如果设置计数初值为N,则输出OUT是在N+1个CLK脉冲之后才变为高电平。 (3) 在计数过程中,可由GATE信号控制暂停计数。 当GATE变低时,计数暂停; 当GATE变高后又接着计数。 其工作波形如图12.5所示。 (4) 在计数过程中也可改变计数值。 在写入新的计数值后,计数器将立即按新的计数值重新开始计数,即改变计数值是立即有效的。 当按新的
文档评论(0)