十进制加减可逆计数器的设计文档格式.docx
《十进制加减可逆计数器的设计文档格式.docx》由会员分享,可在线阅读,更多相关《十进制加减可逆计数器的设计文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
减法
这一功能通过一片数据选择器即可实现。
2.2.2自控可逆方式计数器设计思路
设计自控方式的一种加/减可逆计数顺序如图2-1所示。
图2-2自控计数器的计数顺序
从上述图中可以看出,当加计数到最大值9后自动进行减计数;
当减计数到最小值0后自动进行加计数,如此不断循环。
所以要解决的关键问题是:
电路如何自动产生加/减计数控制信号M。
其中的一种设计思路如图2-3所示。
加/减计数控制信号M
计数器减计数到0产生的脉冲信号
计数器加计数到124产生的脉冲信号
图2-2自动控制信号产生电路的设计思路图
2.2.3手动脉冲设计思路
当电路不暂停的时候,计数器自动计数。
当按下暂停的时候,计数器停止计数。
这时可以手动输入脉冲,通过分析可得设计方案图如图2-3所示。
信号控制电路
手动脉冲信号
暂停信号=0
暂停信号=1
图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,在多位十进制数表示时,把多余零位熄灭掉,以提高视图的清晰度。
Vccfgabcde
BCLTBI/RBORBIDAGND
12345678
161514131211109
74LS48
图3-674LS48的管脚图
74LS48的功能:
74LS48的功能表如表3-3所示。
表3-374LS48BCD七段译码驱动器功能表
74LS48引脚功能-----七段译码驱动器功能表
十进
制数
输入
BT/RB0
输出
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-9所示。
图3-9译码显示电路图
3.5手动脉冲发生电路实现方案
图3-10手动脉冲电路图
如图3-10所示,由图可以看出当暂停按钮没有按下的时候,输出信号端是由脉冲信号源。
当暂停按下去的时候,与非门4脚为低电平,与非门6脚为高电平,此时脉冲信号源不起作用,而是由手动脉冲来决定了。
由于当暂停按钮按下时,电源和地线短路,这种情况是不允许的,所以在电源和按钮之间串联一个10K的上拉电阻。
图3-11按钮抖动图
按钮按下去的期间为产生抖动,如图3-11所示,可能会连续产生几个较小脉冲,影响电路。
此时可以利用电容的充放电特性,通常在按钮两端并联一只电容,来达到滤除抖动带来的干扰,这样就能把前沿抖动和后沿抖动去除。
3.6清零功能实现方案
根据74LS192的功能表可以看出,清零的方法有两种,一种是复位法,通过给MR端一个高电平来进行清零,另一种是预置数法,先把D0、D1、D2、D3接地(相当于0),通过给
一个低电平,达到置零的目的。
这里选择第二方法,如图3-12所示:
图3-12清零电路设计图
通过图分析,可以看出当清零按钮按下去的时候
为0,此时74LS192置为预设好的0000.,即达到了清零的目的。
因为之前说过,电源和地线不能直接相连,所以要在电源端串联一个10K的电阻。
防止清零的时候整个电路短路。
3.7总原理图的设计实现方案
将计数电路、显示译码电路、加/减法/加减可逆控制电路、清零电路和手动脉冲电路连接起来就构成了符合设计要求电路图,如图3-13所示。
图3-13手动、自动控制加/减可逆计数器原理图
4Proteus仿真
Proteus软件是英国Labcenter
electronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
打开该软件,按照如图X-X所示布置完整个电路图之后,点击proteus右下角图标
中的
图标,开始仿真,
仿真先在可逆计数的模式下计数:
先加法计数,从0计数到9,当加计数到最大值9后自动进行减计数,当减计数到最小值0后自动进行加计数,如不断循环。
仿真中的一个状态如图4-1所示。
图4-1完整电原理图
十进制加法仿真:
从0计数到9,然后又跳到0,不断循环。
十进制减法仿真:
从9计数到0,然后又跳到9,不断循环。
清零按钮仿真:
按下清零之后,数码管马上显示0,计数器重新从0开始计数。
暂停按钮仿真:
按下暂停之后,计数器停止计数。
手动脉冲仿真:
按一下手动脉冲,计数器计数一次。
从仿真结果可以得出,在Proteus软件中仿真结果与之前设计方案所要求的结果完全一样,说明电路图达到设计要求。
5制版与调试
5.1DXP注意事项
电路绘制的时候主要是注意各个元器件的封装和实际买回来的元器件的管脚大小及距离相对应,并有选择地采用排针作为信号的输入以及输出和直流电源的输入。
元器件采用先手动布局。
布线采用自动布局,然后在这基础上手动调整布局,布线时需要设计好参数。
由于做电路板的条件有限,不可能按照工厂印刷版的参数来设定。
所以为了方便做板,一般线条大小为0.7mm,地线为1.5mm,过孔为0.5mm,焊盘为1.8mm。
电路板的长宽为:
98mm×
125mm。
实际板子大小为:
105mm×
145mm,绘制好的pcb的sch电路图看附录图2。
Pcb板请看附录图1.
5.2制作PCB板的流程
设计好原理图sch→→改变封装→→绘制pcb板→→布局布线→→打印pcb图纸→→印制铜板→→腐蚀铜板→→钻孔→→焊接元器件→→测板→→修改电路→→测试(直到符合设计要求)。
5.3注意事项
(1)在测试过程中,若某项指标偏差较大,则根据设计表调整修正相应元器件的值。
(2)制作板子过程中,为了节省材料,节约资源,尽量用最少的东西完成最佳的功能。
所以板子元器件布局紧密。
而提高抗干扰能力,布线时尽量短,少。
焊盘过孔设计合理。
5.4调试结果与分析
对安装好的电路按一下方法进行调整和测试:
(1)仔细检查装好的电路,确认元件与导线连接无误后连通电源。
(2)在电路输入端输入5V电源,接上电路后看数码管是否能正常显示数字,并自动计数。
若没有正常计数,应该检查电路,找出故障原因。
(3)若数码管的数字能正常跳动,可进一步进行调试,观察其他功能是否满足设计要求,若不满足设计要求应该根据不满足设计要求的相关元件进行检查,使其达到设计要求。
测试结果显示自动加减/可逆加减完全符合设计要求,但是555多谐振荡器的振荡频率为0.91hz,与理论设计的不符,所以通过改变电位器的阻值来使实际的振荡频率大致变为1Hz。
在手动脉冲的情况下实际中的按钮抖动问题比较明显,会出现按一次手动脉冲按钮,数字跳动几下的情况。
介于个人的经验不足,通过尝试换不同大小的电容,但是还是没有完全解决按钮抖动的问题。
课设总结
课程设计是培养学生综合运用所学知识,是发现、提出、分析和解决实际问题、锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
通过此次的课设,我不仅学到了很多书上没有的知识,而且巩固了以前所学到的知识。
让我知道了光光学好理论知识是没用的,要通过实践把理论知识结合起来才能算是真正的学到知识。
在课设的设计过程中,不断有新的问题出现,这时要通过查资料和搜索相关的文献来解决这些问题,强化了我自己自学能力和动手能力。
积累了大量有用的设计经验。
做课设保持良好的态度和心态是非常重要的,不能一遇到困难就放弃或者去抄袭别人的方案。
而是要冷静的去思考应该如何去解决,怎么解决才是最好的。
总之,课设的这段时间我确实受益匪浅,看着自己做出的成果,感觉只要努力了就有回报。
谢辞
这次课程设计的能够顺利地完成,感谢在课设期间每位帮助过我的同学,特别是我们班的同学,他们和我分享了很多以往的经验,让我少走很多弯路。
还要感谢所有传授我知识的老师,是他们的悉心教导使我有了一定的专业课知识,这也是课设能够得以完成的基础。
再次感谢传授给我知识以及给我帮助和鼓励的老师,同学和朋友,谢谢。
参考文献
[1]伍时和主编.数字电子技术基础.清华大学出版社,2009年4月
[2]高建新等主编.电子技术实验与实训.机械工业出版社,2006年8月
[3]高吉祥主编.电子技术基础实验与课程设计.电子工业出版社,2002年
[4]孙淑艳主编.电子技术实践教学指导书.中国电力出版社,2005年10月
[5]毛期俭主编.数字电路与逻辑设计实验及应用.人民邮电出版社,2005年
[6]吕思忠等主编.数字电路实验与课程设计.哈尔滨工程大学出版社,2003年
[7]邓勇等主编.数字电路设计完全手册.国防科技大学出版社,2004年6月
[8]周润景主编.PROTEUS入门实用教程.机械工业出版社,2007年9月
附录
附录图1
《课程设计1》元器件清单示例
学号:
0900820521姓名:
陶文豪
课题:
设计M=10的十进制加/减可逆计数器
序号
名称
数量
单价
备注
NE555
三八译码器74ls138
47译码器74ls48
D触发器74LS74
计数器74LS192
或门74LS32
与非门74LS00
电容10uf
电容10nf
10
电容1nf
11
电容10pf
12
电容0.1uf
13
7段共阴数码管
14
插针*40
15
按钮
16
单刀开关
17
单刀双掷开关
18
电阻10K
19
电阻100K
20
精确电位器50K
21
合计
22
附录图3