2009-7-31 1
微机原理及应用第九章 计数器与定时电路微机原理及应用 —— 第 9章 计数器与定时电路 2
学习目的通过对本章的学习,您应该能够达到下列要求:
了解定时基本概念
熟悉可编程计数器 /定时器 8253的外部特性
熟悉可编程计数器 /定时器 8253工作模式
熟悉可编程计数器 /定时器 8253初始化微机原理及应用 —— 第 9章 计数器与定时电路 3
8253的外部特性
8253工作模式
8253初始化重 点微机原理及应用 —— 第 9章 计数器与定时电路 4
一、定时与计数定时中断、定时检测、定时扫描,对外部事件计数二,微机中的定时方法
软件定时 —— 延迟子程序
硬件定时 —— 用计数器 /定时器 8253
9.1 定时基本概念微机原理及应用 —— 第 9章 计数器与定时电路 5
例,软件定时的例子,
编写一个软件定时程序,要求定时 20ms.
假设,8086的时钟 =8MHz,一个时钟周期
T=1/8MHz=0.125us
延时 20ms,执行 PUSHF,POPF指令,
需要循环次数,N=20000/[(12+14+17)*0.125]
=37209
参考程序:
MOV CX,37209
PUSHF ;时钟数,14T
POPF ;时钟数,12T
LOOP ;时钟数,17
9.1 定时基本概念微机原理及应用 —— 第 9章 计数器与定时电路 6
8253外部特性与内部编程结构
计数器 /定时器 8253特点三个通道,可单独使用
片内寻址
A1 A0= 00,01,10,11
对应:通道 0,1,2和控制口地址
工作方式,6种
PIT(Programmable Interval Timer)
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 7
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 8
9.2 可编程计数器 8253
连接 系统端的 主要引线:
D7~ D0
CS
RD
WR
A1,A0
用于选择四个编址部件之一引线结构
A1 A0 选 择
0 0 计数通道 0
0 1 计数通道 1
1 0 计数通道 2
1 1 控制寄存器微机原理及应用 —— 第 9章 计数器与定时电路 9
9.2 可编程计数器 8253
计数通道 的主要引线(每通道均相同):
CLKn 时钟脉冲输入,计数器的计时基准。
GATEn 门控信号输入,控制计数器的启停。
OUTn 计数器输出信号,不同工作方式下产生不同波形 。
( n = 0~ 2)
微机原理及应用 —— 第 9章 计数器与定时电路 10
1.外部特性
与 CPU相连的信号,
数据线 D7~D0,读 RD,写 WR,片选 CS,地址线 A0,A1
8253
GATE0
OUT0
CLK0
5V
8088
CPU
1KHz
D0~7
8253运行原理图译码地址
M/IO
CS
WR
RD
A0A
1
A0A
1
WR
RD
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 11
1).数据总线缓冲器
往计数器设置计数初值;
从计数器读取计数值;
往控制寄存器设置控制字。
2).读 /写逻辑电路
A1 A0:端口选择
0 0:通道 0( 0号计数器)
0 1:通道 1( 1号计数器)
1 0:通道 2( 2号计数器)
1 1:控制字寄存器
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 12
3).控制命令寄存器 (8位 )
4).计数器,
三个独立通道,计数器 0,计数器 1,计数器 2
每个通道包含,
计数初值寄存器 (16位 )
减一寄存器 (16位 )
当前计数初值锁存器 (16位 )
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 13
思考题:
8253每个计数通道与外设接口有哪些信号线,
每个信号的用途是什么?
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 14
1)门脉冲控制时钟输入;
2)用门脉冲来重新启动计数;
3)用门脉冲停止计数;
4)单一计数;
5)循环计数,
计数器 /定时器的工作特点
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 15
3.计数初值
计数初值 n
=时钟频率 fc/输出频率 fout
=定时时间 Tout/时钟脉冲周期 Tc
4.编程命令
方式命令字
对 8253初始化
方式命令字的格式
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 16
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
M2 M1 M0 模式选择
0 0 0 模式 0
0 0 1 模式 1
/ 1 0 模式 2
/ 1 1 模式 3
1 0 0 模式 4
1 0 1 模式 5
0 0----对计数器进行锁存
0 1----只读 /写低 8位字节
1 0----只读 /写高 8位字节
1 1----先读 /写低 8位字节,
再读 /写高 8位字节,
0 0----选计数器 0
0 1----选计数器 1
1 0----选计数器 2
1 1----无意义
8253控制字格式
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 17
8253初始化方法,设置控制字;确定计数初值。
例,使 2号定时器,工作在方式 3,计数初值 =533h,二进制计数,试写出 8253初始化程序段,
8253端口地址,40H,41H,42H,43H
MOV AL,10110110B ;2号定时器,方式 3
OUT 43H,AL
MOV AX,0533H
OUT 42H,AL ;2号数据口
MOV AL,AH
OUT 42H,AL
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 18
8253的工作模式
方式 0—— 计数结束产生中断
一次定时或计数,重写初值,启动新一轮的计数
方式 1—— 可编程的单脉冲 (单稳 )触发器
GATE边沿触发,启动新一轮计数
方式 2—— 分频器 (速度波发生器 )
具有计数初值重装能力
方式 3—— 方波发生器
具有计数初值重装能力
方式 4—— 软件触发的选通信号发生器
一次定时,重写初值,启动新一轮的计数
方式 5—— 硬件触发的选通信号发生器
GATE边沿触发新一轮计数
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 19
1.方式 0—— 计数结束产生中断
(一次定时或计数,重写初值,启动新一轮的计数 )
微机原理及应用 —— 第 9章 计数器与定时电路 20
方式 0(计数结束中断)
计数过程中,GATE端应保持 高电平 。
每写入一次初值计数一个周期,然后停止计数。
OUT端输出是一个约 (N+1)TCLK宽度的负脉冲。
计数过程中可随时修改初值重新开始计数。
微机原理及应用 —— 第 9章 计数器与定时电路 21
例,使 1号定时器,工作在方式 0,计数初值 =0FF5h,二进制计数,试写出 8253初始化程序段,
8253端口地址,40H,41H,42H,43H
MOV AL,01110000B ;0号定时器,方 30
OUT 43H,AL
MOV AX,0FF5H
OUT 41H,AL ; 1号数据口
MOV AL,AH
OUT 41H,AL
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 22

