十章 定时计数器和8253A.docx
- 文档编号:3441066
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:8
- 大小:18.67KB
十章 定时计数器和8253A.docx
《十章 定时计数器和8253A.docx》由会员分享,可在线阅读,更多相关《十章 定时计数器和8253A.docx(8页珍藏版)》请在冰豆网上搜索。
十章定时计数器和8253A
第十章定时计数器和8253A
第一节概述
一、定时信号
在预定的时间发送控制信号/时钟信号
1、用于计算机的检测,控制系统中使用。
如定时刷新、定时采样、每隔一段时间读取数据
2、定时信号的产生方法
(1)软件方法:
通过执行一段长度固定的循环程序实现(可控时间)
特点:
容易实现,但占用cpu时间,系统工作效率低
如:
K1:
……
.
.
Loopk1
(2)可编程的硬件定时方法
使用定时计数器的电路,每隔一段时间发出信号
特点:
与cpu并行工作,提高了工作效率,但增加了硬件开销。
3、本章主要内容
定时计数器的基本原理
介绍8253A的芯片结构、功能、工作原理
8253A的应用
二、定时/计数器功能
(1)定时时间到发出控制信号;
(2)用于外部时间计数。
如自动化生产线,啤酒瓶,红外线探测器,每过几瓶打包一次
三、一般定时/计数器的工作原理
1、结构:
控制寄存器:
用以写入控制字;
初值寄存器:
用以存放定时或计数的初值;
输出寄存器:
内容随计数部件而变化,CPU随时访问;
计数部件:
是一个16位的减“1”计数部件,执行部件,CPU不能访问;
状态寄存器:
记录定时器、计数器的当前工作状态。
2、工作原理:
初始化:
确定控制字和计数初值后,过程如下:
(A)将计数初值R的内容送入计数部件CE;
(B)每当输入一个计数脉冲CLR后,CE减“1”计数;
(C)当CE-1=0时,则OUT引脚输出一个信号,同时状态寄存器置1,以示定时时间到或计数完毕;
(D)若采用循环计数,返回(A)。
注意:
计数器和定时器的工作完全相同,都是基于计数部件减“1”操作;
作为计数器的CLK一般可以为非周期的脉冲;
OUT信号可为中断请求信号;
在计数部件减“1”的计数过程中,CPU可以从数据输出寄存器读取相应的计数值。
3、定时/计数器的简单用途:
(1)在分时操作系统中,用以产生时间间隔;
(2)向I/O输出定时精确的控制信号;
(3)作为可编程的波特率发生器;
(4)统计外部事件的次数;
(5)实现时间延迟。
第二节可编程的定时/计数器8253A
一、8253A的结构和引脚
1、8253A的编程结构
(1)控制寄存器:
8位,存放写入的控制字;
(2)读写控制线路:
接收CPU的控制信号,产生8253A的内部相关的读写控制信号;
(3)数据缓冲器:
暂存CPU和8253A间传递的信号(包括控制字、计数初值、当前计数值);
(4)计数器0、计数器1、计数器2:
用以定时和计数,它们彼此相互转换。
(5)每个计数器的计数部件有:
CR(计数初值器)、CE(计数器执行部件)、OL(输出锁存器)。
(6)每个计数器部分引脚和外部联系:
CLK(输入定时或计数时钟脉冲)、GATE(门控信号,用以控制CE计数方式和OUTi的输出数据)、OUTi(计数器i的输出信号,定时时间到或计数完毕)。
(7)A1A0(计数器控制器选择信号)与地址线:
A1A0的00、01、10、11组合,用以选择是访问计数器0、1、2,还是访问控制器,同时与片选、读写信号联合使用以读写等动作。
2、8253A的控制字
D7
D6
D5
D4
D3
D2
D1
D0
SC1
SC0
RL1
RL0
M2
M1
M0
BCD
控制字的作用是选择定时/计数器的工作方式,R/W格式和计数方式。
(1)SC1、SC0
其组合决定选择那一个计数器,00、01、10分别对应计数器0、1、2,11为非法状态。
(2)RL1、RL0
其00、01、10、11组合为对CE锁存、读写低8位计数器的值、读写高8位计数器的值、先低后高读写16位计数器的值。
注意:
读的是OL的内容,写的是计数器的初值。
(3)M2、M1、M0:
工作方式选择,000、001、X10、X11、100、101对应方式0到方式5。
(4)BCD
决定计数器是BCD码还是二进制,(0)二
(1)BCD码。
3、8253A编程命令的设置
(1)编程命令的类型
(A)读命令(读取当前计数器值)
格式:
INAL,计数器地址
若超过8位,两次读取。
(B)写命令
设置控制字
格式:
OUT控制端口地址,控制字
设置计数初值
格式:
OUT计数器地址,AL
AL中即为初值。
设置锁存命令
格式:
OUT控制端口地址,AL
(2)设置编程命令的注意事项
(A)对计数器写入初值,一定要在写入控制字之后;
(B)计数器写入初值,要和控制字中的RL1、RL0一致;
(C)若初值为16位,则要用两条OUT指令先送低8位、后送高8位;
(D)在读计数值时,必须先用锁存命令将其锁存在OL中;
(E)在读计数值时,要和控制字RL1、RL0一致。
4、8253A的工作方式
8253A共有6种工作方式,在具体分析时,注意计数的启动方式、门控信号的作用、OUT的输出波形。
■计数器的基本规则:
写入控制字后,OUT进入初始状态,方式0输出低电平,其余方式输出高电平。
■启动CE工作的两种方法:
软件启动:
在GATE=1时,每当初值N写入,经过一个CLK周期将N送入CE后,则CE开始减1计数。
硬件启动:
写入初值后,仅当GATE信号上升沿时,经过一个CLK周期将N送入CE后,则CE开始减1计数。
■计数方式:
分单一计数(方式0、1、4、5)和循环计数(方式2、3)。
单一计数:
每当CE减1计数为0时,OUT输出计数完毕/定时时间到信号,CE停止计数。
循环计数:
每当CE减1计数为0时,OUT输出计数完毕/定时时间到信号,CE重新计数。
■在CLK的上升沿采样GATE,在CLK下降沿CE减1
(1)方式0(计数结束中断方式)
工作过程:
写入控制字--OUT初值为0--计数值N到CR--计数值N到CE--CE开始减1计数直到为0--OUT为1,CE停止工作
特点:
(A)软启动,启动一次一轮计数;
(B)GATE信号作用控制CE是否对当前CLK进行计数;
(C)OUT信号写入初值后,经过N+1个时钟周期Tclk才变为高电平;
(D)若写入新的初值,停止上次计数,重新从新的初值开始计数。
(2)方式1(可重复触发的单稳态触发器)
工作过程:
写入控制字--OUT=1--写入计数值N—GATE信号跳变—N到CE—OUT=0—CE开始减1计数直到为0—OUT=1,CE停止计数。
特点:
(A)硬启动,启动一次一轮计数;
(B)GATE作用是作为启动信号;
(C)OUT输出一个宽度为N个Tclk的负脉冲。
(3)方式2(N分频器)
工作过程:
写入控制字--OUT=1--写入计数值N--N到CE--OUT=0--CE开始减1计数直到为0--OUT=1,CE重新计数。
特点:
(A)软硬启动,CE循环计数;
(B)GATE作为同步控制信号;
(C)OUT输出波形是重复的宽度为n*Tclk的负脉冲。
(4)方式3(方波发生器)
工作过程:
写入控制字--OUT=1--写入计数值N--N到CE--OUT=0--CE开始减1计数直到为0--OUT=0--CE开始减1计数直到为0--OUT=1……
特点:
与方式2类似,不同之处为:
(A)OUT输出波形是方波,周期为Tclk*N;
(B)N为偶数,前N/2为高电平,后N/2为低电平;
(C)N为奇数,前(N+1)/2为高电平,后(N-1)/2为低电平。
(5)方式4(软件触发选通)
与方式0相似。
工作过程:
……OUT初值=1—写入初值N--CE开始减1计数直到为0—OUT输出一个宽度为Tclk的负脉冲。
特点:
(A)启动一次,计数一次;
(B)写入N后,经过N+1个Tclk后,在OUT端输出一个电平宽为Tclk的脉冲。
(C)GATE的作用是:
由低到高变化或写入新的初值,CE重新开始计数。
(6)方式5(硬件触发选通)
工作过程:
与方式1类似。
……………………等GATE由低变高(硬件触发)---至0后OUT输出。
特点:
与方式4类似。
四、典型习题分析:
1、使用8253A用软件产生一次性中断,最好采用什么工作方式?
若将计数初值送到计数器0后经过20MS产生一次中断,应该如何编写程序段?
(设时钟频率CLK为2MHZ,8253A的端口地址为20H~23H)
分析:
产生一次性中断,只要单次计数,计数满发出中断请求信号即可,故最好使用方式0;已知CLK频率和输出延迟时间,故可以算出数据初值N=2*106*20*10-3=4000,因为N较大,选16位计数器。
程序如下:
MOVAL,00110000B
OUT23H,AL
MOVAX,4000
OUT20H,AL
MOVAL,AH
OUT20H,AL
STI
:
:
2、某微机控制系统(1MHZ)采用8253A每隔一分钟产生一次定时中断请求信号。
采用两个计数器串联的方法实现定时控制。
设IRQ2的中断类型码为0AH,中断服务程序的入口地址为INTR2,8253A的端口地址为50H~53H,试编制8253A的初始化程序,并把中断服务程序的入口地址送入中断向量表中。
分析:
因为Tclk0=1/1M=1微秒,OUT0无法输出1分钟的定时信号,为此对CLK0进行几分频,将计数器0与计数器1串联,OUT0输出信号作为CLK1输入时钟。
故有N0*N1=6*107,取n0=10000,n1=6000。
计数器0的方式控制字:
00110111B
计数器1的方式控制字:
01110110B
程序如下:
MOVAL,00110100B
OUT53H,AL
MOVAX,10000
OUT50H,AL
MOVAL,AH
OUT50H,AL
MOVAL,01110110B
OUT53H,AL
MOVAX,6000
OUT51H,AL
MOVAL,AH
OUT51H,AL
.
.
MOVBX,4*0AH
MOVAX,OFFSETINTR2
MOVDX,SEGINTR2
MOV[BX],AX
MOV[BX+2],DX
STI
HLT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十章 定时计数器和8253A 定时 计数器 8253