计数器与定时器教学课件PPT.ppt

上传人:laozhun 文档编号:2976917 上传时间:2023-03-07 格式:PPT 页数:45 大小:522.02KB
返回 下载 相关 举报
计数器与定时器教学课件PPT.ppt_第1页
第1页 / 共45页
计数器与定时器教学课件PPT.ppt_第2页
第2页 / 共45页
计数器与定时器教学课件PPT.ppt_第3页
第3页 / 共45页
计数器与定时器教学课件PPT.ppt_第4页
第4页 / 共45页
计数器与定时器教学课件PPT.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《计数器与定时器教学课件PPT.ppt》由会员分享,可在线阅读,更多相关《计数器与定时器教学课件PPT.ppt(45页珍藏版)》请在三一办公上搜索。

1、微机原理及接口教学课件,第9章定时计数控制器,本章主要内容 8253 的引脚和 6 种工作方式 8253 的编程 8253 在IBM PC系列机上的应用,定时器和计数器,定时控制在微机系统中极为重要定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器,定时功能的实现方法,用软件实现延时利用微处理器执行一个延时程序段实现用硬件实现定时采用不可编程器件如分频器、单稳电路、简易定时电路;采用可编程器件采用可编程的定时/计数芯片和软件硬件结合的办法构成灵

2、活的定时电路,可在不同的时间段内采用不同的定时策略。,9.1 8253/8254定时计数器,3个独立的计数器通道,每个计数通道16位,可进行:定时对引脚上输入的周期性时钟信号进行计数计数对引脚上输入的非周期性脉冲信号进行计数每个计数器有 6 种工作方式可按二进制或十进制(BCD码)进行计数每个计数器的计数速率可高达2MHz(8254-2计数频率可达到10MHz)。,8254是8253的改进型二者差别很小,一、8253的内部结构和引脚,引脚,D7D0:8位、双向、三态数据线,直接和系统数据总线相连。读/写16位数据则分两次进行。CS:片选信号,低电平有效。RD,WR:读信号,写信号,低电平时有效

3、。A1,A0:8253端口选择线。0010分别选择计数器02,11选择控制端口。CLK0CLK2:分别是计数器02计数脉冲输入端,决定计数的速率。GATE0GATE2:分别是计数器02门控输入端,作为对计数允许/禁止的控制。OUT0OUT2:分别是计数器02的输出端,反映计数器的计数状态。,8253/8254的I/O地址,功 能,对计数器0设置计数初值,-CS,-RD,A1,A0,-WR,对计数器1设置计数初值,对计数器2设置计数初值,设置控制字,从计数器0读出计数值,从计数器1读出计数值,从计数器2读出计数值,计数器(通道)内部结构示意图,预置寄存器,GATE,CLK,OUT,减1计数器,输

4、出锁存器,计数器工作描述,预置寄存器用于存放计数初值,注意:可采用二进制或十进制(BCD码)计数初值为0时,计数值最大(65536/10000)计数初值为1时,计数值最小(1/1)减法计数器CLK引脚每收到一个脉冲,减法计数器将减1。注意,预置寄存器中的预置值不会改变。输出锁存器用于锁定当前的计数值,这样CPU在读取时,该值将不再变化,计数器的3个引脚,CLK(时钟)输入,在计数过程中,此引脚上每输入1个时钟信号(下降沿),计数器的计数值将减1GATE(门控)输入,控制计数器工作:开启/关闭计数高电平时允许计数通道工作触发/重触发上升沿产生触发或重触发OUT(计数器输出)输出,根据设置工作方式

5、的不同,OUT引脚可输出单个或连续的波形信号。一般是在计数过程结束时(计数值归0),OUT引脚信号发生变化。,二、8253/8254的工作方式,方式0 计数结束中断方式1 可编程单稳方式2 连续负脉冲发生器方式3 连续方波发生器方式4 软件触发选通方式5 硬件触发选通,1、方式0:计数结束中断,GATE,OUT,CLK,0,3,1,2,4,写入4,写入方式0,-WR,GATE:开关作用,方式0 计数结束中断,在这种方式下,当控制字CW(Control Word)写入控制字寄存器,则使OUT输出端变低,此时计数器没有赋予初值,也没开始计数。要开始计数,GATE信号必须为高电平,并在写入计数初值后

6、,通道开始计数,在计数过程中 OUT线一直维持为低,直到计数到“0”时。OUT输出变高。,2、方式1:可编程单稳脉冲,GATE,OUT,CLK,0,3,1,2,4,写入4,写入方式1,-WR,GATE:触发作用,方式1 可编程单稳脉冲,在这种方式下,当CPU写控制字之后(的上升沿),输出将保持为高(若原为低,则由低变高)。当CPU写完计数值后,计数器并不开始计数,直到外部门控脉冲GATE启动之后的下一个输入CLK脉冲的下降沿开始计数,输出OUT变低。因整个计数过程中,OUT都维持为低,直到计数到0,输出变为高,因此,输出为一个单拍脉冲。若外部再次触发启动,则可以再产生一个单拍脉冲。,3、方式2