2.方式 1_单脉冲触发器 (GATE边沿触发,启动新一轮计数 )
微机原理及应用 —— 第 9章 计数器与定时电路 23
方式 1(单稳态触发器)
门控信号 GATE端的跳变触发计数,可重复触发。
若下一次 GATE上升沿提前到达,则 OUT端负脉冲拉宽为两次计数过程之和。
计数过程中写入新初值不影响本次计数。
微机原理及应用 —— 第 9章 计数器与定时电路 24
3.方式 2----分频器 (具有计数 初值重装 能力 )
微机原理及应用 —— 第 9章 计数器与定时电路 25
方式 2(频率发生器)
GATE为计数的控制信号,GATE变低计数停止,
再变高时的下一个 CLK下降沿,从初值开始重新计数。
每个计数周期结束时(减到 1时),OUT端输出一个 TCLK宽度的负脉冲。
计数过程 自动重复 进行。
计数过程中修改初值不影响本轮计数过程。
微机原理及应用 —— 第 9章 计数器与定时电路 26
4.方式 3----方波发生器 (具有计数 初值重装 能力 )
微机原理及应用 —— 第 9章 计数器与定时电路 27
方式 3(方波发生器)
OUT输出方波,前半周期为高,后半周期为低。
计数过程中修改初值不影响 本半轮 计数过程。
其余的与方式 2 类似。
微机原理及应用 —— 第 9章 计数器与定时电路 28
例,使 0号定时器,工作在方式 3,计数初值 N=1000,二进制计数,试写出 8253初始化程序段,
8253端口地址,40H,41H,42H,43H
MOV AL,10110110B ;2号定时器,方式 3
OUT 43H,AL
MOV AX,1000
OUT 40H,AL ; 0号数据口
MOV AL,AH
OUT 40H,AL
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 29
4.方式 4----软件触发的选通信号发生器微机原理及应用 —— 第 9章 计数器与定时电路 30
方式 4(软件触发选通)
计数过程中,GATE端应保持 高电平 。
每写入一次初值,计数一个周期,然后停止计数。
每个计数周期结束时(减到 0时),OUT端输出一个 TCLK宽度的负脉冲。
计数过程中修改初值不影响本轮计数过程。
微机原理及应用 —— 第 9章 计数器与定时电路 31
5.方式 5----硬件触发的选通信号发生器微机原理及应用 —— 第 9章 计数器与定时电路 32
方式 5(硬件触发选通)
写入初值时,GATE端应保持 低电平 。
GATE每出现一次正脉冲,计数一个周期,然后停止计数。
每个计数周期结束时(减到 0时),OUT端输出一个 TCLK宽度的负脉冲。
计数过程中修改初值不影响本轮计数过程。
微机原理及应用 —— 第 9章 计数器与定时电路 33
思考题:
8253有几种工作方式?
什么是软件触发?什么是硬件触发?
可重装初值的工作方式是哪些?
9.2 可编程计数器 8253
微机原理及应用 —— 第 9章 计数器与定时电路 34
8253初始化方法
控制字
计数初值,
已知,CLK 的频率 fc与 定时的时间 t:
计数初值,n= fclk? t
例,设 8253,fc=1MHZ,最大计数初值:
N= 65536
一个定时器最大定时时间:
Tmax = N/fc=65536/ 106 =0.065536s
9.3 8253应用举例微机原理及应用 —— 第 9章 计数器与定时电路 35
例,设定时器 0、定时器 1工作于方式 2,外部提供一个时钟,频率 f=2MHZ。要求定时器 1每 5ms产生一个脉冲,定时器 0每 5s产生一个脉冲。
1),一个定时器的最大定时时间:
65536/( 2*106) =0.032768 s=32.768ms
2),将定时器 1的 CLK1接 2MHZ时钟,计数初值:
3).将定时器 1的 OUT1端接到定时器 0的 CLK0端,定时器 0
的计数初值,
1 0 0 052 0 05
2 0 0
105
1
00
30

