组成
数据总线缓冲器、读/写控制逻辑、控制字寄存器和3个结构完全相同的计数器,分别编号为0、1、2.
数据总线缓冲器
8253与系统数据总线相连接时用的接口电路。
数据信息:
- CPU的初始化控制字
- CPU向某一计数器写入的计数初值
- 从计数器读出的计数值
读写控制逻辑
1.CS# 片选信号
2.RD# 读信号
3.WR# 写信号
4.A1A0 端口选择信号,分别对应通道0~1,以及11对应控制字寄存器端口
控制字寄存器
7、6位:选择通道口
5、4位:读写:00计数器锁存,供CPU读,01只R/W低字节,10只R/W高字节,11先低后高字节
3~1位:方式选择:000方式0,001方式1,x10方式2,x11方式3,100方式4,101方式5
0位:1是BCD码计数,0是二进制计数
工作方式
方式0——计数结束中断方式
方式1——可编程单稳态输出方式
方式2——比率发生器
方式3——方波发生器
方式4——软件触发选通
方式5——硬件触发选通
控制字
通道0工作与方式3,输出频率为2kHz的方波,所用的时钟脉冲频率为1MHz
为了输出连续的2kHz的方波,应使时间常数N0=1MHz/2kHz=500
MOV DX,PORT_CTL
MOV AL,00110111B ;通道0,先读写低字节后高字节,方式3,BCD计数
OUT DX,AL
MOV DX,IN0
MOV AL,00H
OUT DX,AL
MOV AL,05H
OUT DX,AL ;送入500
通道1产生宽度为480微秒的单脉冲
MOV DX PORT_CTL
MOV AL,01110011 ;通道1,方式1,先读写低字节后高,BCD计数
OUT DX,AL
MOV DX,IN1
MOV AL,80H
OUT DX,AL
MOV AL,04H
OUT DX,AL
通道2用硬件方式触发,输出单脉冲,时间常数为26
MOV DX PORT_CTL
MOV AL,10011011 ;通道2,方式5,BCD,只读写低字节,因为时间常数为26H,低字节足够了
OUT DX,AL
MOV DX,IN2
MOV AL,26H
OUT DX,AL
功能
主要用来帮助产生各种定时波形或控制LED的点亮或熄灭。