7、:频率发生器(分频器),0,3,1,2,4,GATE,OUT,CLK,写入4,写入方式2,0,3,1,2,4,0,3,1,2,4,0,3,1,2,4,-WR,GATE:开关作用,方式2 频率发生器(分频器),在这种方式下,当CPU输出控制字后,输出将为高。在写入计数值后,计数器将立即自动对输入时钟CLK计数。在计数过程中输出始终保持为高,直至计数器减到1时,输出将变低,经过一个CLK周期,输出恢复为高,且计数器开始重新计数。,4、方式3:方波发生器,0,3,1,2,4,GATE,OUT,CLK,写入4,写入方式3,0,3,1,2,4,0,3,1,2,4,0,3,1,2,4,-WR,GATE:开

8、关作用初值N为偶数:N/2脉冲数输出高,N/2脉冲数输出低初值N为奇数:(N+1)/2脉冲数输出高,(N-1)/2脉冲数输出低,方式4 软件触发选通信号,GATE,OUT,CLK,0,3,1,2,4,写入4,写入方式4,2,3,写入3,1,0,-WR,GATE:开关作用,5、方式4:软件触发选通信号,在这种方式下,当写入控制字后,输出为高(原为高则保持为高,原为低则变为高)。当写入计数值后立即开始计数(相当于软件启动),当计数到0后,输出变低,经过一个输入时钟周期,输出又变高,计数器停止计数。这种方式计数也是一次性的,只有在输入新的计数值后,才能开始新的计数,方式5 硬件触发选通信号,GATE

9、,OUT,CLK,0,3,1,2,4,写入4,写入方式5,2,2,3,3,写入3,1,1,0,-WR,GATE:触发作用,重触发:装计数值,触发,6、方式5:硬件触发选通信号,在这种方式下,设置了控制字后,输出为高。在设置了计数值后,计数器并不立即开始计数,而是由门控脉冲的上升沿触发启动。当计数到0时,输出变低,经过一个CLK脉冲,输出恢复为高,停止计数。要等到下次门控脉冲的触发才能再计数,各种工作方式的输出波形,方式 0,方式 1,方式 2,方式 3,方式 4,方式 5,0,N,0,N,0,N,0/N,1,1,0,N,N/2,N/2,0/N,0,N,0 1,N,0 1,N,0 1,6种工作方

10、式共同点,写入计数初值之后,并不马上开始计数,只有检测到GATE信号有效,经过一个CLK周期,把计数初值送到减1计数寄存器,才开始作减1操作。OUT端随着工作方式的不同和当前计数状态的不同,一定有电平输出变化,而且输出变化均发生在CLK的下降沿。OUT的输出波形在写控制字之前为未定态,在写了控制字之后到计数之前为计数初态,再之后有计数态、暂停态、结束态等。对于给定的工作方式,门控信号GATE的触发条件是有具体规定的,或电平触发,或边沿触发,或两者均可,门控信号GATE的性能,6种工作方式不同点(1),方式0和方式4都是由软件触发(写入计数初值)启动计数,无自动重装入计数初值能力,除非再写初值。

11、门控信号GATE高电平时,减1计数器减1;低电平时,减1计数器停止计数。它们的区别是:方式0在计数过程中OUT输出为低电平,计数结束时变为高电平,并一直保持;方式4在计数过程中OUT输出为高电平,计数结束时输出一个宽度为一个TCLK的负脉冲,以后又保持高电平。,6种工作方式不同点(2),方式1和方式5均是硬件触发(GATE上升沿)启动计数。写入初值之后,在门控信号GATE的上升沿触发下,初值写入减1计数寄存器,开始计数,并且GATE只在上升沿起作用。它们的区别是:方式1在计数过程中OUT输出一个宽度为计数初值乘以TCLK的单相负脉冲;方式5是在计数结束后OUT输出一个宽度为一个TCLK的负脉冲

12、。,6种工作方式不同点(3),方式2和方式3的共同点是具有自动重装入计数初值的能力,都是频率发生器(分频器)。它们的区别是:方式2输出占空比为(n-1):1的矩形波信号,而方式3输出方波(或近似方波)信号。,9.2 8253/8254的编程,8253加电后的工作方式不确定,必须经初始化编程后,才能正常工作初始化编程:先写入控制字再写入计数初值工作后,可随时读取计数值:一般先将计数值锁存在通道内的锁存器中然后可分两次读取16位的计数值8254 新增的读回命令,1 写入方式控制字,控制字写入控制字I/O地址(A1A011),00 计数器001 计数器110 计数器211 非法,00 计数器锁存命令

13、 01 只读写低字节10 只读写高字节11 先读写低字节 后读写高字节,000 方式0001 方式1010 方式2011 方式3100 方式4101 方式5,0 二进制 1 十进制,2 写入计数初值,选择二进制时计数范围:1H10000H初值写入0时计数最大(65536/10000H)选择十进制(BCD码)时计数范围:110000初值写入0时计数最大(10000),计数值写入计数器各自的 I/O地址,3 读取计数值,对8位数据线,读取16位的计数值,需要分两次进行由于计数在不断进行,故应将当前计数值先行锁存,然后再读取:向控制字I/O地址写入锁存命令从计数器I/O地址读取被锁存的计数值3 种读

14、取方式:只读低8位只读高8位先低后高,读取计数值时要注意格式和数制,例1:8253的初始化,例:要求计数器0工作于方式3,输出方波的重复频率为2KHz,计数脉冲输入为2.5MHz,采用BCD码计数,试写出初始化程序段。,计算计数初值:TC=2.5MHz/2KHz=1250方式字为:0011 0111B=37H(计数器0,写16位,方式3,BCD计数)设端口地址为:80H、81H、82H、83H。,;写入方式控制字MOV AL,37HOUT 83H,AL;写入计数初始值低8位MOV AL,50HOUT 80,AL;写入计数初始值高8位MOV AL,12H OUT 80H,AL,例2:定时器,计数

15、器0定时10ms,clk时钟200Khz,请初始化,分析:clk200k,t5us,所以n10ms/5us2000,MOV AL,00110001B;写入方式控制字MOV DX,307HOUT DX,ALMOV AL,0H;写入计数初始值低8位MOV DX,304HOUT DX,ALMOV AL,20H;写入计数初始值高8位OUT DX,AL,9.3 8253的应用,例3:用8253-5监视一个生产流水线,:设计要求及设计方案,使用8253-5监视一个生产流水线,每通过50个工件,扬声器响5秒钟,频率2000Hz。用8253-5的通道0设定为计数方式计数,计数满50后,由OUT0输出一个负脉冲

16、,经反向后作为8259A的中断请求信号,在中断服务程序中,启动8253-5通道1工作,有通道1连续输出频率为2000Hz的方波信号,持续5秒后结束。通道0工作于方式2,通道1工作于方式3,通道1的门控信号GATE1由8255A的PA0控制。,:控制字设置,通道0计数器工作于方式2,采用BCD计数,因计数初值为50,采用RL1RL0=01(读/写计数器的低8位),则工作方式字为00010101=15H。通道1计数器工作于方式3,CLK1接2.5MHz时钟,要求产生1000Hz的方波,则计数初值应为2.5106/2000=1250,采用RL1RL0=11(先读计数器的低8位,再读计数器的高8位)。

17、则工作方式字为01110111=77H。设通道0的地址为40H,通道1的地址为41H,控制口地址为43H,8255A的口地址为80-83H。,:主程序,MOV AL,15H;通道0初始化,方式2OUT 43H,ALMOV AL,50H;置计数初值OUT 40H,ALSTI;开中断LPO:HLT;等待中断JMP LOP,:中断服务程序,MOV AL,01H;通道1的GATE1置1,启动计数OUT 80H,AL;认为8255已经初始化,向8255;端口送数,使PA0为“1”MOV AL,77H;通道1初始化,方式3OUT 43H,ALMOV AL,50H;置计数初值低8位OUT 41H,ALMOV

18、 AL,12H;置计数初值高8位OUT 41H,ALCALL DL5S;延时5秒,DL5S为5秒延时程序MOV AL,00H;通道1的GATE1置0,停止计数OUT 80H,AL;复位8255端口,使PA0为“0”IRET,例4:为A/D转换提供采样启动信号,8253,启动转换,时钟源,频率 F,+5V,求计数值,cnt0,cnt1,cnt2,A0A1,A1A2,I/O地址200H207H,-CS,CH0的输出频率:F/cnt0 CH0的门控端:CH2/CH1级联后控制,采样持续时间:(cnt1*cnt2)/F,注意地址连接,方式2连续负脉冲,方式1单稳,方式3方波,采样频率 F/cnt0,方

19、波,启动,例5:三个计数通道组合应用,例6:8253在IBM PC系列机上的应用,D Q CLK,A0A1,A0 A1,D0D7,D0D7,OUT1,OUT2,OUT0,GATE0GATE1GATE2,CLK0CLK1CLK2,+5V,(15us),接至扬声器驱动器,PB0PB1,IRQ0(55ms),DRQ0接至DMA控制器,8253,+5V,1.19318MHz,DACK0 BRD,-IOR,-IOW,RD,WR,CS,-T/C CS,方波,连续负脉冲,(约900Hz),方波,8253在IBM PC系列机上的应用,PCLK来自时钟发生器8284A的输出时钟,频率为2.38MHz,经二分频后

20、作为8253的3个计数器的时钟输入,频率为1.19318MHz。计数器0为方式3,GATE0固定为高电平,OUT0输出作为中断请求接到中断控制器8259A的IR0,用于系统报时时钟和磁盘驱动器的马达定时中断(约55ms)。计数器1为方式2,GATE1固定为高电平,OUT1输出作为对DMA控制器8237A通道0的DMA请求DREQ0,用于定时(约15s)启动刷新动态存储器DRAM。计数器2为方式3,1KHz的方波输出。GATE2由8255A的PB0控制,OUT2输出经过与门,并滤掉高频分量后送到扬声器发声。与门控制信号为8255A的PB1。可用PB1,PB0同时为“高”的时间来控制发声时间。长声时间为3s,短声时间为0.5s。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号