微型计算机原理及接口技术第八章

《微型计算机原理及接口技术第八章》由会员分享,可在线阅读,更多相关《微型计算机原理及接口技术第八章(51页珍藏版)》请在文档大全上搜索。
1、第八章:定时器第八章:定时器8253A和并口和并口8255一、概述概述n实现定时和计数有两种方法:硬件定时和软件定时。n软件定时是利用CPU每执行一条指令都需要几个固定的指令周期的原理,运用软件编程的方式进行定时。n硬件定时,是利用专门的定时电路实现精确定时。这种定时方式又可分为简单硬件定时和利用可编程接口芯片实现定时。 1. 8253定时计数器结构及功能定时计数器结构及功能 8253的结构框图的结构框图8D7-D0计 数 器0 号控 制 字 寄存 器计 数 器1 号计 数 器2 号内部数据总线数 据 总 线缓 冲 器读 /写逻 辑RDW RA0A1CSCLK0GATE0OUT0CLK1GAT
2、E1OUT1CLK2GATE2OUT2l 8253的引脚配置的引脚配置D0D1D2D3D4D5D6D7RDWRA0A1CSVcc地电源线控制线数据线CLK0GATE0OUT0GATE0OUT0CLK1GATE1OUT1GATE1OUT1CLK2GATE2OUT2GATE2OUT2计数器0 号计数器1 号计数器2 号91110151413181617876543212223192212412三个记数通道均有一个三个记数通道均有一个CLK,OUT,GATEnCLK:时钟输入引脚。每个计数器对CLK输入脉冲进行计数。CLK可以是均匀,连续,周期精确的;也可以是不均匀,断续,周期不定的。nOUT:减一
3、计数零/定时时间到的脉冲输出。nGATE:门控输入,是外部控制计数器工作的信号线,它不但能启动定时器工作,也可用来中止计数或定时操作。A1A0编码与8253内部寄存器的对应关系 8253寄存器寻址寄存器寻址CS RD WR A1 A0寄存器选择和操作寄存器选择和操作0 1 0 0 0写入写入0通道计数寄存器通道计数寄存器0 1 0 0 1写入写入1通道计数寄存器通道计数寄存器0 1 0 1 0写入写入2通道计数寄存器通道计数寄存器0 1 0 1 1写入控制字寄存器写入控制字寄存器0 0 1 0 0读读0通道锁存器通道锁存器0 0 1 0 1读读1通道寄存器通道寄存器0 0 1 1 0读读2通道
4、寄存器通道寄存器28254的方式控制字的方式控制字/状态字状态字8253控制字格式控制字格式D7D6D5D4D3D2D1D00=二进制1=二十进制工作方式选择000=方式 0001=方式 1010=方式 2011=方式 3100=方式 4101=方式 5通道控制字寻址00=通道 0 控制寄存器01=通道 1 控制寄存器10=通道 2 控制寄存器11=不用读写操作00=锁定当前计数值01=读/写计数器低 8 位10=读写计数器高 8 位11=先读/写计数器低 8 位再 读/写计数器高 8 高位n读出控制字条件:D7D6=11,D0=0D5=0 锁存计数值,以便CPU读取D4=0 锁存状态信息于状
5、态寄存器D3D1为计数器选择, 分别为1表示选中计数器2;1;0n状态字D5D0:与方式控制字的对应意义相同D7:为1表示OUT 输出高电平,为0为低电平D6:为1表示无效计数,为0表示计数初值已装入减1计数.本节以下各例均设8253占用端口地址40H43H。方式0 减1计数到0时发中断请求 38254的工作方式及举例的工作方式及举例(设计数初值为3)写计数值写CWCLKGATE(允许计数高电平)WROUT00123GATE22231OUT00例:设例:设8254计数器通道计数器通道0工作于方式工作于方式0,用,用8位二位二进制计数,其计数值为进制计数,其计数值为50,二,二十进制,则它的十进
6、制,则它的初始化程序段如下:初始化程序段如下:lMOV AL,11H ;设置控制字设置控制字lOUT 43H,AL ;写入控制字寄存器写入控制字寄存器lMOV AL,50 ;设置计数初值设置计数初值lOUT 40H,AL ;写入计数初值寄存器写入计数初值寄存器开始计数CLKWRGATEOUT1GATEOUT13 2 1 3 2 1 03 2 1 0重新开始计数不停计数CWLSBl方式方式1的时序图的时序图 方式方式1 可编程单脉冲输出可编程单脉冲输出例:设计数器通道例:设计数器通道1工作于方式工作于方式1,按二进制计数,按二进制计数,计数初值为计数初值为40H,它的初始化程序段为:它的初始化程
7、序段为:MOV AL,62H ;工作方式控制字工作方式控制字OUT 43H,ALMOV AL,40H;送计数初值送计数初值OUT 41H,ALl 方式方式2的时序图的时序图3213高电平 1CWLSBCLKWRGATE2OUT2GATE2OUT2自动重复计数321禁止计数321重新开始计数方式方式2 周期性时间间隔计时器(频率发生器)周期性时间间隔计时器(频率发生器) 例:设例:设8254计数器计数器0工作于方式工作于方式2,按二进制计,按二进制计数,计数初值为数,计数初值为0304H。MOVAL,00110100B;设控制字,通道设控制字,通道0,先读先读/写高写高8位位 ;再读写低;再读写
8、低8位,方式位,方式2,二,二进制。进制。OUT 43H,ALMOV AL,04H ;送计数值低字节送计数值低字节OUT 40H,AL MOV AL,03HOUT 40H,AL ;送计数值高字节送计数值高字节l方式3的时序图CLKWRGATE3OUT3(N=奇数)OUT3(N=偶数)高电平 1543自动重复计数215(0)43CWLSB43214321方式方式3 方波发生器方波发生器例:设例:设8254计数器计数器2工作在方式工作在方式3,按二,按二十十进制计数,计数初值为进制计数,计数初值为4,则它的初始化程序,则它的初始化程序段如下:段如下:MOV AL,10010111B;计数器计数器2
9、,只,只读读/写低写低8位,工作方式位,工作方式3,二,二十进制十进制OUT 43H,AL;控制字送控制字寄存器控制字送控制字寄存器MOV AL,4;送计数初值送计数初值OUT 42H,AL高电平 1CWLSB3210CLK1禁止计数3213210重新开始计数CLKWRGATE4OUT4GATE4OUT4l 方式方式4的时序图的时序图方式方式4 软件触发选通软件触发选通例:设例:设8254计数器计数器1工作于方式工作于方式4,按二进,按二进制计数,计数初值为制计数,计数初值为3,则初始化程序段为:,则初始化程序段为:MOV AL,058H ;设置控制字寄存器设置控制字寄存器OUT 43H,AL
10、;送控制字送控制字MOV AL,3;置计数初值置计数初值OUT 41H,AL;送计数初值送计数初值3213210重新开始计数CWLSB3210 1CLKWRGATE5OUT5GATE5OUT5开始计数不停计数l 方式方式5时序图时序图方式方式5 硬件触发脉冲硬件触发脉冲例:设例:设8254的通道的通道1工作于方式工作于方式5,按二进制,按二进制计数,计数初值为计数,计数初值为4000H,则它的初始化程序则它的初始化程序段为:段为:MOV AL,01101010B ;通道通道1,只读写高字,只读写高字节,方式节,方式5,二进制计数。,二进制计数。OUT 43H,ALMOV AL,40HOUT 4