1、定时方式定时方式软件定时软件定时不可编程硬件定时不可编程硬件定时可编程硬件定时可编程硬件定时单稳态延时电路或计数电路来实现延时或定时单稳态延时电路或计数电路来实现延时或定时(如如:555)优点优点:不增加:不增加CPU的开销的开销缺点缺点:器件容易老化,导致定时不准(:器件容易老化,导致定时不准(RC决定脉冲宽度)决定脉冲宽度)工作原理工作原理:计数器:计数器/定时器计数或定时达到确定值时,可定时器计数或定时达到确定值时,可以自动产生一个输出以自动产生一个输出特点特点:计数器:计数器/定时器与定时器与CPU可同时做不同的工作,计数可同时做不同的工作,计数或定时时,不占用或定时时,不占用CPU,
2、并且利用计数,并且利用计数/定时器产生中定时器产生中断信号,还可以建立多作业环境,提高了断信号,还可以建立多作业环境,提高了CPU 的效率的效率二者二者共同点共同点:都基于减:都基于减1计数计数二者二者区别区别:计数时,减到计数时,减到0之后,输出一个信号结束之后,输出一个信号结束 定时时,不断产生信号定时时,不断产生信号 8253内部操作的控制部分,接受来自系统总线的信息,内部操作的控制部分,接受来自系统总线的信息,产生控制整个芯片的控制信号产生控制整个芯片的控制信号A1A0:端口选择信号,由:端口选择信号,由CPU输入,选择输入,选择3个通道和控制个通道和控制端口端口A1A00001通道通
3、道0通道通道11011通道通道2控制字寄存器控制字寄存器端口端口三个通道功能完全相同三个通道功能完全相同:锁住当前计数值,供:锁住当前计数值,供CPU查询查询二进制计数二进制计数FFFFH十进制十进制(BCD)计数计数9999每个通道每个通道组成组成16位减位减1计数器计数器16位计数值锁存器位计数值锁存器功能功能计数计数定时定时:计数脉冲计数脉冲CLKi 计数器减计数器减1 0溢出,溢出,OUTi输出输出:时钟脉冲时钟脉冲CLKi 计数器减计数器减1 0溢出,溢出,OUTi输出输出频率一定 来自系统主时钟频率没有特殊要求计数器初值计数器初值(定时)(定时)=要求定时时间要求定时时间时钟脉冲的
4、周期时钟脉冲的周期注意注意:v任意通道作计数或定时用时,其内部结构完全相同任意通道作计数或定时用时,其内部结构完全相同v计数时,由计数脉冲决定计数器是否减计数时,由计数脉冲决定计数器是否减1;定时时,由定时脉冲决定;定时时,由定时脉冲决定计数器是否减计数器是否减1v计数脉冲周期可不固定,一般来自外部计数脉冲周期可不固定,一般来自外部(现场现场);定时脉冲周期固定,;定时脉冲周期固定,一般来自系统主时钟一般来自系统主时钟v计数时,计数的次数直接作为计数器的初值;定时时,计数器的初值计数时,计数的次数直接作为计数器的初值;定时时,计数器的初值由定时时间和定时脉冲频率确定由定时时间和定时脉冲频率确定
5、v无论是计数还是定时,当前计数值由计数值锁存器锁住,供无论是计数还是定时,当前计数值由计数值锁存器锁住,供CPU查询查询MOV AL,10H;控制字(;控制字(00010000B)OUT 43H,AL;写入控制寄存器;写入控制寄存器MOV AL,4;计数初值,只送低;计数初值,只送低8位位OUT 40H,AL;初值送通道;初值送通道0例例9-3:例:例9-2 设定设定8253A各端口地址为各端口地址为 40H43H,通,通道道1工作于方式工作于方式1,用,用BCD码计数,计数初值为码计数,计数初值为4000,其初始化程序:其初始化程序:MOV AL,63H;控制字(;控制字(01100011B
6、)OUT 43H,AL;写入控制寄存器;写入控制寄存器MOV AL,40H;计数初值,只送高;计数初值,只送高8位位OUT 41H,AL;初值送通道;初值送通道1MOV AL,0B4H;控制字;控制字(10110100B)OUT 43H,AL;写入控制寄存器;写入控制寄存器MOV AL,04H;先设置计数初值低字节;先设置计数初值低字节OUT 42H,AL;初值低;初值低8位送通道位送通道2MOV AL,03H;后设置计数初值高字节;后设置计数初值高字节OUT 42H,AL;初值高;初值高8位送通道位送通道2MOV AL,84H;控制字;控制字(10000100B)OUT 43H,AL;写入控
7、制寄存器;写入控制寄存器INAX,42H;读通道;读通道2计数器值计数器值方式方式0方式方式1方式方式2方式方式3方式方式4方式方式5通道通道0通道通道1通道通道2工作工作方式方式门控信号触发方式门控信号触发方式电平触发方式电平触发方式(上升沿检测)(上升沿检测)边沿触发方式边沿触发方式边沿触发器检测门控信号的上升沿,计数器控制逻辑电路在每个时钟脉冲的上升沿采样边沿触发器,检测是否被外部门控脉冲触发过CLKiWRn=443210n=5543210GATEiOUTiINTRINTR停止计数CLKiWRn=443210n=5543254GATEiOUTi321单脉冲宽度单脉冲宽度CLKiWRn=4
8、43210410GATEiOUTin=5重复周期432104343210CLKiWRn=4432105432GATEiOUTi5重复周期432104321010重复周期CLKiWRn=4432104321GATEiOUTi定时时间43n=40软件启动(第一次)软件启动(第二次)CLKiWRn=4432104321GATEiOUTi定 时 时 间0定 时 时 间A15 A8 A7 A6 A5 A4 A3A2A1A01 1 11 1 1 10011 1 11 1 1 1011FFF9HFFFBH1 1 11 1 1 11011 1 11 1 1 1111FFFDHFFFFH1 1 11 1 1 11001 1 11 1 1 1110FFFCHFFFEH8253A8259A通道通道0:工作方式:工作方式0,计数值,计数值 100=64H 工作方式选择控制字:工作方式选择控制字:00010000 B=10 H