sfn
HZ
ms
f
1 0 0 0 01025 6111 msftn
9.3 8253应用举例微机原理及应用 —— 第 9章 计数器与定时电路 36
地址译码
CPU
D7~D0
AB
8253
两个定时器串连使用
9.3 8253应用举例微机原理及应用 —— 第 9章 计数器与定时电路 37
8253初始化程序,
MOV AL,00110100B ;0号定时器,方式 2
OUT 43H,AL
MOV AX,1000
OUT 40H,AL
MOV AL,AH
OUT 40H,AL
MOV AL,01110100B ;1号定时器,方式 2
OUT 43H,AL
MOV AX,10000
OUT 41H,AL
MOV AL,AH
OUT 41H,AL
9.3 8253应用举例微机原理及应用 —— 第 9章 计数器与定时电路 38
时钟原理
82538259
GATE0
OUT0
CLK0
5V
8086
IR0
1.1931816MHz
INTINTR
INTA
D0~7 D0~78号中断图 2 时钟运行原理图
9.3 8253应用举例微机原理及应用 —— 第 9章 计数器与定时电路 39
思考题:
如何读出当前计数值?
微机原理及应用 —— 第 9章 计数器与定时电路 40
在计数过程中读计数值
先 锁存当前计数值,再用两条输入指令将 16位计数值读出。