微机接口 可编程定时/计数器8253
来源:互联网 发布:sql服务器无法启动 编辑:程序博客网 时间:2024/05/20 17:27
可编程定时/计数器8253
一、组成
- 3个独立的16位计数器(CLK 0,CLK 1,CLK 2)
- 共有六种工作方式供选择
- 数据总线缓冲器和读写控制逻辑
- 外形、引脚、功能兼容,最高频率不同
RD#和WD#分别是读写控制引脚;
CS#是片选信号;
A1,A0是片内地址选择引脚。
8253的三个计数通道在结构上和功能上完全一样,每个通道均有两个输入引脚CLK和GATE,一个输出信号引脚OUT
二、计数初值和编程命令
• 计数初值
– 计数初值寄存器用来寄存计数初值
– 计数工作单元为16位减1计数器,它的初值是计数初值寄存器内容
– 计数单元对CLK脉冲计数,每出现一个CLK脉冲,计数器减1,当减为零时,通过OUT输出指示信号表明计数单元已为零
– 作为定时器工作当计数单元为零时,计数寄存器内容会自动重新装入计数单元,因为CLK输入是均匀的脉冲序列,所以OUT输出是频率降低了的脉冲序列(相对于CLK信号频率)
ps:方式2、3;(因为可以重装,2、3都是初值自动重装,但是2是周期负脉冲,3是方波)
– 作为计数器工作只关注在CLK端出现(代表事件)的脉冲个数,当CLK端出现了规定个数的脉冲时,OUT输出一个脉冲信号
ps:方式0、1、4、5都不会自动置初值,其中0,4是软件启动区别在于0输出电平,4输出负脉冲;1,5是硬件启动区别是1输出电平,5输出负脉冲。
• 计数器工作过程
1. 将控制字写入控制寄存器,指示8253的工作方式;
2. 将计数初值写入计数寄存器;
3. 计数单元开始工作,对CLK脉冲计数,每出现一个CLK脉冲,计数器减1;
4. 当计数单元减为零时,通过OUT输出指示信号表明计数单元已为零
• 读写操作及编程命令2种情况:
写命令字操作(OUT命令)
读当前计数值操作(IN命令)
• 写操作(芯片初始化)
芯片加电后,其工作方式是不确定的,为了正常工作,要对芯片初始化。
初始化的工作有两点:
1. 向控制寄存器写入方式控制字
– 选择计数器(三个中之一个)
– 确定工作方式(六种方式之一)
– 指定计数器计数初值的长度、装入顺序、计数值的码制(BCD码或二进制码)
2. 向已选定的计数器按方式控制字的要求写入计数初值
工作方式命令字的格式计算公式为
:Ci=CLK/OUT
Ci计数初值,CLK输入时钟频率,OUT输出时钟频率
• 读当前计数值(锁存后读操作)
在事件计数器的应用中,需要读出计数过程中的计数值,以便根据这个值做计数判断。
为此,8253内部逻辑提供了将当前计数值锁存后读操作功能。
具体作法是:
1. 先发一条锁存命令(即方式控制字中的RL1RL0=00),将当前计数值锁存到输出计数器;
2. 执行读操作,得到锁存器的内容。
三、工作方式和特点
8253作为一个可编程计数器/定时器,可以用6种工作模式,不论工作在那种模式,都遵守下面几条基本规则:
1. 控制字写入寄存器时,所有控制逻辑电路立即复位,输出端OUT进入初始状态;
2. 初值写入后,要经过一个时钟上升沿和一个下降沿,计数执行部件才开始进行计数;
3. 通常在时钟脉冲CLK的上升沿,门控信号GATE被采样– 模式0,4中,门控信号为电平触发– 模式1,5中,门控信号为上升沿触发– 模式2,3中,门控信号为电平或上升沿触发(二种)
4. 在时钟脉冲CLK的下降沿,计数器作减1计数– 0是计数器所能容纳的最大初始值二进制时,0相当于2^16;BCD码时,0相当于104
- 微机接口 可编程定时/计数器8253
- 【微机实验系列】可编程定时/计数器与中断控制
- 可编程定时/计数器 8253/8254
- 可编程计数器8253
- 微机原理复习笔记—可编程并行接口芯片8255
- 微机原理==可编程串行接口8251A(12)
- 可编程定时/记时器8253工作方式验证实验
- 微机接口总结
- 微机接口知识点
- 微机接口复习结构图
- 微机接口习题
- 微机硬件接口 提纲挈领
- 微机接口复习篇
- 可编程串行接口芯片Intel8251A
- 定时计数器源代码
- ARM中的定时/计数器
- 单片机之定时/计数器
- 单片机的定时/计数器
- 计蒜客编程之求最大子数列
- 有return的情况下try catch finally的执行顺序
- 【机器学习】信用风险评估评分卡建模方法及原理
- MySQL-MERGE存储引擎的使用测试
- 主从服务器的问题
- 微机接口 可编程定时/计数器8253
- C语言
- Android 日期选择器
- css3flex方式水平,垂直居中
- ActiveMQ消息策略
- PL/SQL Developer链接服务器上的Oracle
- 字符编码和gcc问题
- ionic环境搭建
- 爬虫实战(1)——爬取校内网招聘信息的名称