nbhkdz.com冰点文库

第八章可编程计数器定时器_图文

时间:2019-02-15

第8章 可编程定时器/计数器8253A

重点:
1、计数器/定时器8253A的编程结构和工作原理 2、8253A控制寄存器的格式

3、8253A的工作模式
4、8253A的应用

1

8.1 概述
1、软件方法
一、定时信号 获得方法

设计延迟子程序 2、硬件方法 使用计数器/定时器

二、

软件
定时

1、特点

(1)节省硬件 (2)延时时间用指令的执行时间 拼凑, 较麻烦 (3)延时子程序执行时,CPU一 直占用,降低CPU利用率
2

2、适用场合:延时时间短,重复次数有限

三、
硬件

1、特点

1、编程简单

2、计数时不占用CPU

定时

2、适用场合:各种场合

8.2 8253的编程结构和工作原理
16位的计数初值寄存器 一、 编程 结构 2、8位的控制寄存器 1、3个计数器 16位的计数执行部件 16位的输出锁存器

8253的编程结构

1、8位的控制寄存器

2、16位的CR 备注: 一、编程结 构: 1、8位的控 制寄存器 2、16位的 计数初值寄 存器CR 3、16位的 计数执行部 件CE 4、16位的 输出锁存器 OL

3、16位的CE: 减法计数器 4、16位的OL: 锁存CE的内容

注:CR、CE、OL都为16位寄存器,也可作8位寄存器用

工作过程: 1、初值→ CR→CE, CE减1计数,OL跟随 CE变化,减到终值, OUT输出一信号。 2、锁存命令到来, OL锁存当前计数,当 计数被读走,OL又随 CE变化。

二、功能结构
设置初值 读取计数值 设置控制字 00:计数器0 01:计数器1 10:计数器2 11:控制寄存器 功 能

6

8253输入信号与各功能的对应关系

CS
0 0 0 0 0 0 0

RD
1 1 1 1 0 0 0

WR
0 0 0 0 1 1 1

A1A0 0 0 0 1 1 0 1 1 0 0 0 1 1 0

功 能 对计数器0设初值

对计数器1设初值
对计数器2设初值 设控制字或发锁存命令 读计数器0的计数值 读计数器1的计数值 读计数器2的计数值

注:1)CPU对控制字寄存器只能写,不能读。 2)A1A0 =11时,第一次写入的是控制字, 此后写入的是锁存命令。

CLK:时钟输入 GATE:控制计数器工 作的信号,在CLK的 上升沿被采样。

OUT:输出信号

设置计数通 道工作方式

三、控制寄存器的格式
SC1 SC0 RW1 RW0 M2 M1 M0 BCD 计数格 式选择 1:BCD计数 0:二进制计数

计 数 器 选 择

读写控制 00:选计数器0 01:选计数器1 10:选计数器2 11:无意义

000 :模式0 001 :模式1 模式选择 ×10:模式2 ×11:模式3 00:锁存计数器 100 :模式4 01:只读写低字节 101 :模式5 10:只读写高字节 11:先读写低字节 再读写高字节

9

8.3 8253的编程命令
一、编程要遵守的规则
1、设置初值前必须先写控制字; 2、初值设置要符合控制字中的格式规定。 3、输出锁存器的值必须先锁定,后读取。 二、编程命令 1、写入命令 设置控制字 设置初始值 锁存命令:配合读出命令

2、读出命令 :读取计数值
10

例1:设8253的端口地址为0120H~0126H,对计数器1编 程,使其工作于方式2,计数初值为2000H,计数按二进 制格式。编写初始化程序。
SC1 SC0 RW1 RW0 M2 M1 M0 BCD

0 MOV MOV OUT MOV MOV OUT MOV OUT

1

1

1

×

1

0

0

AL,74H DX,0126H DX, AL ;设控制字 DX,0122H AL,0 DX,AL ;先写低8位初值 AL,20H DX,AL ;再写高8位初值

