文档介绍:第十章定时与计数器
一、基本概念
二、定时/计数器 Intel 8253
三、IBM PC/XT 中的定时/计数器电路
四、应用举例
一、基本概念
1. 定时信号的需求:
在计算机系统中,经常要用到定时信号,比如:
•在许多个人计算机中,动态存储器的刷新定时;系统日历时钟的计时;
喇叭的声源;都是用定时信号来产生的。
•在计算机实时控制与处理系统中,计算机需要每隔一段时间采样一次,
再对采样的数据处理、控制,也要用到定时信号。
2. 定时信号的产生
定时信号的产生有两种方式:
•软件方法:延时子程序;
DELAY: PUSH AX
PUSH DX
MOV DX, 3FFH
TIME1: MOV AX, 0FFFFH
TIME2: DEC AX
NOP
JNE TIME2
DEC DX
JNE TIME1
POP DX
POP AX
RET
•硬件方法:不可编程的硬件定时;
可编程的硬件定时——用定时/计数器(简单的软件控制,
产生准确的时间延迟)。
可编程计数/定时器的主要思路:
首先由CPU(通过编程)设定好它的工作方式。
其开始工作后,CPU不必过问它的工作而去做其它的事情,当
它计数或定时到确定值时,可以自动产生一个输出。
优点:不占用CPU。
3. 可编程定时/计数器的工作原理
4. 可编程定时/计数器的功能
计数——在设定好计数初值后,做减 1 计数,减为 0 时,输出一个信号。
定时——在设定好计数初值后,做减 1 计数,并按定时常数不断输出
为时钟周期整数倍的定时间隔。
二、可编程定时/计数器 Intel 8253
原理
主要功能
•芯片上有三个独立的16位计数器通道;
•每个计数器可以按照二进制或BCD码格式计数;
•每个计数器的计数速率可达 2MHZ ;
•每个通道有 6 种工作方式,可有程序设置和改变;
•所有的输入输出都与 TTL 兼容。
(2) 结构
数据总线
缓冲器
读/ 写
逻辑
控制字
寄存器
计数器
0号
计数器
1号
计数器
2号
8位双向三态。用于与CPU交换信息。
•初始化时, CPU向其写入命令字, 计数值; • CPU读取计数值。
接收来自系统总线
的控制信号,以产
生控制整个芯片工
作的控制信号
初始化时,由CPU
写入控制字以决定
某通道的工作方式。
计数器/定时器通道。
由16位的可预置值的减法计数器构成。
管脚信号
D7~D0 数据总线(双向)
RD 读输入
WR 写输入
A0,A1 选择内部寄存器地址
CS 片选
CLK 输入脉冲(计数器即
对此脉冲计数)
GATE 门控信号输入(控制
计数器工作的外部信
号,为低时,禁止计
数器工作)
OUT 输出引脚(计数到0
时,OUT上必有输出,
输出信号的波形由
工作方式决定)
端口选择
控制字——在8253的初始化编程时,由CPU向8253的控制字寄存器
写入一个控制字,它规定了8253的工作方式。