内容正文:
微机原理与接口技术
(第2版 )
第8章 定时/计数技术
8.1 定时/计数技术概述
8.2 可编程定时/计数器8253
8.3 定时/计数器8253的应用及实例
8.1 定时/计数技术
8.1 定时/计数技术概述
在计算机中,计数的实质是记录脉冲个数。计数对象脉冲不一定要求是周期信号。
定时就是在预定时间产生的有关信号。在计算机中,定时是通过累计计时单元获得的,即定时的本质就是计数,且定时所计脉冲是标准的周期脉冲。
8.1 定时/计数技术概述
有3种方法:软件定时、不可编程的硬件定时和可编程的硬件定时/计数方法。
软件定时:通过CPU执行一段延时程序达到定时目的的。延时完毕,用OUT指令输出一个控制信号。
不可编程的硬件定时:数字计数器如74LS393。
可编程定时/计数器:定时值及计数范围可以由软件来设定和改变。如Intel 8253可编程定时/计数器芯片。
8.2 定时/计数器8253
8.2.1 定时/计数器8253的外部引脚及内部结构
1.Intel 8253的外部引脚
D7~D0:双向三态数据总线
RD#和WR#:读和写控制线CS#:片选线。
A1、A0:地址选择线、CLK0~CLK2:计数时钟输入
GATE0~GATE2:门控信号
OUT0~OUT2:输出信号
图8.2.1 Intel 8253外部引脚图
8.2.1 定时/计数器8253的外部引脚及内部结构
8253的内部计数器和控制寄存器的地址编码选择信号
CS# A1 A0 端口选择
0 0 0 计数器0
0 0 1 计数器1
0 1 0 计数器2
0 1 1 控制寄存器
1 x x 未选中
8.2.1 定时/计数器8253的外部引脚及内部结构
2.Intel 8253的内部结构
图8.2.2 Intel 8253内部结构
8.2.1 定时/计数器8253的外部引脚及内部结构
2.Intel 8253的内部结构
1)数据总线缓冲器
2)读/写控制逻辑
3)控制寄存器
4)计数器
3个结构完全相同而又相互独立的16位减“1”计数器,每个计数器有6种工作方式。
8.2.2 可编程定时/计数器8253的基本工作原理
◆ 内部包含3个功能完全相同的16位计数器,每个计数器内含1个16位的初值寄存器、减1计数器和1个16位的锁存器。
◆ 作为计数器使用时,应将要求计数的次数预置到该计数器中,被计数的事件应以脉冲方式从CLK端输入。
◆作为定时器使用时,由CLK输入一定频率的时钟脉冲。作为定时器时,计数器的初值(即定时系数)应根据要求定时的时间进行如下运算。
定时系数=需要定时的时间/时钟脉冲周期
8.2.3 可编程定时/计数器8253的工作方式
3个16位计数器能够工作在以下6种方式。
(1)方式0:计数结束产生中断。
(2)方式1:可编程单拍脉冲。
(3)方式2:频率发生器。
(4)方式3:方波发生器。
(5)方式4:软件触发选通。
(6)方式5:硬件触发选通。
8.2.3 可编程定时/计数器8253的工作方式
1.Intel 8253的控制字
3个控制字寄存器,只占一个公用地址A1A0=11。采用高两位(D7D6)来选择计数通道。
控制字的D5D4规定计数器计数值(初值)的读写格式。
控制字的D3D2D1三位用于规定计数通道的工作方式,选择6种工作方式之一。
计数数制可以是二进制,也可以是BCD码。控制字的D0位即用于选择计数数制。
计数器是减1操作,当初始计数值为0000时,计数值为最大。
8.2.3 可编程定时/计数器8253的工作方式
1.Intel 8253的控制字
图8.2.3 Intel 8253控制字格式
8.2.3 可编程定时/计数器8253的工作方式
2.Intel 8253的工作方式说明
1)方式0—计数结束产生中断
计数器减为“0”后,OUT引脚输出一个由低电平到高电平的跳变信号,它可作为中断请求信号。
图8.2.4第一个OUT的输出是执行以下指令时的操作时序。
MOV AL,10H ;00010000B→AL
MOV DX,203H ;控制字地址
OUT DX,AL ;写入控制字寄存器
MOV AL,04H ;00000100B→AL
MOV DX,200H ;计数器0地址
OUT DX,AL ;向计数器0写初值
8.2.3 可