例2:设8253的端口地址为40H~46H,对计数器0编程, 使其工作于方式3,计数初值为1234H,计数按二 进制格式。编写程序将计数值读到BX寄存器。 MOV OUT MOV OUT MOV OUT AL,36H 46H,AL AL,34H 40H,AL AL,12H 40H,AL ; 0011×110B ;设控制字 MOV AL,00H ;0000 ××××H OUT 46H,AL ;锁存命令 IN AL,40H MOV BL,AL ;先读低8位计数值 IN AL,40H MOV BH,AL ;再读高8位计数值

;先写低8位初值
;再写高8位初值

8.4 8253的工作方式
一、各种方式遵守的基本规则

1、控制字写入计数器时,所有的控制逻辑电路立即复位,
输出端OUT进入初始状态。

2、初值写入CR后,要经过一个时钟脉冲的上升沿和下降
沿,初值送入CE,CE从下一个时钟开始进行计数。

3、在CLK的上升沿对GATE进行采样。 4、在CLK的下降沿计数器进行计数。

13

二、8253工作方式
1、方式0-计数结束产生中断 特点:1)计数过程 ① OUT起始电平: 低电平。 ② 如GATE=1,计数到0,OUT变高,一直保持到新的 计数值写入。 ③ OUT在初值写入后经过N+1个时钟变为高电平。
14

2)启动计数方式 软启动:通过写入初值控制计数器的启动。 3)门控信号的影响 ① GATE=1时,CE获得初值后开始计数;

② 计数过程中GATE变低,计数暂停,OUT的状态不变, GATE变高后继续计数。

4)GATE=1时,写入新的初值对计数过程的影响

8位计数初值:写入新的计数初值后,计数器将按新初

值重新开始计数;
16位计数初值:写入第一个字节后,计数器停止,写入

第二个字节后,计数器按新初值开始计数。

5)GATE=0时,写入新的初值对计数过程的影响

①初值→CR,下一时钟周期初值从CR→CE,不计数; ②GATE变高,开始计数。再经过N个时钟OUT变为高电平。 ③GATE信号可作为启动定时的同步信号。

6)应用 主要用于事件计数,OUT输出可作为中断请求信号。 例:用8253A监视一个生产流水线,统计流水线上经过 的工件数量。工件从光源与光敏电阻之间通过时,在晶 体管的发射极上会产生一个脉冲,此脉冲作为8253A计 数通道0的计数脉冲。

注:入射光强,光敏电阻阻值减小,入射光弱,光敏电阻阻值增大

设8253A的地址为40H~46H。计数器0的初值为0000H。
主程序:MOV AL, 30H ;00110000B OUT 46H, AL ;设控制字 MOV AL, 00H OUT 40H, AL MOV AL, 00H OUT 40H, AL ;设初值 读数子程序: ROUNT:MOV AL, 0 OUT 46H, AL IN AL, 40H MOV BL, AL IN AL, 40H MOV BH, AL NEG BX ;0000××××B ;锁存命令 ;读计数值

2、方式1-可重复触发的单稳态触发器 特点:1)计数过程
① OUT起始电平:高电平。 ② 初值写入后,经一时钟 周期送CE。(不计数) ③ GATE上升沿到来,下一时钟脉冲OUT变低,开始计数。

④ 计数过程中,OUT维持低电平,计到0,OUT变高。
⑤ OUT输出宽度为N个CLK周期的单拍负脉冲。若再输出一单 拍负脉冲,须再次用GATE上升沿触发。

20

2)启动计数方式 硬件启动:GATE上升沿触发计数。 3)门控信号的影响

计数过程中,又有GATE上升沿触发,则OUT仍为低, 计数器重新计数,计到0, OUT变高。

4)写入新的初值对计数过程的影响

计数过程中写入新初值,计数过程不受影响,要等

GATE再次触发后,才按新的初值重新开始计数。

3、方式2-分频器
特点:1)计数过程
① OUT起始电平:高电平。 ② 写入初值后,如GATE=1, 计数器开始计数; ③计数到1,OUT变低,经过一个CLK周期,OUT恢复为高; 若GATE仍为高,计数器又开始重新计数。 ④如初值为N,则N个时钟周期为一个输出周期,N-1个正 脉冲,1个负脉冲。 ⑤时钟周期与输出周期的关系:N×TCLK=TOUT
23

