第9章 计数器与定时器_第1页
第9章 计数器与定时器_第2页
第9章 计数器与定时器_第3页
第9章 计数器与定时器_第4页
第9章 计数器与定时器_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 定时计数控制器 本章主要内容本章主要内容 u 8253 的引脚和的引脚和 6 种工作方式种工作方式 u 8253 的编程的编程 u 8253 在在IBM PC系列机上的应用系列机上的应用 定时器和计数器 u定时控制定时控制在微机系统中极为重要在微机系统中极为重要 u定时器定时器由数字电路中的由数字电路中的计数电路计数电路构成,通构成,通 过记录高精度晶振脉冲信号的个数,输出过记录高精度晶振脉冲信号的个数,输出 准确的准确的时间间隔时间间隔 u计数电路如果记录外设提供的具有一定计数电路如果记录外设提供的具有一定随随 机性机性的脉冲信号时,它主要反映的脉冲信号时,它主要反映脉冲的个脉冲的个

2、 数数(进而获知外设的某种状态),常又称(进而获知外设的某种状态),常又称 为为计数器计数器 定时功能的实现方法 u用软件实现延时用软件实现延时利用微处理器执行一个利用微处理器执行一个 延时程序段实现延时程序段实现 u用硬件实现定时用硬件实现定时 u采用不可编程器件采用不可编程器件如如分频器分频器、单稳电路单稳电路、 简易定时电路简易定时电路; u采用可编程器件采用可编程器件采用可编程的采用可编程的定时定时/计数计数 芯片和软件硬件结合芯片和软件硬件结合的办法构成灵活的定时的办法构成灵活的定时 电路,可在不同的时间段内采用不同的定时电路,可在不同的时间段内采用不同的定时 策略。策略。 9.1

3、8253/8254定时计数器 u3个个独立的计数器通道,每个计数通道独立的计数器通道,每个计数通道16位位, 可进行:可进行: u定时定时对引脚上输入的周期性时钟信号进行计对引脚上输入的周期性时钟信号进行计 数数 u计数计数对引脚上输入的非周期性脉冲信号进行对引脚上输入的非周期性脉冲信号进行 计数计数 u每个计数器有每个计数器有 6 种工作方式种工作方式 u可按二进制或十进制(可按二进制或十进制(BCD码)进行计数码)进行计数 u每个计数器的计数速率可高达每个计数器的计数速率可高达2MHz(8254- 2计数频率可达到计数频率可达到10MHz )。)。 一、8253的内部结构和引脚 D7D0

4、计数器0 控制字 寄存器 计数器1 计数器2 内 部 数 据 总 线 数据总线 缓冲器 读写控制 逻辑 RD WR A 0 A 1 CS CLK 0 GATE 0 OUT 0 CLK 1 GATE 1 OUT 1 CLK 2 GATE 2 OUT 2 引脚 uD7D0:8位、双向、三态数据线,直接和系统位、双向、三态数据线,直接和系统 数据总线相连。读数据总线相连。读/写写16位数据则分两次进行。位数据则分两次进行。 uCS:片选信号,低电平有效片选信号,低电平有效。 uRD,WR:读信号,写信号,低电平时有效。读信号,写信号,低电平时有效。 u A1,A0:8253端口选择线。端口选择线。0

5、010分别选择分别选择 计数器计数器02,11选择控制端口。选择控制端口。 uCLK0CLK2:分别是计数器分别是计数器02计数脉冲输入计数脉冲输入 端,决定计数的速率。端,决定计数的速率。 uGATE0GATE2:分别是计数器分别是计数器02门控输入端,门控输入端, 作为对计数允许作为对计数允许/禁止的控制禁止的控制 。 u OUT0OUT2:分别是计数器分别是计数器02的输出端,的输出端, 反映计数器的计数状态反映计数器的计数状态 。 8253/8254的I/O地址 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 1 0

