图 附2-6 共阴数码管引
图 附2-7 555定时器引脚图
为了准确地计时,设计中不能缺少秒脉冲产生电路,即能产生周期为一秒的脉冲的电路,用555设计的秒脉冲产生电路。
因为周期为一秒,所以频率是1赫兹。图中电容的充放电时间分别是:
t1=R2×C1×ln2≈0.7R2×C.t2=(R1+R2)×C×ln2≈0.7(R1+R2)C. 所以555的3端输出的频率为:
f=1/(t1+t2)≈1.43/[(2R1+R2)C]
我们采用的电阻和电容值分别是:
R1=15KΩ,R2=64KΩ,C1=10uf,满足上式,即得到的是秒脉冲 3.报警电路
此部分电路主要功能是实现报警功能,当主持人按下开始键或者有选手抢答或者在规定的时间内无人抢答,则信号灯亮以示警报。
这部分通过控制555多谐振荡器的工作与否得到输出信号的电平高低来控制信
号灯的亮灭。首先,当主持人按下开关后74ls00D输出为高电平,振荡器工作,三极管导通,信号灯亮;同时利用两片74ls160芯片构成计数器,当计数满三十秒后使得三极管导通,即三十秒内没有选手抢答信号灯亮;当有选手抢答时,三极管导通,信号灯亮。 电路图如下:
总体电路设计
抢答器的使用原理。
首先是各个选手分别对应的按钮编号是S0、S1、S2、S3、S4、S5、S6、S7,抢答后显示器上显示的分别是0、1、2、3、4、5、6、7。
然后是主持人对整个电路系统清零,将开关置于“清零”的位置,输出低电平,分为两路:一路与74LS279的R端相连,抢答部分显示器灭灯无显示,实现了清零;另一路低电平输出到计数器74LS192的LD端,而CR端也是低电平,所以使得对应显示器输出预置的数据。
接下来主持人根据题目的难易程度设置抢答时间,此设定可以通过调节输入两片74LS192的四个输入端D、C、B、A的高低电平来进行(例如要设定时间为30秒,就将十位的74192的D、C、B、A分别置位为0、0、1、1,而将各位的74LS192的D、C、B、A都置于0)。当主持人宣读完题目说“开始”并将开关置于“开始”位置后,输出为高电平,此高电平有两路方向:一路输出到74LS192的LD端,使其处于高电平而开始减计数;一路输出到74LS192的R端。
当任意一个选手抢答时,例如7号抢答时,八位优先编码器74LS148编码输出的A2~A0成为与输入信号相对应的三位二进制码000,作用于RS触发器
74LS279的S端,输出端分别为1111,输出到七段译码显示器74LS48的二进制码经其译码后输出到七段共阴数码管上,则显示器上显示对应的编号7。此时,74LS48的RI/RBO端输出高电平加一非门与74LS192的借位输出端BO也输出高电平同时加与非门,高电平作用于74LS148的选通输入端EI,其他选手若再按动对应按钮也无对应输出,即实现了抢答功能;同时,74LS48的RI/RBO端经非门输出电平由高变低,与秒脉冲发生器产生的秒脉冲相与后输出为0,使得无脉冲抵达计数器74LS192的Down端。计数器停止工作,保持原来显示不变,即实现了暂停减计数使其记录抢答时间的功能; 总的电路图
CKCKCKU8U1ABCDEFGABCDEFGABCDEFGU9RPACK 7R12180 |? RPACK 7R13180 |? RPACK 7R14180 |? 13121110915141312111091514OAOBOCODOE~LTOF~RBIOG~BI/RBOOAOBOCODOE~LTOF~RBIOG~BI/RBOVCC5VU274LS48DU6OAOBOCODOE~LTOF~RBIOG~BI/RBO1312111091514U774LS48DABCD74LS48DABCD712635471263547126ABCD74LS279D~1S1~1S2~1R174LS279D15~2S314~2R22Q2131Q141Q272Q19R910k|?~1S3~1R2112S112~~2S210~2R1U3AU3B~BO13~CO12~BO13~CO12326723165QAQBQCQDU10QAQBQCQD3267354U11VCCJ85V15A110BC9D11~LOAD14CLR5UP4DOWN91011A0A1A2GSEOJ91413U4Key = J74LS148D123456781201234567EIKey = Space15A110BC9D11~LOAD14CLR5UP4DOWN74LS192D74LS192DVCCVCCU5A74LS00D5VVCC5VR1R210k|?10k|?R310k|?R410k|?R510k|?R610k|?R710k|?R810k|?R1015k|?5VRSTR1168k|?DISTHRTRICONJ0J1J2J3J4J5J6J7C1100nFC210nFGND555_VIRTUALVCCOUTU13A74LS04D5VVCCU17AA1VCC5V3456ABCDU14QAQBQCQD1413121174LS11DQ17ENPRCO1510ENT9~LOAD1~CLR2CLK74LS160DU153456ABCDQAQBQCQD14131211U18MPS6514Key = AKey = BKey = CKey = DKey = EKey = FKey = GKey = HU12A7ENPRCO1510ENT9~LOAD1~CLR2CLK74LS160DU16AGND74LS11D74LS00D
设计过程中的问题及解决方案:
在开始的时候遇到了很多问题。首先要面对的问题是multisim这一软件的使用,因为以前没有接触过这一软件,所以开始的时候根本就不会用,特别是一些元器件的查找更是困难,有的元件根本就找不到。后来通过通过同学之间的讨论
还有查阅一些书籍以及慢慢的熟悉逐步掌握了元件库的分类和查找方法。电路图设计软件使用方法掌握之后就开始设计电路,问题也跟着来了,首先是抢答器的设计,在清零的功能设计上出现了很多方案,但是最终还是使用了BI/RBO的的功能清零,因为这种方法比较可靠,不需要其他额外的条件即可满足设计要求,但是还是存在一点问题就是当74ls279如果出现RS端均为零则会使得输出不稳定,对元器件会有一定的损害;其次在计数方面也出现了问题,就是根据555计数器的脉冲周期算出来的时间在运行时延时了很多,最终通过修改步长解决了这一问题;最后在报警器设计方面,为了实现题目中的要求,开始考虑的是跟计时器共用一套计数器和555触发器,但是在想了很长时间之后还是放弃了这一思想,因为既要保证计数器正常工作,同时还要保证报警装置报警时间非常短,同时计数的条件和报警条件也存在差异,所以实现起来就会很困难。最后通过讨论,决定再加一套计数器来控制报警装置,并共用555触发器,用以保证计时的同步,实现预定时间内无人抢答后报警。但是,即使这样还是存在一些问题,由于对蜂鸣器工作原理的利用不够熟练,所以开始用蜂鸣器不能实现报警功能,最后我们用信号灯代替了蜂鸣器来实现报警功能。
用到的主要芯片功能简介: 74LS148引脚图
74LS148真值表如下图:
输 入 Is I0 I1 I2 I3 I4 I5 输 出 I6 I7 Y2 Y1 Y0 YEX Ys 1 0 0 0 0 X 1 X X X X 1 X X X X 1 X X X X 1 X X X X 1 X X X X 1 X X 0 X 1 X 0 1 X 1 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 X X X X 0 X X X 0 1 X X 0 1 1 X 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 74LS148的输入端和输出端低电平有效。I0~I7是输入信号,Y2~Y0为三位二进制编码输出信号,IS=1时,编码器禁止编码,当IS=0时,允许编码。YS是技能输出端,只有在IS=0,而I0~I7均无编码输入信号时为0。YEX为优先编码输出端,在IS=0而I0~I7的其中之一有信号时,YEX=0。I0~I7各输入端的优先顺序为:I7级别最高,I0级别最低。如果I7=0(有信号),则其它输入端即使有输入信号,均不起作用,此时输出只按I7编码,Y2Y1Y0=000。
74ls279:
74LS279引脚图
74LS279真值表
R S × 0 1 0 1 Qn+1 Qn 0 1 Qn 状态 保持 不允许 清0 置1 保持 × 0 0 1 1 二进制译码器是将输入的二进制代码的各种状态按特定含义翻译成对应输出信号的电路。也称为变量译码器。若输入端有n位,代码组合就有2n个,当