2)门控信号的影响

① GATE=1:计数器为N分频器;GATE=0:计数停止。

② 在计数期间GATE变低,则OUT=1不变。GATE恢复为高 电平后下一个时钟从初值重新开始计数。
③ 硬件同步:通过硬件给出门控信号使计数器同步。

3)写入新的初值对计数过程的影响

① GATE=1,写入新初值不影响当前的计数过程,但 计数结束后,下一个计数周期按新的初值计数。 ② 写入新初值后,遇到GATE的上升沿,则结束当前计 数过程,从下一个时钟开始按新初值计数,初值减为 1前OUT一直维持高电平。 ③ 软件同步:通过写入初值使计数器同步。

4、方式3-方波发生器
特点:1)计数过程 该方式工作过程同 方式2,只是输出 脉宽不同。 N为偶数:输出高低电平均为N/2个CLK周期的方波; N为奇数:输出高电平宽度为(N+1)/2个CLK周期, 低电平宽度为(N-1)/2个CLK周期矩形波。 时钟周期与输出周期的关系:N×TCLK=TOUT
26

例:用8253控制扬声器的发音频率。
8253的地址为40H~46H,要求8253的定时器2输 出1KHZ的方波控制扬声器的发音频率,编写8253的 初始化程序,要求按二进制格式计数。
8253
GATE2 CLK2 OUT2 +5V 2MHZ

滤波

27

分析:由题意知8253的定时器2工作于方式3。 FCLK=2MHZ,Fout=1KHZ。
初始化程序: 因为 N×TCLK = TOUT MOV AL, 0B6H ;1011×110B 所以 N = TOUT / TCLK OUT 46H, AL ;设控制字 MOV AX, 2000 = FCLK / FOUT =2MHZ/1KHZ OUT 44H, AL MOV AL, AH =2000 OUT 44H, AL ;设初值 =7D0H

求初值N:

5、方式4-软件触发的选通信号 特点:1)计数过程 ① OUT起始电平:高电平

② 写入初值后,如果GATE=1,计数到0时,OUT输出 一个时钟周期的低电平,然后自动恢复成高电平。 ③ 软件触发:每进行一次计数过程须重装初值。 ④ 软件触发选通方式:OUT低电平持续时间为一个脉 冲周期,常用此负脉冲作为选通信号。
29

2)门控信号的影响
GATE=1:允许计数; GATE=0:计数停止。

① GATE=0停止计数,GATE=1重新从初值开始计数。 ② GATE电平变化不影响OUT的电平,只有计数到0, 才使OUT产生电平的变化。

3)写入新的初值对计数过程的影响

GATE=1,计数过程中写入新的初值,则立刻终止当前 计数过程,在下一个时钟下降沿按新初值开始计数。

6、方式5-硬件触发的选通信号
特点:1)计数过程 ① OUT起始电平:高电平 ② 写入初值后,计数器 并不计数。 ③ GATE上升沿到来后,下一时钟周期,初值移入CE, 开始计数,减到0,OUT变低,持续一个时钟周期变 高,并一直保持,直至下一个GATE上升沿到来。 ④ 硬件触发:计数初值可自动重装,但不计数,计数 过程的进行靠GATE触发。
32

2)门控信号的影响

① 计数过程中,GATE有上升沿,立即终止当前计数 ,下一个时钟周期从初值开始计数。

② 计数结束, GATE有上升沿,下一时钟周期,从初 值开始计数,不用重写初值。

3)写入新的初值对计数过程的影响

① 计数过程中写入新初值,如无GATE触发,不影响当 前计数。计数到0后,有GATE触发,按新初值计数。

② 计数过程中写入新初值后,有GATE触发,则立即按 新的计数初值重新开始计数。

三、注意问题 1、时钟周期与输出周期的区别
时钟周期:CLK周期。 输出周期:OUT输出波形的周期。

2、从输出端看,8253的工作方式
计数器方式:方式0、4; 定时器方式:方式1、2、3、5。

35