6、0 1 1 0 功功 能能 对计数器对计数器0 0设置计数初值设置计数初值 -CS -RD A1 A0-WR 对计数器对计数器1 1设置计数初值设置计数初值 对计数器对计数器2 2设置计数初值设置计数初值 设置控制字设置控制字 从计数器从计数器0 0读出计数值读出计数值 从计数器从计数器1 1读出计数值读出计数值 从计数器从计数器2 2读出计数值读出计数值 计数器(通道)内部结构示意图 预置寄存器预置寄存器 GATE CLK OUT减减1计数器计数器 输出锁存器输出锁存器 计数器工作描述 u预置寄存器预置寄存器用于存放计数初值,注意:用于存放计数初值,注意: u可采用二进制或十进制(可采用二进

7、制或十进制(BCD码)码) u计数初值为计数初值为0时,计数值最大(时,计数值最大(65536/10000) u计数初值为计数初值为1时,计数值最小(时,计数值最小(1/1) u减法计数器减法计数器CLK引脚每收到一个脉冲,引脚每收到一个脉冲, 减法计数器将减减法计数器将减1。注意,预置寄存器中的预。注意,预置寄存器中的预 置值不会改变。置值不会改变。 u输出锁存器输出锁存器用于锁定当前的计数值,这用于锁定当前的计数值,这 样样CPU在读取时,该值将不再变化在读取时,该值将不再变化 计数器的3个引脚 uCLK(时钟)时钟)输入,在计数过程中,此引脚输入,在计数过程中,此引脚 上每输入上每输入1

8、个时钟信号(下降沿),计数器的计个时钟信号(下降沿),计数器的计 数值将减数值将减1 uGATE(门控)门控)输入,控制计数器工作:输入,控制计数器工作: u开启开启/关闭计数关闭计数高电平时允许计数通道工作高电平时允许计数通道工作 u触发触发/重触发重触发上升沿产生触发或重触发上升沿产生触发或重触发 uOUT(计数器输出)计数器输出)输出,根据设置工作方输出,根据设置工作方 式的不同,式的不同, OUT引脚可输出单个或连续的波形信引脚可输出单个或连续的波形信 号。一般是在计数过程结束时(计数值归号。一般是在计数过程结束时(计数值归0),), OUT引脚信号发生变化。引脚信号发生变化。 二、

9、8253/8254的工作方式 u方式方式0 计数结束中断计数结束中断 u方式方式1 可编程单稳可编程单稳 u方式方式2 连续负脉冲发生器连续负脉冲发生器 u方式方式3 连续方波发生器连续方波发生器 u方式方式4 软件触发选通软件触发选通 u方式方式5 硬件触发选通硬件触发选通 1、方式0: 计数结束中断 GATE OUT CLK 03124 写入写入4写入方式写入方式0 -WR GATE:开关作用开关作用 方式0 计数结束中断 u在这种方式下,当控制字在这种方式下,当控制字CW(Control Word)写入控制字寄存器,则使)写入控制字寄存器,则使OUT输输 出端变低,此时计数器没有赋予初值

10、,也出端变低,此时计数器没有赋予初值,也 没开始计数。没开始计数。 u要开始计数,要开始计数,GATE信号必须为高电平,信号必须为高电平, 并在写入计数初值后,通道开始计数,在并在写入计数初值后,通道开始计数,在 计数过程中计数过程中 OUT线一直维持为低,直到线一直维持为低,直到 计数到计数到“0”时。时。OUT输出变高。输出变高。 2、方式1: 可编程单稳脉冲 GATE OUT CLK 03124 写入写入4写入方式写入方式1 -WR GATE:触发作用触发作用 方式1 可编程单稳脉冲 u在这种方式下,当在这种方式下,当CPU写控制字之后(的上升写控制字之后(的上升 沿),输出将保持为高(

11、若原为低,则由低变沿),输出将保持为高(若原为低,则由低变 高)。当高)。当CPU写完计数值后,计数器并不开始写完计数值后,计数器并不开始 计数,直到外部门控脉冲计数,直到外部门控脉冲GATE启动之后的下一启动之后的下一 个输入个输入CLK脉冲的下降沿开始计数,输出脉冲的下降沿开始计数,输出OUT 变低。因整个计数过程中,变低。因整个计数过程中,OUT都维持为低,都维持为低, 直到计数到直到计数到0,输出变为高,因此,输出为一个,输出变为高,因此,输出为一个 单拍脉冲。若外部再次触发启动,则可以再产单拍脉冲。若外部再次触发启动,则可以再产 生一个单拍脉冲。生一个单拍脉冲。 3、方式2: 频率发

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

13、高,且计数器开始重新计数。 4、方式3 : 方波发生器 03124 GATE OUT CLK 写入写入 4 写入写入 方式方式3 03124 03124 03124 -WR GATE:开关作用开关作用 初值初值N为为偶数偶数:N/2脉冲数输出高脉冲数输出高, N/2脉冲数输出低脉冲数输出低 初值初值N为为奇数奇数:(N+1)/2脉冲数输出高,脉冲数输出高, (N-1)/2脉冲数输出低脉冲数输出低 方式4 软件触发选通信号 GATE OUT CLK 03124 写入写入 4 写入写入 方式方式4 23 写入写入 3 1 0 -WR GATE:开关作用开关作用 5、方式4: 软件触发选通信号 u在

