该计数器可实现按键计数、增减控制、手/自动清零等功能。需要准备下列元件:共阴极7段数码管、按键开关、CD4511(BCD锁存/7段译码/驱动器)、CD4516(可预置4位二进制加/减计数器)、CD40106(或7414,六反相施密特触发器)、CD4001(或7400,四2输入与非门)、CD4093(或74132,四与非施密特触发器)以及面包板、电阻、电容若干。另外还需要准备+5V稳压电源一台,或自制电源模块.
本电路以计数器集成块为核心,其输人为:计数、清零、增减切换三个按键,其输出经译码驱动器处理后,由数码管显示。原理框图如下图所示。
一、计数器
根据设计要求能增减计数,应选用可逆计数器,本设计选用可预置4位二进制加/减计数器4516,如下图。计数脉冲从CP输入,每到来1个脉冲上升沿,二进制输出数据改变1。如果U/D端为高电平,就增加1;反之减少1。RD为异步清零端,RD为高电平时、计数器清零。本设计就是要对这三个输入端进行控制。
此外,其他控制端也应合理设定:LD为异步数据预置控制端,当LD高电平时,DO~D3上的数据置入计数器中,为计数控制端,控制计数器的计数操作,CI=O时、允许计数,CI=1时、保持。至于究竟设置为高电平还是为低电平,请自行考虑。
二、按键控制
按键开关一般有两种接法,一种是平时为低电平,按下变成高电平,如下图(a)所示,图中A点为控制信号输入端子;另一种相反,平时高,按下后变低,如下图(b)所示。读者可自行选择脉冲按键的接法,但清零键必须按(a)图接,读者可自行分析其原因。
三、译码驱动
计数器输出的4位二进制数据不能直接送至数码管进行显示,并且4516也无法驱动点亮发光二极管。
本设计选用7段译码/驱动器4511,引脚排列下如图所示。其中Al、A2、A3、A4为BCD码输入,A1为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时BI端应加高电平。另外4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。a~g是7段输出,可驱动共阴LED数码管。
另外,如下图所示,4511显示数“6”时,a、b段消隐;显示数“9”时,e、d段消隐,所以6、9这两个字形不太美观。若需要设计普通的数字显示,可选择4026、4033作为译码驱动;若需要驱动共阳极数码管可选用7447、7449、7446、74247等。
四、七段数码管
要进行数字显示最常用的器件就是七段数码管,它是由a、b、c、d、e、f、g七个LED组成。通过使不同的LED组合发光,达到数字和字母的显示效果,如图5所示。一般的LED额定电压为直流2.7V左右,因此我们在使用时要串联一个分压电阻。阻值一般选400Ω左右,如果需要高亮显示或者扫描显示,阻值可适当减小。
七段数码管有CC和CA两种类型。CC型是共阴极数码管.每段LED的阴极连接在一起、通过阳极控制某段的亮灭,如下图(a)所示;CA型是共阳极,与CC型相反,如下图(b)所示。可以观察到,两者引脚排列基本相同,只不过公共端接的分别为电源和地线。如果不清楚准备的数码管是何种类型,可以进行简单测试:将3脚或8脚接地,另取lk电阻,一端接+5V电源,一端触碰其它管脚,若亮则为共阴,不亮则为共阳。该方法还可逐个确定各LED所对应的引脚。
五、按键防抖
如果读者按照上述步骤完成了设计,那么基本计数功能已经实现了。但是,实际测试中会发现一个严重的问题,每按一次按键,数字会跳过好几个,按键的时候动作再温柔也无法避免,这是为什么呢?
这是因为,按键按下与松开的瞬间都会产生时通时断的抖动,如上图(a)所示,有条件的读者可以使用示波器进行观察。抖动会造成计数干扰,按一次键可能计多个数。为了消除抖动的影响,可以采用积分电路与施密特触发电路消除抖动,如下图所示。积分电路中电容器在达到饱和之前的进行充电,从而将抖动部分变成了平滑的曲线,如上图(b)所示。抖动时间一般为10~lOOms,因此,本设计选取R=330Ω,C=10μF(若使用电解电容请注意正负极不要接反),施密特触发器选择40106(也可选用7414)。
六、自动清零
在测试中,细心的读者会发现,增计数达到9之后,再按键数字不会变化,这是为什么呢?
原因很简单,4516为4位二进制计数器,输出数据可能超过9,而驱动电路不能对9以上的数字进行驱动。解决这个问题需要增加自动清零电路,使电路达到10时自动归零。显然在输出10时的真正二进制输出为“1010”,因此,可以取Q3和Ql作为触发信号,当两者同时为1时、向4516的RD端提供高电平清零。请读者自行设计,建议设计时不要采用或门实现,而应采用常用的与非门。与按键防抖中的施密特非门统筹考虑,想一想能否仅用一块集成电路完成防抖和清零?四与非施密特触发器(74132、4093)能不能做到?另外,减计数时、到0自动置9的功能较难实现,能力较强的不妨挑战一下。
七、多位显示
在实际应用或竞赛中,经常需要进行多位显示,这就需要多个数码管,也就必须多个4511BCD进行译码驱动。每个4511BCD需要4条输人数据线,N位的数码管显示则需要4N条二进制数据线。为了简化硬件,可以对4511BCD的锁存控制端LE(5脚)进行控制、完成数据线的并联复用。扫描信号的控制借助十进制计数器CD4017完成,如下图所示。读者可按此框图扩展显示电路,需要提醒的是,扫描多位显示虽然节省线路和器件资源,但增加了数据传输与控制的复杂度,同时数码管亮度也有明显减弱。
本文由易到难、循序渐进的完成了具有按键输入和数码管数据输出功能的简易计数器,并针对其实用性做出必要的改进,如按键防抖、自动清零、多位显示等。该设计结构简单、易学易懂、移植性好、扩展性强。
不但适合电子设计的入门练习;亦可灵活拆分,作为电子设计的输入模块和输出模块直接使用。该简易计数器电路原理图下图。
网友评论