8254芯片详解——6种工作方式、命令字、计数初值的计算

首先8254的芯片引脚如下图:

在这里插入图片描述

6种工作方式

8254计数初值的确定

在这里插入图片描述

工作方式

8254中只有2、3方式输出周期性的波形,0、1、4、5方式则只输出单次波形。

0方式:当写入计数初值后,启动计数器开始计数,OUT信号变为低电平,并维持低电平至减法计数器的内容减到0时,停止工作,OUT信号变为高电平,并维持高电平到再次写入新的计数值,因此0方式输出单次波形。如下图为0方式输出的波形,计数初值为4:

在这里插入图片描述
需要注意的是,0方式是由软件启动,写入计数初值之后就开始计数,无需外加启动信号;计数结束,自动停止,无需外加停止信号。门控信号GATE用于允许或禁止计数,为1表示允许计数,为0表示禁止计数。

1方式:当写入计数初值后,再由GATE门信号启动计数,OUT变为低电平,每来一个CLK,计数器减1直到计数值减到0时,停止工作,OUT输出高电平,并维持高电平到GATE门信号再次启动。1方式输出单次波形。如下图为1方式输出的波形,计数初值为3:

在这里插入图片描述
需要注意的是,1方式是由硬件启动,GATE门信号用于计数过程的启动,即在GATE出现0->1的上升沿后开始计数;计数结束,自动停止,无需外加停止信号。

2方式:当写入计数初值后,启动计数器开始减1计数,直到减到1时,OUT输出一个宽度为时钟CLK周期的低电平,接着又变为高电平,即高:低=N-1:1(N为计数初值),且计数初值自动重装,开始下一轮计数,如此往复,不停地工作。2方式输出连续波形。如下图为2方式输出的波形,计数初值为3:

在这里插入图片描述
需要注意的是,2方式是由软件启动,写入计数初值之后就开始计数,无需外加启动信号;计数结束,不能自动停止,需外加停止信号。门控信号GATE用于允许或禁止计数,为1表示允许计数,为0表示禁止计数。

3方式:当写入计数初值后,启动计数器开始计数,OUT输出占空比为1:1或近似1:1的连续方波,且计数初值自动重装,开始下一轮计数,如此往复,不停地工作。3方式输出连续波形。当计数初值为偶数时,输出波形占空比为1:1,如下图(a),高:低=1:1;当计数初值为奇数时,输出波形占空比为近似1:1,如下图(b),高:低=3:2

在这里插入图片描述
需要注意的是,3方式是由软件启动,写入计数初值之后就开始计数,无需外加启动信号;计数结束,不能自动停止,需外加停止信号。门控信号GATE用于允许或禁止计数,为1表示允许计数,为0表示禁止计数。

4方式:当写入计数初值后,启动计数器开始计数,OUT输出高电平,减1计数直到计数值减到0时,在OUT端输出一个宽度等于时钟CLK脉冲周期的负脉冲,并停止工作,然后OUT信号变为高电平,并维持高电平到再次写入新的计数值。4方式输出单次波形。如下图为4方式输出的波形,计数初值为5:

在这里插入图片描述
需要注意的是,4方式是由软件启动,写入计数初值之后就开始计数,无需外加启动信号;计数结束,自动停止,无需外加停止信号。门控信号GATE用于允许或禁止计数,为1表示允许计数,为0表示禁止计数。

5方式:当写入计数初值后,由GATE门信号启动计数,OUT输出高电平,减1计数直到计数值减到0时,在OUT端输出一个宽度等于时钟CLK脉冲周期的负脉冲,并停止工作,然后OUT信号变为高电平,并维持高电平到再次写入新的计数值。5方式输出单次波形。如下图为5方式输出的波形,计数初值为3:

在这里插入图片描述
需要注意的是,5方式是由硬件启动,GATE门信号用于计数过程的启动,即在GATE出现0->1的上升沿后开始计数;计数结束,自动停止,无需外加停止信号。

工作方式比较表:

在这里插入图片描述

命令字

方式命令

用于初始化8254。下图为方式命令字格式以及代表的含义:

在这里插入图片描述

锁存命令

锁存命令是将当前计数值先锁存起来再读。锁存命令只有当要求读取当前计数值时才使用,因此不是程序中必须使用的。

格式如下:

在这里插入图片描述
可看到,锁存命令中有效的只有高4位,D7D6用来选择锁存的计数器,D5D4固定为00。

8254在系统中的应用设置

如下图,为微机系统配置在8254应用:

在这里插入图片描述

在微机中,82C54A 是CPU外部定时系统的支持电路,作为微机的系统资源,它的3个计数器通道在PC台式微机系统中的用途分别是:OUT0用做系统时钟中断,OUT1用做动态存储器定时刷新,OUT2用做发声系统音调控制,如上图。

为了实现上述应用功能,对系统配置的82C54A进行了相应的初始化和计数初值的设置,如下表。这些设置数据放在ROM-BIOS中,可以被用户使用,并且向上兼容。

在这里插入图片描述

  • 28
    点赞
  • 176
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花无凋零之时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值