14、这种方式下,当写入控制字后,输出为在这种方式下,当写入控制字后,输出为 高(原为高则保持为高,原为低则变为高(原为高则保持为高,原为低则变为 高)。当写入计数值后立即开始计数(相高)。当写入计数值后立即开始计数(相 当于软件启动),当计数到当于软件启动),当计数到0后,输出变后,输出变 低,经过一个输入时钟周期,输出又变高,低,经过一个输入时钟周期,输出又变高, 计数器停止计数。这种方式计数也是一次计数器停止计数。这种方式计数也是一次 性的,只有在输入新的计数值后,才能开性的,只有在输入新的计数值后,才能开 始新的计数始新的计数 方式5 硬件触发选通信号 GATE OUT CLK 03124

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

16、的触发才能再计数 各种工作方式的输出波形 方式方式 0 方式方式 1 方式方式 2 方式方式 3 方式方式 4 方式方式 5 0 N0N0 N0/N110 NN/2 N/2 0/N0 N0 1 N0 1N0 1 6种工作方式共同点 u写入计数初值之后,并不马上开始计数,只有写入计数初值之后,并不马上开始计数,只有 检测到检测到GATE信号有效,经过一个信号有效,经过一个CLK周期,周期, 把计数初值送到减把计数初值送到减1计数寄存器,才开始作减计数寄存器,才开始作减1 操作。操作。 uOUT端随着工作方式的不同和当前计数状态的端随着工作方式的不同和当前计数状态的 不同,一定有电平输出变化,而且

17、输出变化均不同,一定有电平输出变化,而且输出变化均 发生在发生在CLK的下降沿。的下降沿。OUT的输出波形在写控的输出波形在写控 制字之前为未定态,在写了控制字之后到计数制字之前为未定态,在写了控制字之后到计数 之前为计数初态,再之后有计数态、暂停态、之前为计数初态,再之后有计数态、暂停态、 结束态等。结束态等。 u对于给定的工作方式,门控信号对于给定的工作方式,门控信号GATE的触发条的触发条 件是有具体规定的,或电平触发,或边沿触发,件是有具体规定的,或电平触发,或边沿触发, 或两者均可或两者均可 门控信号GATE的性能 方式方式低电平或下降沿低电平或下降沿上升沿上升沿高电平高电平 0 禁

18、止计数禁止计数 允许计数允许计数 1 开始计数,开始计数, 2 禁止计数,禁止计数, 输出变为低电平输出变为低电平 允许计数允许计数 3 输出变为高电平输出变为高电平 重新设置初值,重新设置初值, 允许计数允许计数 4 禁止计数,禁止计数, 开始计数开始计数 允许计数允许计数 5 输出变为高电平输出变为高电平 开始计数开始计数 6种工作方式不同点(1) u方式方式0 0和方式和方式4 4都是由软件触发都是由软件触发( (写入计数初值写入计数初值) ) 启动计数,无自动重装入计数初值能力,除非启动计数,无自动重装入计数初值能力,除非 再写初值。门控信号再写初值。门控信号GATEGATE高电平时,

19、减高电平时,减1 1计数器计数器 减减1 1;低电平时,减;低电平时,减1 1计数器停止计数。它们的计数器停止计数。它们的 区别是:方式区别是:方式0 0在计数过程中在计数过程中OUTOUT输出为低电平,输出为低电平, 计数结束时变为高电平,并一直保持;方式计数结束时变为高电平,并一直保持;方式4 4在在 计数过程中计数过程中OUTOUT输出为高电平,计数结束时输出输出为高电平,计数结束时输出 一个宽度为一个一个宽度为一个TCLKTCLK的负脉冲,以后又保持高的负脉冲,以后又保持高 电平。电平。 6种工作方式不同点(2) u方式方式1和方式和方式5均是硬件触发均是硬件触发(GATE上升沿上升沿

20、)启动启动 计数。写入初值之后,在门控信号计数。写入初值之后,在门控信号GATE的上升的上升 沿触发下,初值写入减沿触发下,初值写入减1计数寄存器,开始计数,计数寄存器,开始计数, 并且并且GATE只在上升沿起作用。它们的区别是:只在上升沿起作用。它们的区别是: 方式方式1在计数过程中在计数过程中OUT输出一个宽度为计数初输出一个宽度为计数初 值乘以值乘以TCLK的单相负脉冲;方式的单相负脉冲;方式5是在计数结是在计数结 束后束后OUT输出一个宽度为一个输出一个宽度为一个TCLK的负脉冲。的负脉冲。 6种工作方式不同点(3) u方式方式2和方式和方式3的共同点是具有自动重装入计数的共同点是具有

