计数器/定时器8253

组成

数据总线缓冲器、读/写控制逻辑、控制字寄存器和3个结构完全相同的计数器,分别编号为0、1、2.

数据总线缓冲器

8253与系统数据总线相连接时用的接口电路。
数据信息:

  1. CPU的初始化控制字
  2. CPU向某一计数器写入的计数初值
  3. 从计数器读出的计数值

读写控制逻辑

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的点亮或熄灭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值