我是靠谱客的博主 大力猎豹,最近开发中收集的这篇文章主要介绍74LS161计数器(多位数码管显示),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天要记录的问题是,有关于在用计数器计数时,低位向高位的进位信号该怎么“产生”;因为意识到这个问题是因为在做转速传感器测量的实验,里面用到的计数器是74LS161,所以就以74LS161为例子。

首先是一位显示的16进制计数器:

  • list itemXFG1的频率被四分频之后的结果即是转速(测量结果)

然后是一个简单的两位显示的16进制计数器:

  • list item这里选择将低位的进位信号作为高位的计数脉冲信号,乍一做好像没有什么问题,但是,这个测量是存在误差的,也就是说数码管的显示存在波动,所以最后结果的显示体现的误差会非常明显,或者说,这样的设计是不合理的。

20211212


可以发现在实验过程中,数码管的显示在63(或127等其他数字)时总是有较大误差,或者说显示错误,后来经过多次尝试,发现是进位信号这里出现了问题。
于是做出了如下修改:将低位输出的四位的与非结果作为进位信号。

  • list item可以发现,这样就可以“正确地波动了”。

74ls161计数器+多位数码管显示

那么这到底是什么原因呢?

因为很久没有接触过数电知识(其实上学期刚学完,但是我的的记性实在不好),所以在想原因的时候还走了不少弯路。
开始觉得高位计数器不能从0变到1,后来发现修改之后的不也不能变······,这个理由属实是扯淡了,可能是脑子还晕着没有睡醒,因为计数器的计数模式本来就是递增的,怎么可能还变小呢;后来注意到74ls161计数器有一个特点是“同步置数,异步清零”,但貌似和这个错误不太搭边。于是重翻了一遍数电书,原来是触发方式的问题!

这里的74ls161的触发方式是上升沿触发,前者失败的原因在于低位由1110变为1111之后产生进位信号,RO=1,之后再来一个计数脉冲,RO=0,那么对于高位计数器来说,它的计数脉冲就来自于低位计数器的RO,在它变为上升沿的时候触发有效,高位计数器+1,故而明明显示结果应该是0F,却变成了1F。

晚上写的过程中,我又想到修改方案其实不用这么复杂,进位信号依然可以用上,只要使用它的非门输出即可了。等以后有时间想起来了再实验吧。

最后附上实验电路。
(https://download.csdn.net/download/qq_47890410/61845793)

https://download.csdn.net/download/qq_47890410/61844534

最后

以上就是大力猎豹为你收集整理的74LS161计数器(多位数码管显示)的全部内容,希望文章能够帮你解决74LS161计数器(多位数码管显示)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部