21、自动重装入计数 初值的能力,都是频率发生器初值的能力,都是频率发生器(分频器分频器)。它们的。它们的 区别是:方式区别是:方式2输出占空比为输出占空比为(n-1):1的矩形波信的矩形波信 号,而方式号,而方式3输出方波(或近似方波)信号。输出方波(或近似方波)信号。 9.2 8253/8254的编程 u8253加电后的工作方式不确定,必须经初始加电后的工作方式不确定,必须经初始 化编程后,才能正常工作化编程后,才能正常工作 u初始化编程:初始化编程: u先写入控制字先写入控制字 u再写入计数初值再写入计数初值 u工作后,可随时读取计数值:工作后,可随时读取计数值: u一般先将计数值一般先将计数

22、值锁存在锁存在通道内的锁存器中通道内的锁存器中 u然后可分两次读取然后可分两次读取16位的计数值位的计数值 u8254 新增的读回命令新增的读回命令 1 写入方式控制字 计数器计数器读写格式读写格式工作方式工作方式数制数制 D7D6D5D4D3D2D1D0 控制字写入控制字控制字写入控制字I/O地址(地址(A1A011) 00 计数器计数器0 01 计数器计数器1 10 计数器计数器2 11 非法非法 00 计数器锁存命令计数器锁存命令 01 只读写低字节只读写低字节 10 只读写高字节只读写高字节 11 先读写低字节先读写低字节 后读写高字节后读写高字节 000 方式方式0 001 方式方式

23、1 010 方式方式2 011 方式方式3 100 方式方式4 101 方式方式5 0 二进制二进制 1 十进制十进制 2 写入计数初值 u选择二进制时选择二进制时 u计数范围:计数范围:1H10000H u初值写入初值写入0时计数最大(时计数最大(65536/10000H) u选择十进制(选择十进制(BCD码)时码)时 u计数范围:计数范围:110000 u初值写入初值写入0时计数最大(时计数最大(10000) 计数值写入计数器各自的计数值写入计数器各自的 I/O地址地址 3 读取计数值 u对对8位数据线,读取位数据线,读取16位的计数值,需要分两次位的计数值,需要分两次 进行进行 u由于计

24、数在不断进行,故应将当前计数值先行由于计数在不断进行,故应将当前计数值先行 锁存,然后再读取:锁存,然后再读取: u向控制字向控制字I/O地址写入锁存命令地址写入锁存命令 u从计数器从计数器I/O地址读取被锁存的计数值地址读取被锁存的计数值 u3 种读取方式:种读取方式: u只读低只读低8位位 u只读高只读高8位位 u先低后高先低后高 读取计数值时要注意格式和数制读取计数值时要注意格式和数制 例1: 8253的初始化 例:要求计数器例:要求计数器0 0工作于方式工作于方式3 3,输出方波的重复频率为,输出方波的重复频率为2KHz2KHz, 计数脉冲输入为计数脉冲输入为2.5MHz2.5MHz,

25、采用,采用BCDBCD码计数,试写出初始码计数,试写出初始 化程序段化程序段。 l计算计数初值:计算计数初值: lTC= 2.5MHz/ 2KHz=1250 l方式字为:方式字为:0011 0111B=37H l(计数器(计数器0,写,写16位,方式位,方式3, BCD计数)计数) l设端口地址为:设端口地址为:80H、81H、 82H、83H。 ;写入方式控制字 MOV AL,37H OUT 83H,AL ;写入计数初始值低8位 MOV AL,50H OUT 80,AL ;写入计数初始值高8位 MOV AL,12H OUT 80H,AL 例2: 定时器 计数器计数器0 0定时定时10ms10

26、ms,clkclk时钟时钟200Khz200Khz,请初始化,请初始化 MOV AL,00110001B ;写入方式控制字 MOV DX,307H OUT DX,AL MOV AL,0H;写入计数初始值低8位 MOV DX,304H OUT DX,AL MOV AL,20H ;写入计数初始值高8位 OUT DX,AL 9.3 8253的应用 例例3:用用8253-58253-5监视一个生产流水线监视一个生产流水线 OUT0 CLK0 GATE0 8253 CLK1 GATE1 OUT1 1 驱驱 动动 器器 INT +5V 2.5MHz 8255PA0 :设计要求及设计方案 u使用使用8253

27、-5监视一个生产流水线,每通过监视一个生产流水线,每通过50个个 工件,扬声器响工件,扬声器响5秒钟,频率秒钟,频率2000Hz。 u用用8253-5的通道的通道0设定为计数方式计数,计数满设定为计数方式计数,计数满 50后,由后,由OUT0输出一个负脉冲,经反向后作为输出一个负脉冲,经反向后作为 8259A的中断请求信号,在中断服务程序中,的中断请求信号,在中断服务程序中, 启动启动8253-5通道通道1工作,有通道工作,有通道1连续输出频率连续输出频率 为为2000Hz的方波信号,持续的方波信号,持续5秒后结束。秒后结束。 u通道通道0工作于方式工作于方式2,通道,通道1工作于方式工作于方

28、式3,通道,通道1 的门控信号的门控信号GATE1由由8255A的的PA0控制。控制。 :控制字设置 u通道通道0计数器工作于方式计数器工作于方式2,采用,采用BCD计数,因计数,因 计数初值为计数初值为50,采用,采用RL1RL0=01(读(读/写计数器写计数器 的低的低8位),则工作方式字为位),则工作方式字为00010101=15H。 u通道通道1计数器工作于方式计数器工作于方式3,CLK1接接2.5MHz时时 钟,要求产生钟,要求产生1000Hz的方波,则计数初值应为的方波,则计数初值应为 2.5106/2000=1250,采用,采用RL1RL0=11 (先读(先读 计数器的低计数器的

29、低8位,再读计数器的高位,再读计数器的高8位)。则工位)。则工 作方式字为作方式字为01110111=77H。 u设通道设通道0的地址为的地址为40H,通道,通道1的地址为的地址为41H,控,控 制口地址为制口地址为43H,8255A的口地址为的口地址为80-83H。 :主程序 MOV ALMOV AL,15H15H;通道;通道0 0初始化,方式初始化,方式2 2 OUT 43HOUT 43H,ALAL MOV ALMOV AL,50H50H;置计数初值;置计数初值 OUT 40HOUT 40H,ALAL STI STI ;开中断;开中断 LPOLPO:HLT HLT ;等待中断;等待中断 J

30、MP LOPJMP LOP : 中断服务程序 MOV ALMOV AL,01H 01H ;通道;通道1 1的的GATE1GATE1置置1 1,启动计数,启动计数 OUT 80HOUT 80H,AL AL ; ; 认为认为82558255已经初始化,向已经初始化,向82558255 ;端口送数,使;端口送数,使PA0PA0为为“1”1” MOV ALMOV AL,77H 77H ;通道;通道1 1初始化,方式初始化,方式3 3 OUT 43HOUT 43H,ALAL MOV ALMOV AL,50H 50H ;置计数初值低;置计数初值低8 8位位 OUT 41HOUT 41H,ALAL MOV

31、ALMOV AL,12H 12H ;置计数初值高;置计数初值高8 8位位 OUT 41HOUT 41H,ALAL CALL DL5S CALL DL5S ;延时;延时5 5秒,秒,DL5SDL5S为为5 5秒延时程序秒延时程序 MOV ALMOV AL,00H 00H ;通道;通道1 1的的GATE1GATE1置置0 0,停止计数,停止计数 OUT 80HOUT 80H,AL AL ;复位;复位82558255端口,使端口,使PA0PA0为为“0”0” IRETIRET 例例4: 4: 为为A/DA/D转换提供采样启动信号转换提供采样启动信号 8253 OUT0 GATE0 CLK0 OUT1

32、 GATE1 CLK1 OUT2 GATE2 CLK2 启动转换启动转换 时钟源时钟源 频率频率 F +5V 求计数求计数 值值 cnt0 cnt1 cnt2A0 A1 A1 A2 I/O地址地址 200H207H -CS CH0的输出频率:的输出频率: F/cnt0 CH0的门控端:的门控端:CH2/CH1级联后控制,级联后控制, 采样持续时间:采样持续时间: (cnt1*cnt2)/F 注意注意 地址地址 连接连接 方式方式2 连续连续 负脉冲负脉冲 方式方式1 单稳单稳 方式方式3 方波方波 采样频率采样频率 F/cnt0 启动启动 例5: 三个计数通道组合应用 D7-D0 RD WR A0 A1 CS 8253 OUT0 GATE0 CLK0 OUT1 GATE1 CLK1 OUT2 GAT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论