8.5 8253的应用举例
例1、用8253监视一个生产流水线,每通过100个工件。蜂鸣 器响6s,频率为1000HZ。 8253计数器0工作于方式2,采用二 进制格式计数,计数初值为100,8253的地址为40H~46H。 8255的地址为80H~86H,A口工作于方式0输出。

36

工件从光源与光敏电阻之间通过时,在晶体管的发射极上会产 生一个脉冲,此脉冲作为8253计数器0的计数脉冲,当通道0计 数满100后,由OUT0输出负脉冲,经反相后作为8259A的一个中 断请求信号,在中断服务程序中,启动8253计数器1工作,由 OUT1连续输出1000HZ的方波,持续6s后停止输出。

分析: 1)8253计数器0工作于方式2,采用二进制格式计数, 计数初值为100,则方式控制字为0001×100B。 计数器1工作于方式3,CLK1接2MHZ时钟,要求产生 1000HZ的方波,则计数初值应为2MHZ/1KHZ=2000, 则方式控制字为0111×110B。 2)8255A的A口工作于方式0,输出。

主程序
MOV AL,80H ;1000××××B OUT 86H,AL ;8255初始化 MOV AL,14H ;0001×100B OUT 46H,AL ;通道0初始化 MOV AL,100 OUT 40H,AL ;设计数初值 STI ;开中断 LOP: JMP LOP ;等待中断

39

中断服务程序
MOV AL,01H ;通道1的GATE1置1,启动计数 OUT 80H,AL MOV AL,76H ;0111×110B OUT 46H,AL ;通道1初始化 MOV AX,2000 OUT 42H,AL ;计数初值低8位 MOV AL,AH OUT 42H,AL ;计数初值高8位 CALL DL6s ;调延时6s子程序 MOV AL,00H ;通道1的GATE1置0,停止计数 OUT 80H,AL
40

例2、8253作为定时器的例子

41

系统的初始化程序段 : MOV AL,14H ;00 01 010 0B OUT 76H,AL ;将计数器0设置为模式2 MOV AL,LCNT OUT 70H,AL ;对计数器0设置计数初始值L(二进制) MOV AL,73H ;01 11 001 1B OUT 76H,AL ;将计数器1设置为模式1 MOV AX,MCNT OUT 72H,AL MOV AL,AH OUT 72H,AL ;对计数器1设置初始值M MOV AL,96H ;10 01 ×11 0B OUT 76H,AL ;将计数器2设置为模式3 MOV AL,NCNT OUT 74H,AL ;对计数器2设置初始值N

习题
1、常用的定时方法有哪几种?比较各自的优缺点。 2、可编程计数/定时器芯片8253有几个通道? 3、8253定时器0工作于方式3,定时器1 工作于方式2。要求定时器0的输出
8253 GATE0 GATE1 CLK0 OUT0 CLK1 OUT1 4HZ

+5V
4MHZ

脉冲作为定时器1的时钟输入,CLK0
连4MHz的时钟信号,定时器1输出 OUT1约为4Hz,试编8253的初始化程

序。 8253的地址为1070H~1076H,
按二进制格式计数。

43

提示:设计数器0的初值为N0,计 数器1的初值为N1,则: N0×Tclk0=Tout0 N1×Tclk1=Tout1 Tout0= Tclk1 所以 N0×N1=Fclk0/Fout1 =4MHZ/4HZ =106

8253
GATE0 GATE1 CLK0 OUT0 CLK1 +5V 4MHZ

OUT1

4HZ

4、编写8253的初始化程序,用8253控制扬声器的发音频率。 要求计数器2输出f=600HZ的方波,采用二进制计数方式。
74LS138 A5 A0 A7 A6 A4 A3 G1 G2 A Y0 G2B C B A 8253 GATE2 CS CLK2 OUT2 A1 A0 滤波 +5V 1.19MHZ

A2 A1

A7 0

A6 0

A5 A4 A3 A2 A1 1 0 0 × ×

A0 0


第八章可编程计数器定时器_图文.ppt

第八章可编程计数器定时器 - 文档均来自网络,如有侵权请联系我删除文档... 第八章可编程计数器定时器_计算机硬件及网络_IT/计算机_专业资料。文档均来自网络,如有...

