电路
每按一次按键74HC93的4个输出口就会输出计数的二进制码,从0000到1111共16个数。
将输出接入CD4511的4个输入口就能在数码管上显示数字了。
原理说明
74HC93是一个4位二进制计数器。
内部有3个触发器。
触发器原理
1. D输入什么电平,Q就输出什么电平,但是必须在时钟引脚的高电平时才会改变Q的输出。
比如目前Q的输出为0,当D输入1的时候,Q仍然为0
只有在时钟信号上升沿发生时D的1才会输出到Q上。
2. Q反的输出永远和Q相反
Q输出1时,Q反就输出0,反之亦然。
(参考)触发器的内部逻辑电路
再回来看看最开始的那张图
Q反作为输入接在D上,这导致每一次时钟的上升沿发生时,Q的输出都不一样
- 第1次时钟上升沿:Q输出1,Q反输出0,D输入0
- 第2次时钟上升沿:Q输出0,Q反输出1,D输入1
- 第3次时钟上升沿:Q输出1,Q反输出0,D输入0
- 以此类推
所以,Q的输出波形如下:
Q的输出和时钟的输入波形对应关系如下,可以发现波形的频率减半了。
接着,第一个触发器的输出又作为第二个触发器的时钟输入,这就导致第二个触发器对信号再次分频,第二个触发器的Q输出频率又会减半。
以此类推,第三个又进行了一次分频。频率继续减半。图略。
再看看这里,时钟信号引出一条线并用一个非门将时钟信号取反。
把这4个点作为计数器的输出
当芯片的输入时钟波形如下时
那么这4个点的输出信号是这样子的
把高电平记作1,低电平记作0,那么就得到下面的图
这个图看起来很普通,但将这个图旋转90度以后就能发现,这4个点的输出正好是0-15这16个数字的二进制编码。是不是很神奇?
给每个点接上LED就是本文开头的左侧的电路了。只不过时钟信号是由按键来提供的。
将这4个输出引脚接在LED的BCD译码芯片就能将二进制的0-9转换成人类可读的数码管数字了。
如果需要更多位数的计数器只需要级联更多的触发器即可。8位触发器可计256个数,32位触发器可计65536个数。以此类推。