第10章 定时计数器8253分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章定时计数器8253/8254
基本内容:8253/8254的功能、编程结构和工作原理,掌握8253/8254的外部接线、编程和使用方法。
基本要求:了解8253/8254的编程结构、工作原理及模式;掌握8253/8254的编程应用。重点内容:8253/8254的编程结构、工作原理及模式和编程应用。
难点内容:8253/8254的编程结构和工作模式。
可编程控制接口芯片的学习要点:
(1)不强调对接口芯片内部电路原理的具体分析;
(2)侧重掌握接口芯片的外特性。
①主要引脚的名称及定义;
②内部逻辑结构框图及功能描述;
③控制字、状态字的组成及定义;
④工作方式的定义。
第一节概述
一、定时信号的获得
定时/计数技术用于构建微机系统的定时子系统。
所谓定时(计数)就是通过硬件或软件的方法产生一个时间基准,以此来实现对系统的定时或延时控制。
定时有三种主要方法:软件定时、纯硬件定时及可编程的硬件定时器/计数器。
(1)软件定时
使用延迟子程序
由于执行每条指令都需要时间,则执行一个程序段就需要一个固定的时间,通过适当地挑选指令和安排循环次数来实现软件的定时。
该方法要求完全占用CPU的时间,因而降低了CPU的利用率。
(2)纯硬件定时
采用固定的电路,如可以采用小规模集成电路555,外接电阻和电容构成单稳延时电路。这样的定时电路简单,而且通过改变电阻和电容,可以使定时在一定的范围内调整。但它由纯硬件来完成,给使用带来不便。
(3)可编程硬件定时器/计数器
这是目前在控制系统中广泛使用的方法,它通过编程来控制电路的定时值及定时范围,功能强,使用灵活。在计算机系统中,象定时中断、定时检测、定时扫描等等都是用可编程定时器来完成定时控制的。
Intel 8253/8254就是常用的可编程定时/计数器。8253最高工作频率2.6MHz,8254
最高工作频率为10MHz。
计数器/定时器的用处:
①作为中断信号
②输出精确的定时信号
③作为波特率发生器
④实现延迟
二、可编程计数器/定时器的工作原理
计数器/定时器的基本原理图
计数器/定时器可以有下面几种工作模式:
①计数结束产生中断
②可重复触发的单稳态触发器
③分频器
④方波发生器
⑤选通信号发生器
第二节可编程计数器/定时器8253 一、8253的编程结构
3个计数器,每个计数器内部有:
8位的控制寄存器
16位的计数初值寄存器
计数执行部件
输出锁存器
8253的编程结构
二、8253的工作原理
8253的工作原理图
1、计数器0,计数器1,计数器2
计数器0、计数器1、计数器2是三个完全独立、结构相同的计数器,每一个计数器都是由一个16位的可预置的减法计数器构成。每一个计数器都有CLK、GATE、OUT
三个引脚。
①每一个计数器都是由一个16位的可预置的减法计数器构成,计数器的初值n 由程序预置。
②CLK:计数脉冲输入端。每进入一个脉冲,计数器计数值就减1。
③OUT:脉冲输出端。当计数器计数值减到“0”时,就从OUT端输出一个信号,输出信号的波形取决于工作方式。
则:定时时间 = 时钟周期 (T) ×预置的计数器初值( n )
④GATE:门控信号端,当GATE为低电平时,禁止计数器工作;当 GATE为高电平时,才允许计数器工作。
2、数据总线缓冲器
功能:①往计数器设置初值
②从计数器读取计数值
③往控制寄存器设置控制字
3、读写逻辑电路
A1、A0 对计数器和控制寄存器寻址,A1、A0为:
00----计数器0,01----计数器1,10----计数器2,11----控制器RD 读信号,读取选中计数器的内容(计数值)
WR 写信号,向选中的计数器写入计数初值,或向选中控制器写入控制字
CS 片选信号,有效表明8253被选中。
4、控制寄存器
在8253初始化时,由CPU写入控制字来设置计数器的工作方式。
特点:只能写入而不能读出。
三、8253 的控制字和编程
1、编程——即对8253初始化
刚接通电源时,8253处于未定义的状态,需用程序将其设置为一个特定的模式,即初始化。
步骤:①写入控制字;②写入计数器初值。
注意:
①三个计数器应该分别初始化
②计数器一旦初始化之后,就在设置的模式下进行减1计数
2、控制字的格式
①SC1、SC0:这两位决定这个控制字是哪一个计数器的控制字
②RL1、RL0:设置数据读/写格式。在读取计数值时,可令RL1、RL0 = 00,先将
写控制字时的计数值锁存,然后再读取。
③M2、M1、M0:设置每个计数器的工作方式。
④BCD:用于选择每个计数器的计数制。在二进制计数时,计数初值的范围是
0000H~FFFFH,其中0000H是最大值,代表65536。在BCD码计数时,计数初值的范围中0000~9999,其中,0000是最大值,代表10000。
注意:最大计数为0000,不是FFFFH或9999。除方式3外,最小值都为1。
四、8253的工作模式
8253的基本规则:
①控制字写入时,进入初始状态
②初值写入后,要经过上升沿和一个下降沿,才开始计数
③在CLK的上升沿被采样
④在CLK下降沿,计数器作减1计数