第八章可编程计数器定时器8253_图文.ppt

第八章可编程计数器定时器8253 - 第8章 可编程定时器/计数器8253A 重

第八章 可编程计数器定时器8253及其应用_图文.ppt

第八章 可编程计数器定时器8253及其应用_电子/电路_工程科技_专业资料。第八

第八章 可编程定时器/计数器8254_图文.ppt

第八章 可编程定时器/计数器8254 - 主要是将EDA的,是我自己学习的课件... 第八章 可编程定时器/计数器8254 定时方法 l 微机系统中经常要用到定时信号。比如动...

第八章 计数器定时器接口技术_图文.ppt

第八章 计数器定时器接口技术 - 微机原理课程 本章内容 §8.1 基本概念 §8.2 8253A内部结构和引 脚§8.3 8253A的编程 §8.4 8253A的工作方式 §8.5 825...

微机原理第八章可编程计数器定时器8253及其应用_图文.ppt

微机原理第八章可编程计数器定时器8253及其应用 - 第八章 可编程计数器/定时

第8章 可编程定时计数器8253_图文.ppt

第8章 可编程定时/计数器8253 本章内容 ? 8.1 概述 8.1.1 定时/计数的基本概念 8.1.2实现定时和计数的方法 ? 8.2 可编程计数器/定时器8253 8.2.1...

第8章 可编程定时器计数器8253_图文.ppt

第8章 可编程定时器计数器8253 - 第8章 可编程计数器/定时器 8253/

第八章 定时器计数器接口课件_图文.ppt

第八章 定时器计数器接口课件 - 第八章 定时器/计数器接口 2011/10 东北大学计算机系统研究所 第八章 8.1 什么是定时和计数 8.2 8253/8254可编程定时/计数...

第八章 可编程计数器定时器8253及其应用(车辆)汇总_图文.ppt

第8章 可编程计数器定时器8253及其应用 定时与计数器的概念 定时器:在时钟信

第八章_可编程计数器定时器8253及其应用(车辆)._图文.ppt

第八章_可编程计数器定时器8253及其应用(车辆). - 第8章 可编程计数器定时器8253及其应用 定时与计数器的概念 定时器:在时钟信号作用下,进行定时的减 “1”...

第八章 可编程计数器定时器8253及其应用(车辆)_图文.ppt

第八章 可编程计数器定时器8253及其应用(车辆)_计算机硬件及网络_IT/计算机_专业资料。第8章 可编程计数器定时器8253及其应用 定时与计数器的概念定时器:在时钟...

微机原理 第八章 定时器计数器电路_图文.ppt

微机原理 第八章 定时器计数器电路 - 8-1 8.1 计算机中的定时和计数 ?

CH8 可编程计数器定时器8253及应用_图文.ppt

教材第八章内容 第8章 可编程计数器/定时器8253及应用 8-1 8253工作

可编程计数器定时器8253及其应用._图文.ppt

第八章 可编程计数器/定时器8253及其应用计算机系统中,实现定时或延时有三种方法: 软件定时 不可编程的硬件定时 可编程的硬件定时器 如延时子程序 如RC单稳态电路...

可编程计数器定时器_图文.ppt

可编程计数器定时器 - 第九章 实现定时功能的方法: (1)软件定时(延时) 可

第九章_可编程计数器定时器8253及其应用_图文.ppt

第九章_可编程计数器定时器8253及其应用 - 第九章 可编程计数器/定时器82

CH8 可编程计数器定时器8253及应用_图文.ppt

CH8 可编程计数器定时器8253及应用 - 教材第八章内容 第8章 可编程计数器/定时器8253及应用 8-1 8253工作原理 一、8253的内部结构与引脚信号 二、8253的初始...

微机原理 可编程计数器定时器8253及应用_图文.ppt

微机原理 可编程计数器定时器8253及应用 - 教材第八章内容 第八章 可编程计数器/定时器8253及应用 8-1 8253工作原理 一、8253的内部结构与引脚信号 二、8253...

可编程计数器定时器8253及其应用模板_图文.ppt

可编程计数器定时器8253及其应用模板 - 第八章 可编程计数器/定时器8253