十进制加减可逆计数器的设计Word文件下载.docx
《十进制加减可逆计数器的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《十进制加减可逆计数器的设计Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
2.1设计方案
这里设计模为10的十进制加/减可逆计数功能的电路的设计方案主要为如图2-1所示:
图2-1设计方案
2.2设计思路
2.2.1手控自动加、减计数器设计思路
因为74LS192就已经为10进制计数器,给输入端CPU输入脉冲信号就进行10进制加法计数。
给输入端CPD输入脉冲信号就进行10进制减法计算。
所以需要解决的问题是如何切换加、减状态切换。
经过分析,应该实现如下表2-1的功能
表2-1自动加、减信号控制脉冲输入端的方式
信号M
计数方式
CPU
CPD
加法
CLK
1
减法
这一功能通过一片数据选择器即可实现。
2.2.2自控可逆方式计数器设计思路
设计自控方式的一种加/减可逆计数顺序如图2-1所示。
图2-2自控计数器的计数顺序
从上述图中可以看出,当加计数到最大值9后自动进行减计数;
当减计数到最小值0后自动进行加计数,如此不断循环。
所以要解决的关键问题是:
电路如何自动产生加/减计数控制信号M。
其中的一种设计思路如图2-3所示。
图2-2自动控制信号产生电路的设计思路图
2.2.3手动脉冲设计思路
当电路不暂停的时候,计数器自动计数。
当按下暂停的时候,计数器停止计数。
这时可以手动输入脉冲,通过分析可得设计方案图如图2-3所示。
图2-3手动脉冲设计思路图
由图可以看出当暂停按钮没有按下的时候,输出信号端是由脉冲信号源。
当暂停按下去的时候,此时输入信号端不受脉冲信号源的影响,而是由手动脉冲来决定了。
当没有按下手动脉冲时,输出信号端为持续高电平。
只有按下手动脉冲按钮才能产生低电平。
所以通过按动手动按钮就可以实现手动产生脉冲信号了。
2.3集成电路及元件选择
“脉冲信号产生电路”采用NE555。
“加/减计数控制电路”采用一片数据分配器74LS138。
“加/减计数控制信号自动产生电路”采用集成D触发器74LS74和集成门电路74LS00、74LS32。
集成计数器采用74LS192。
“显示译码电路”采用74LS48。
LED数码管采用共阴极数码管。
3实现方案
3.1脉冲发生电路实现方案
3.1.1基本原理
脉冲发生电路采用555定时器组成的多谐振荡器振荡产生周期为1s的矩形脉冲,从而为计数器提供触发信号。
其中,可以通过R1,R2,C来控制充放电的时间。
本实验采用电阻R1(100K电阻)、R2(50K电位器方便实际电路中调整波形)、和电容C(10uf).其仿真图如图3.1所示。
图3-1多谐振荡器电路图
3.1.2有关参数及计算
1、理论数据:
多谐振荡器的振荡周期T计算公式为:
T=0.693*((R1+2R2)*C1)
各参数的值:
R1=100KR2=22KC=10uf
将各参数的值带入上面的计算公式得:
T=0.999999999s≈1s
3.2加/减/计数器控制电路实现方案
加/减计数控制电路主要由74LS138构成。
74LS138芯片是常用的3-8线译码器,常用在单片机和数字电路的译码电路中,74LS138的引脚排列如图3-2所示,真值表如表3-1所示。
图3-274LS138的引脚排列图
表3-174LS138的真值表
由74LS138构成的加/减计数控制电路如图3-3所示。
图3-3加/减计数控制电路
当开关接到高电平时,A=1,此时Y1输出脉冲信号,如果Y1连接着74LS192的CPD端,此时计数器就能进行减法计数功能。
当开关接到低电平时,A=0,此时Y0输出脉冲信号,如果Y0连接着74LS192的CPU端,此时计数器就能进行加法计数功能。
3.3自动控制可逆计数器实现方案
计数单元电路主要由十进制计数器74LS192构成。
74LS192是同步十进制可逆计数器,它具有双时钟输入,并具有清除和置数等功能,其引脚排列图如图3-4所示。
图3-474LS192的引脚排列图
图中:
为置数端,
为加计数端,
为减计数端,
为非同步进位输出端,
为非同步借位输出端,P0、P1、P2、P3为计数器输入端,
为清除端,Q0、Q1、Q2、Q3为数据输出端。
其功能表如表3-2所示。
表3-274LS192的功能表
输入
输出
MR
P3
P2
P1
P0
Q3
Q2
Q1
Q0
×
d
c
b
a
↑
加计数
减计数
用74LS192结合由74LS138组成的加/减控制电路,再加上一个单刀三掷开关就构成了十进制加/减/加减可逆计数器的计数单元电路,如图3-5所示。
图3-5计数单元电路原理图
当开关接到反馈电路时,由图可以看出,当触发器D=1时,计数器到9或者到0时给D触发器一个高电平,产生的上升沿使D触发器置1,并使D=0。
当触发器D=0时,计数器到9或者到0时给D触发器一个高电平,产生的上升沿使D触发器置0,并使D=1。
通过这样能使计数器的加减状态发生改变,从而实现可逆计数功能。
考虑到组合逻辑电路部分可能发生竞争-冒险现象,这种由于竞争而产生的尖峰脉冲会引起D触发器的误翻转,造成错误的结果。
所以在D触发器的CLK端前面加一个滤波电容,过滤掉产生的尖峰脉冲。
3.4译码显示单元电路设计实现方案
3.4.1译码显示单元电路设计
计数器实现了对时间的累计以8421BCD码形式输出,译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为七段数码管的正常工作提供足够的工作电流。
译码器是一个多输入、多输出的组合逻辑电路。
它的工作是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。
译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数字分配,存储器寻址和组合控制信号等。
译码器可以分为通用译码器和显示译码器两大类。
用于驱动LED七段数码显示常用的有74LS48。
3.4.2译码器74LS48
74LS48是BCD-7段译码器/驱动器,其输出是OC门输出且高电平有效,专用于驱动LED七段共阴极显示数码管。
其功能是把输入的8421BCD码ABCD译成七段输出a-g,再由七段数码管显示相应的数。
由74LS48和LED七段共阴极数码管组成一位数码显示电路。
若将个位、时位、百位计数器的输出分别接到相应七段译码器的输入端,便可进行不同数字显示。
在译码器输出与数码管之间串联的R为限流电阻。
当计数器在CP脉冲的作用下,就应将其状态显示成清晰的数字符号。
74LS48的管脚如图3-6所示。
在管脚图中,管脚LT、RBI、BI/RBO都是低电平是起作用,作用分别为:
LT为灯测检查,用LT可检查七段显示器个字段是否能正常被点燃。
BI是灭灯输入,可以使显示灯熄灭。
RBI是灭零输入,可以按照需要将显示的零予以熄灭。
BI/RBO是共用输出端,RBO称为灭零输出端,可以配合灭零输出端RBI,在多位十进制数表示时,把多余零位熄灭掉,以提高视图的清晰度。
图3-674LS48的管脚图
74LS48的功能:
74LS48的功能表如表3-3所示。
表3-374LS48BCD七段译码驱动器功能表
74LS48引脚功能-----七段译码驱动器功能表
十进
制数
输入
BT/RB0
输出
LT
RBI
A
B
C
D
e
f
g
H
/
2
3
4
5
6
7
8
9
(1)译码功能:
将LT,RBI和BI/RBO端接高电平,输入十进制数0~9的任意一组8421BCD码(原码),则输出端a~g也会得到一组相应的7位二进制代码(74LS48驱动共阴极,输出3FH、06H、5BH…;
74LS47驱动共阳极,输出COH、F9H、A4H…)。
如果将这组代码输入到数码管,就可以显示出相应的十进制数。
(2)试灯功能:
给试灯输入加低电平,而BI/RBO端加高电平时,则输出端a~g均为高电平。
若将其输入数码管,则所有的显示段都发亮。
此功能可以用于检查数码管的好坏。
(3)灭灯功能:
将低电平加于灭灯输入时,不管其他输入为什么电平,所有输出端都为低电平。
将这样的输出信号加至数码管,数码管将不发亮。
(4)动态灭灯功能:
RBI端为灭零输入端,其作用是将数码管显示的数字0熄灭。
当RBI=0,且DCBA=0000时,若LT=1,a~g输出为低电平,数码管无显示。
利用该灭零端,可熄灭多位显示中不需要的零。
不需要灭零时,RBI=1。
3.4.3显示器LG5011AH
图3-7是共阴极式LED数码管的原理图,使用时公共阴极接地,使每个发光二极管都处于导通状态,而且这7个发光二极管a到g分别由相应的BCD七段译码器来驱动。
图3-7共阴极LED数码管的原理图
选用型号为LG5011AH的数码管,LG5011AH的管脚功能图如图3-8所示,
图3-8LG5011AH的管脚图
3.4.4译码显示电路
译码显示电路由共阴极译码器74LS48和七段数码管LED组成。
74LS48和共阴数码管的连接图如图3