前言
计数器是常见的时序电路,主要通过累计脉冲的个数来进行技术、测量和控制。使用现有的芯片设计一个计数器是数电学习过程中一定会遇到的问题,今天尝试使用74190实现一个85进制的加法计数器。
74190功能表
设计思路
由于74190是十进制可逆计数器,所以要想实现85进制的加法计数器,至少需要两片74190(两片74190最大可以实现10*10=100进制的计数)。常用的计数器设计方法有进位置数法与反馈清0法。题主选择进位置数法实现,但是会提供反馈清0法的分析思路。
- 进位置数法:当达到计数器的最大值时,进位信号会由低电平变为高电平,所以可以用进位信号作为置数信号使用。该方法的核心思想是减法求模数
- 反馈清0法:使用一个与门收集输出信号,当满足输出条件时,可以视作计数器整体输出变为高电平,所以可以将该信号作为置数信号使用,让输入归0。该方法的核心思想是加法求模数
进位置数法
求置数输入是进位置数法的关键,其公式如下:
2n-D=M
其中n为输出的个数,n个输出的最大模为2n(你也可以整体的替换为计数器的对应进制的最大模数,如一片74190的最大模数为10);D为置数输入;M为需求模数;
所以要实现85进制计数器(85模),置数输入应为D=10*10-85=15即低位片置数输入为0101
,高位片输入为0001
。
反馈清0法
反馈清0要注意其存在一个暂态输出作为清0信号,所以实际模数比要求的模数多一:
(0 + D - 1 )+ 1 =M => D=M
若要实现85模,则当输出为0101 0101
时触发清0信号(使用一个四输入与非门连接清0端)
原理图及仿真
以进位置数法为例,在Quartus中的原理图及仿真波形图如下: