微机——8253计数器/定时器
写在前面
微机期末整理重点,复习自用
8253计数器/定时器
内部大致结构同8255,3个通道,A1 ~ A0片选
控制字寄存器
![image-20211224192634116](https://img2022.cnblogs.com/blog/1741898/202203/1741898-20220302200731199-1701013960.png)
初始化编程步骤
- (控制端口)写入控制字,设置计数通道的工作方式等
- (对应的通道端口)设置计数初值
工作方式
- 方式0 计数结束中断
![image-20211224210154234](https://img2022.cnblogs.com/blog/1741898/202203/1741898-20220302200731495-280034993.png)
OUT计数结束产生一个上升沿,可用来触发单次中断
注:触发中断后记得先重新填入计数初值再结束中断
GATE接高电平:允许计数
再使用需要重新设置初值
- 方式1 可编程单稳态输出
![image-20211224210252438](https://img2022.cnblogs.com/blog/1741898/202203/1741898-20220302200731724-1523752480.png)
GATE上升沿:开始计数
OUT产生一个宽度为时钟脉冲宽度×n的负单脉冲
- 方式2 比率发生器
![image-20211224210306263](https://img2022.cnblogs.com/blog/1741898/202203/1741898-20220302200731995-702694626.png)
在最后一次计数时产生一个短暂的负脉冲
可以连续生成一个一定频率的负脉冲序列
可以用来定时触发中断
- 方式3 连续方波
![image-20211224210320780](https://img2022.cnblogs.com/blog/1741898/202203/1741898-20220302200732306-1451816513.png)
n=偶 连续对称方波
n=奇 基本对称的连续方波,正脉冲会多一个周期
-
方式4 软件触发选通
-
方式5 硬件触发选通
8253应用举例
-
产生各种定时波形
- 输出频率为……的方波(方式3)
- 产生宽度为……的单脉冲(方式1)
- 指定方式触发,给定时间常数(计数初值)
- ……
n=时钟脉冲频率/输出频率=输出脉冲宽度/时钟脉冲宽度
1MHz=106Hz=10-6s=1μs
-
通道级联(这种题一般都是产生连续方波,只是需要分频,算一下计数初值就好)
单通道的计数范围达不到要求,所以必须级联8253使用
就是分频,假设用两个通道分频
总的计数初值=通道0的计数初值×通道1的计数初值
CLK0接时钟脉冲,OUT0接CLK1,OUT1接输出外设
读取计数值
命令字的RL1 RL0两位为00时是锁存,发出命令后计数停止可以用IN读出。
注意:当该通道为同时使用高8位和低8位时,要读两次,先读出低8位,再读出高8位