
微机原理课件第十章.ppt
29页第第1010章章 计数器计数器/ /定时器接口芯片定时器接口芯片82538253实现定时/计数功能的常用方法可归纳为以下三种:实现定时/计数功能的常用方法可归纳为以下三种:((1 1)软件定时)软件定时((2 2)纯硬件定时)纯硬件定时((3 3)可编程定时器)可编程定时器8/24/2024110.1 10.1 可编程计数器/定时器的基本工作原理可编程计数器/定时器的基本工作原理10.1.1 10.1.1 基本功能 基本功能以以82538253芯片为例来说明其基本功能,大致可概括为以下五点:芯片为例来说明其基本功能,大致可概括为以下五点:1 1))3 3个计数器:每个个计数器:每个82538253芯片上有芯片上有3 3个独立的个独立的1616位计数通道位计数通道2 2))2 2~~10MHz10MHz的计数频率:每个计数器的计数频率范围为的计数频率:每个计数器的计数频率范围为0 0~ ~ 2MHz2MHz,其改进型,其改进型82548254--2 2的计数频率 的计数频率 范围为范围为0 0~~10MHz10MHz。
3 3))2 2种数制计数:每个计数器都可以按照二进制或十进制计 种数制计数:每个计数器都可以按照二进制或十进制计 数4 4))6 6种工作方式:每个计数通道都有种工作方式:每个计数通道都有6 6种工作方式,可由程序 种工作方式,可由程序 设置或改变设置或改变5 5)与)与TTLTTL兼容:所有输入兼容:所有输入/ /输出引脚都与输出引脚都与TTLTTL兼容 8/24/20242 基本工作原理 基本工作原理 图 计数器/定时器的基本原理图图 计数器/定时器的基本原理图 8/24/202431 1、控制寄存器、控制寄存器 控制寄存器是从数据总线缓冲器中接收控制字,以确定计控制寄存器是从数据总线缓冲器中接收控制字,以确定计数器的操作方式数器的操作方式2 2、初始值寄存器、初始值寄存器用来存放计数器所需要的初始值用来存放计数器所需要的初始值3 3、计数输出寄存器、计数输出寄存器用来存放计数器中的内容,可由用来存放计数器中的内容,可由CPUCPU读出。
读出4 4、、 状态寄存器状态寄存器提供计数器/定时器当前所处的状态,这些状态有利于了提供计数器/定时器当前所处的状态,这些状态有利于了解计数器/定时器某时刻的内部情况解计数器/定时器某时刻的内部情况5 5、计数器、计数器计数器实际是一个具有减计数器实际是一个具有减“1”“1”功能的减法器功能的减法器8/24/20244计数器对外有三个重要信号,现说明如下:计数器对外有三个重要信号,现说明如下:((1 1))OUTOUT信号信号((2 2))CLKCLK信号信号 CLKCLK是一个输入信号,它决定了计数速率是一个输入信号,它决定了计数速率 定时器所能实现的定时时间取决于计数脉冲的频率和计数器定时器所能实现的定时时间取决于计数脉冲的频率和计数器的初值,即:的初值,即: 定时时间=时钟脉冲周期定时时间=时钟脉冲周期* *预置的计数初值预置的计数初值((3 3))GATEGATE信号信号 GATE GATE是一个门控输入信号是一个门控输入信号8/24/2024510.2 825310.2 8253的内部结构及引脚的内部结构及引脚 图图 8253 8253的内部结构及引脚图的内部结构及引脚图 8/24/20246(1) (1) 数据总线缓冲器数据总线缓冲器(2) (2) 读读/ /写逻辑电路写逻辑电路各控制信号及作用如下:各控制信号及作用如下: A A1 1和和A A0 0:端口选择信号。
端口选择信号 RD RD:读信号,低电平有效读信号,低电平有效 WR WR:写信号,低电平有效写信号,低电平有效 CS CS:片选信号,低电平有效片选信号,低电平有效 8/24/20247表表10-1 825310-1 8253输入信号与各功能的对应关系输入信号与各功能的对应关系 CSRD WRA A1 1 A A0 0 功功 能能0000000111100000001110 00 11 01 10 00 11 0对计数器对计数器0 0设置计数初值设置计数初值 对计数器对计数器1 1设置计数初值设置计数初值对计数器对计数器2 2设置计数初值设置计数初值设置控制字或给一个命令设置控制字或给一个命令从计数器从计数器0 0读出计数值读出计数值从计数器从计数器1 1读出计数值读出计数值从计数器从计数器2 2读出计数值读出计数值 8/24/20248 (3) (3) 计数器计数器 (4) (4)控制寄存器控制寄存器 图 图 82538253计数器结构图计数器结构图 8/24/2024910.3 825310.3 8253的控制字的控制字 图图 8253 8253的控制字的控制字 8/24/2024101 1、计数方式的设定、计数方式的设定82538253有两种有两种计数方式:二进制计数和计数方式:二进制计数和BCDBCD码计数。
选择数制采用码计数选择数制采用控控 制字的制字的D D0 0位来设定位来设定2 2、工作方式的设定、工作方式的设定82538253有有6 6种种工作方式:方式工作方式:方式0 0~方式~方式5 53 3、读写格式的设定、读写格式的设定 8253 8253有有4 4种种写入计数初值格式或读计数值格式的设定,选择写入计数初值格式或读计数值格式的设定,选择读写格式采用读写格式采用控制字的控制字的D D5 5、、D D4 4位来设定位来设定4 4、计数器通道的选择、计数器通道的选择8/24/20241110.4 825310.4 8253的工作方式的工作方式10.4.1 825310.4.1 8253的的6 6种工作方式种工作方式1 1、方式、方式0——0——计数结束中断方式计数结束中断方式计数结束中断方式必须注意以下几点:计数结束中断方式必须注意以下几点:图图 方式方式0 0波形图波形图 8/24/202412(1 1))OUTOUT信号信号 控制字写入后,控制字写入后,OUTOUT变低电平,直到计数变低电平,直到计数器减到器减到0 0时才变为高电平。
时才变为高电平OUTOUT输出可以作为计输出可以作为计数结束的中断信号数结束的中断信号2 2))GATEGATE信号信号 计数器受计数器受GATEGATE信号控制,当信号控制,当GATEGATE==0 0时,停时,停止计数器的计数操作;当止计数器的计数操作;当GATEGATE==1 1时,计数器时,计数器继续计数继续计数3 3)初始值)初始值 一是每次装入初始值后计数器只计数一遍一是每次装入初始值后计数器只计数一遍 二是计数过程中可重新装入计数初值二是计数过程中可重新装入计数初值 另外,若设置初值为另外,若设置初值为N N,则输出信号,则输出信号OUTOUT是在是在N+1N+1个个CLKCLK脉冲之后才变高的脉冲之后才变高的8/24/2024132 2、方式、方式1——1——可编程单稳触发器可编程单稳触发器可编程单稳触发器方式必须注意以下几点:可编程单稳触发器方式必须注意以下几点: 图图 方式方式1 1波形图波形图 8/24/202414((1 1))OUTOUT信号信号 控制字写入后,控制字写入后,OUTOUT变高电平,变高电平,CPUCPU写入计数初始值写入计数初始值后,计数器并不计数,直到后,计数器并不计数,直到GATEGATE信号后信号后OUTOUT变为低电平。
变为低电平 直到计数器减到直到计数器减到0 0时,时,OUTOUT输出才变为高电平输出才变为高电平2 2))GATEGATE信号信号 GATE GATE信号在方式信号在方式1 1中起触发信号作用中起触发信号作用CPUCPU写入计数写入计数值后,计数器必须由值后,计数器必须由GATEGATE信号触发才开始计数允许信号触发才开始计数允许GATEGATE信号多次触发,计数过程中,外部可发信号多次触发,计数过程中,外部可发GATEGATE脉冲脉冲进行再触发进行再触发3 3)初始值)初始值 计数过程中,计数过程中,CPUCPU可改写初始值,但计数过程不受影可改写初始值,但计数过程不受影响,计数将按原来的初始值减到响,计数将按原来的初始值减到0 0,在,在GATEGATE信号再次触信号再次触发后,才会按新的初始值重新开始计数发后,才会按新的初始值重新开始计数8/24/2024153 3、方式、方式2——2——分频器分频器分频器方式必须注意以下几点:分频器方式必须注意以下几点:图图 方式方式2 2波形图波形图 8/24/202416((1 1))OUTOUT信号信号 OUT OUT信号是输入时钟按照计数值信号是输入时钟按照计数值N N次分频后次分频后的一个连续脉冲。
此方式可以作为一个脉冲速的一个连续脉冲此方式可以作为一个脉冲速率发生器或用于产生实时时钟中断率发生器或用于产生实时时钟中断2 2))GATEGATE信号信号 计数器的初始值写入后,只有当计数器的初始值写入后,只有当GATEGATE引脚引脚为高电平时,计数器才开始递减计数为高电平时,计数器才开始递减计数GATEGATE端端每一次由低到高的跳变触发,都将引起一次重每一次由低到高的跳变触发,都将引起一次重新从新从CRCR向向 CE CE的装入操作的装入操作3 3)初始值)初始值 计数过程中,计数过程中,CPUCPU可改写初始值,但当前可改写初始值,但当前计数过程不受影响,计数将按原来的初始值减计数过程不受影响,计数将按原来的初始值减到到0 0,,OUTOUT输出一个负脉冲,计数器装入新的初输出一个负脉冲,计数器装入新的初始值后重新开始计数始值后重新开始计数 8/24/2024174 4、方式、方式3——3——方波发生器方波发生器方波发生器方式必须注意以下几点:方波发生器方式必须注意以下几点:图图 方式方式3 3波形图波形图 8/24/202418((1 1))OUTOUT信号信号 方式方式3 3的的OUTOUT信号与方式信号与方式2 2的工作类似,输出的工作类似,输出均为周期性的,但方式均为周期性的,但方式3 3的输出为方波。
的输出为方波2 2))GATEGATE信号信号方式方式3 3的的GATEGATE信号与方式信号与方式2 2的作用相同的作用相同3 3)初始值)初始值 当初始值为偶数时,输出方波的占空比一当初始值为偶数时,输出方波的占空比一定为定为5050%(%(N N//2 2) 当初始值为奇数时,输出方波的高电平占当初始值为奇数时,输出方波的高电平占((N N++1 1)/)/2 2个输入时钟周期,低电平占(个输入时钟周期,低电平占(N N--1 1)/)/2 2个输入时钟周期个输入时钟周期 计数过程中,计数过程中,CPUCPU可改写初始值,但当前可改写初始值,但当前计数周期不受影响,在下一个计数周期就按新计数周期不受影响,在下一个计数周期就按新的初始值重新开始计数的初始值重新开始计数 8/24/2024195 5、方式、方式4——4——软件触发选通软件触发选通软件触发选通方式必须注意以下几点:软件触发选通方式必须注意以下几点:图图 方式方式4 4波形图波形图 8/24/202420((1 1))OUTOUT信号信号 控制字写入后,控制字写入后,OUTOUT变高电平。
变高电平CPUCPU写写入计数初始值后,当入计数初始值后,当GATEGATE信号为高电平信号为高电平时开始计数,直到计数器减到时开始计数,直到计数器减到0 0时,时,OUTOUT输出一个输入时钟宽度的低电平,然后输出一个输入时钟宽度的低电平,然后OUTOUT恢复高电平恢复高电平2 2))GATEGATE信号信号 当当GATEGATE==1 1时,计数器正常工作,当时,计数器正常工作,当GATEGATE==0 0时,计数器停止减时,计数器停止减1 1操作3 3)初始值)初始值 计数过程中,计数过程中,CPUCPU可以更改计数初始可以更改计数初始值,并立即从新初始值开始计数值,并立即从新初始值开始计数8/24/2024216 6、方式、方式5——5——硬件触发选通硬件触发选通硬件触发选通方式必须注意以下几点:硬件触发选通方式必须注意以下几点:图图 方式方式5 5波形图波形图 8/24/202422((1 1))OUTOUT信号信号 控制字写入后,控制字写入后,OUTOUT变高电平,变高电平,CPUCPU写入计数初始写入计数初始值后,计数器并不立即开始计数,必须由值后,计数器并不立即开始计数,必须由GATEGATE的上升的上升沿触发启动计数。
当计数到沿触发启动计数当计数到0 0时,输出时,输出OUTOUT变低电平,变低电平,经过一个经过一个CLKCLK脉冲后,脉冲后,OUTOUT恢复为高,并停止计数恢复为高,并停止计数2 2))GATEGATE信号信号 计数过程是由计数过程是由GATEGATE的上升沿的上升沿““触发触发” ” 启动计数的启动计数的在计数过程中又有在计数过程中又有GATEGATE上升沿时,则计数器重新从初上升沿时,则计数器重新从初始值开始计数,但对于输出始值开始计数,但对于输出OUTOUT的状态没有影响的状态没有影响3 3)初始值)初始值 计数过程中,计数过程中,CPUCPU可以更改计数初始值,在没有可以更改计数初始值,在没有GATEGATE信号触发的情况下,不影响计数过程当计数减信号触发的情况下,不影响计数过程当计数减到到0 0后,若此时有新的后,若此时有新的GATEGATE信号触发,则按新的计数值信号触发,则按新的计数值重新开始计数重新开始计数8/24/20242310.4.2 825310.4.2 8253各工作方式之间的异同点各工作方式之间的异同点1 1、各工作方式的共同点、各工作方式的共同点((1 1)当控制字写入计数器时,所有的控制逻辑电路立即复位,输)当控制字写入计数器时,所有的控制逻辑电路立即复位,输 出端出端OUTOUT进入初始状态:高电平或者低电平。
进入初始状态:高电平或者低电平2 2)初始值写入后,要经过一个时钟上升沿和一个下降沿,计数)初始值写入后,要经过一个时钟上升沿和一个下降沿,计数执行部件才开始工作执行部件才开始工作3 3)在时钟脉冲)在时钟脉冲CLKCLK的上升沿时,门控信号的上升沿时,门控信号GATEGATE才被采样才被采样2 2、各工作方式的不同点、各工作方式的不同点((1 1)软件触发启动计数)软件触发启动计数((2 2)硬件触发启动计数)硬件触发启动计数((3 3)自动装入计数初值)自动装入计数初值((4 4)门控信号)门控信号GATEGATE的控制作用的控制作用 8/24/202424表表10-2 GATE10-2 GATE信号功能表信号功能表 GATEGATE低电平或变为低电平低电平或变为低电平上升沿上升沿高电平高电平方式方式0 0禁止计数禁止计数无作用无作用允许计数允许计数方式方式1 1无作用无作用启动计数启动计数无作用无作用方式方式2 2禁止计数并置禁止计数并置OUTOUT为高电平为高电平重新初始计数重新初始计数允许计数允许计数方式方式3 3禁止计数并置禁止计数并置OUTOUT为高电平为高电平重新初始计数重新初始计数允许计数允许计数方式方式4 4禁止计数禁止计数无作用无作用允许计数允许计数方式方式5 5无作用无作用启动计数启动计数无作用无作用8/24/20242510.5 825310.5 8253的应用举例的应用举例设要求设要求A/DA/D转换器的采样周期为转换器的采样周期为250ms250ms,采样信,采样信号持续时间为号持续时间为1s1s。
试用试用82538253连接硬件电路,并连接硬件电路,并编程实现此功能编程实现此功能 8/24/202426硬件连接图CPUCPUA/DA/DEOCEOCSTARTSTARTININPCPC4 48255A8255A地地址址译译码码INTRINTRD D7 7┇┇D D0 0CLKCLK0 0GATEGATE0 0OUTOUT0 0CLKCLK1 1GATEGATE1 1OUTOUT1 1CLKCLK2 2GATEGATE2 2OUTOUT2 2方式方式2 2方式方式1 1方式方式3 3CSCSCSCS时钟发时钟发生器生器··D D7 7~~D D0 0+5V+5V转换转换停止停止ININ:输入:输入EOCEOC:转换结束:转换结束STARTSTART::A/DA/D转换启动转换启动模模拟拟量量输输入入数据线数据线数据线数据线数据线数据线··PCPC3 3手动开关或继电器手动开关或继电器D D7 7~~D D0 0D D7 7~~D D0 082538253图图10.10.1111 8253 8253作为定时器作为定时器 8/24/202427具体的程序设计:具体的程序设计:设置设置•1:定时器0•2:定时器1•3:定时器28/24/202428 MOV AL MOV AL,,14H14H;定时器;定时器0 0方式方式2 2,,2 2进制进制 OUT 43H OUT 43H,,ALAL MOV AL MOV AL,,0FAH0FAH; ;定时器定时器0 0初值初值250250 OUT 40H OUT 40H,,ALAL MOV AL MOV AL,,73H73H;;t1t1,方式,方式1 1,,1616位写位写1010进制进制 OUT 43H OUT 43H,,ALAL MOV AX MOV AX,,05H05H;5;5 OUT 41H OUT 41H,,ALAL MOV AL MOV AL,,AHAH OUT 41H OUT 41H,,ALAL;0;0 MOV AL MOV AL,,96H96H OUT 43H OUT 43H,,ALAL MOV AL MOV AL,,0C8H0C8H;200;200 OUT 42H OUT 42H,,AL AL 8/24/202429。












