电子基础课程设计报告
设计课题:数字密码校验设计
专业班级:09级电子1班
组长:韩 忙 学号:20090813007 组员:冯少平 学号:20090813005
高 腾 学号:20090813006 何 滔 学号:20090813007 沈非迟 学号:20090813029
指导教师: 罗 英 设计时间: 11年9月22日—11月30日
0
目 录
一、摘要„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 2
二、设计任务与要求„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 三、方案设计与论证 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3
3.1 方案选择„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 方案一:555集成电路构成的密码锁电路„„„„„„„„„„„„„„„„„„3
方案二:基于74LS1944的移位寄存电路设计 „„„„„„„„„„„„„„„„4 方案三:基于74LS153的选择器密码电路„„„„„„„„„„„„„„„„„„4 方案四:基于8D锁存器74LS373的锁存密码电路„„„„„„„„„„„„„„5
3.2 方案选择论证„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„6
四、单元电路设计、参数计算及元器件选择„„„„„„„„„„„„„„„„„„„7 4.1总体框图设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„7 4.2 功能模块部分„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„9
4.2.1 脉冲电路„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„9 4.2.2 密码保存及读取„„„„„„„„„„„„„„„„„„„„„„„„„„11
4.2.3 密码比较电路„„„„„„„„„„„„„„„„„„„„„„„„„„„13 4.2.4 密码恢复与修改模块„„„„„„„„„„„„„„„„„„„„„„„14 4.2.5 电路状态显示与报警电路„„„„„„„„„„„„„„„„„„„„„16 4.2.6 时间控制电路„„„„„„„„„„„„„„„„„„„„„„„„„„17 4.2.7 错误次数计数电路„„„„„„„„„„„„„„„„„„„„„„„„„19 4.2.8 锁定计时电路„„„„„„„„„„„„„„„„„„„„„„„„„„„„20
五、总原理图及元器件清单„„„„„„„„„„„„„„„„„„„„„„„„„„„„„22 5.1 总原理图„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„22 5.2 元件清单„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„24 5.3实验仪器工具„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„24 六、安装与调试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„25 七、性能测试与分析 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„27
1
7.1 测试过程中得错误、分析及解决办法„„„„„„„„„„„„„„„„„„„„27 7.2 电路最终性能 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„28 八、结论与心得„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„29 九、参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„30
一、摘要
本次课程设计的题目是电子密码校验设计,由输入密码、设定密码、寄存电路、比较电路、显示电路、修改密码组成。本电子密码锁利用数字逻辑电路,实现对锁的电子控制,突破了传统的机械锁的单一性、保密性低、易撬性的缺点,数字电子密码锁具有保密性高、使用灵活性好、安全系数高的优点。
主要工作部分是将输入密码与正确密码进行比较,密码正确时绿色发光二极管亮,密码错误则红色发光二极管亮。输入电路将8位密码并行输入,并将8位二进制密码寄存在74LS373中。密码是否相等利用同或门将输入的密码和预定密码进行比较,当相等时便触发红色发光二极管,不相等则作用到绿色发光二极管。同时经过显示译码器作用到数码显示器显示密码。它的电路结构简单,但电路具有复杂的数字逻辑关系,密码破译难度较大,操作简单,用户使用方便。综合看来,此电子密码锁实用性强。随着电子产品向智能化和微型化的不断发展,数字逻辑电路电子芯片已成为电子产品研制和开发首选的控制器。
二、设计任务与要求
1、利用所学电路的理论和知识进行设计, 设计一个电子锁,密码为8位二进制代码,当开锁输入码与密码一致时,绿灯亮表示锁开,当开锁输入码与密码不一致时,红灯亮且报警。
具有错误报警,输入时间限制,输入次数限制及锁定电路等功能。在锁定期间一切操作无效并且发出警报声。
2、操作流程:
1):电路初始化后,初始密码位1111 1111,输入密码后按下确认按钮绿灯亮。 2):按下修改密码按键,输入用户密码,输入用户密码后将修改键拉回并打乱开关。
2
3):电路已经储存用户密码,再次开锁时应输入用户密码,按下确定键绿灯亮即可。若密码输入错误,确定后,红灯亮并且伴随警报声。
4):开锁时,电路开始计时,并且会记录误操作次数。当电路计时打到120秒或者误操作达到四次时,电路自锁256秒。自锁期间一切操作无效,并且会一直发出警报声。
三、方案设计与论证
基础课程设计本着锻炼同学们基本方案构思和实际动手能力的目的,方案更多的要求是实际实施性强尽量能在同学们的力所能及范围内解决问题。本次要求设计制作一电子密码锁,要求能实现对锁的电子控制,具有密码灵活度高,安全系数大等特点。 3.1 方案选择
3.1.1 方案一:555集成电路构成的密码锁电路
图 1 555时基集成电路组成的电子密码锁电路
方案一电路原理较简单,当且仅当所有的K1开关单开、K0开关闭合时,电路才会执行开锁命令。
这个电子密码锁是“密码”安排在钥匙和锁孔中,只有两者的“密码”一致才能开锁。555的各主要功能(控制)引脚均用“密码”开关才能连接到适当的位置(地线或电源正端)。所有标有K0的开关是正确开锁时应当连通的开关,所有标有K1的开关是正确开
3
锁时不能连通的开关。这样,只有所有的K0连通,555第3脚才会输出高电平,双向可控硅3061才导通使继电器吸动,完成开锁动作。否则,555第3脚不会有高电平输出,无法开锁。此方案相对简单,灵活度低,需要制作相应的钥匙和锁孔,要求机械程度比较高。
3.1.2 方案二:基于74LS1944的移位寄存电路设计
此方案采用74LS116,74LS135,74LS25,74LS194,74LS147,555时基电路等组成。输入0-9任意四位数字作为开锁密码,在下次开锁时必须输入设定密码,输入密码确认后开锁工作。先有74LS147编码将输入信号编码,再有锁存电路将输入信号锁存。由74LS194组成的一位电路控制锁存工作,再由74LS135,,7LS25组成密码校验电路。当密码验证成功则输出开锁信号。
主要原理:应用电子元件组成电路实现对输入信号检验功能,如符合要求则输出开锁信号。本电路设计单元电路有密码输入电路、密码校验电路、密码存储电路、开锁电路、报警电路、电源电路等。其方框图如图2所示:
图2 移位寄存器电子密码锁结构图
本电路可以实现预知密码功能,在密码锁工作时,只有在规定时间内输入正确的密码,密码锁才工作,否则密码锁报警电路被启动而发出报警声。
3.1.3 方案三:基于74LS153的选择器密码电路
是以数据选择器74LS153为中心的数字逻辑电路,外加与门74LS08,译码器74LS139,六反相器74LS04增加了电路数字逻辑关系的复杂度,加大了密码破译的难度系数。此方案密码输入部分由八个单刀双掷开关组成,密码输入灵活度非常高,变换多样,密码验证部分由四块数字芯片组成,增加了电路的数字逻辑关系,使密码锁的密码破译难度加大,具有密码输入灵活度高,安全系数大的特点。
4
原理图如下:
图3: 74LS153组成的数字电子密码锁原理框图
数字电子密码锁的核心是由数据选择器74LS153组成,电路分为三部分:第一部分是由八个单刀双掷开关组成的密码输入电路,密码输入共有28=256种输入方式,但能正确开锁的输入方式只有16种;第二部分是由与门、译码器、反相器、数据选择器组成的密码验证部分,当密码验证正确后,数据选择器会输出一路高电平;第三部分由三极管、继电器、电磁铁组成的执行开锁电路。总的电路结构简单,但具有复杂的数字逻辑关系,密码破译难度较大,操作简单,用户使用方便。综合看来,此电子密码锁实用性强,但相对复杂且一次破译机率为1/8。
3.1.4 方案四:基于8D锁存器74LS373的锁存密码电路
此方案采用两个8D锁存器74LS373用于存储密码和接收输入信号,两者进入比较器进行比较。共设有八个用户输入键,74LS373为密码存储器件。先将74LS373的C和OC端置低电平,使其处于送数状态。当输入密码后将OC置于高电位,则锁存器将密码信号锁存,然后按键复位。当下次开锁时只有在规定时间内,规定次数内输入密码才会发出开锁信号,否则不能开锁。并且,当时间或输入次数到达一定值后,电路会自锁一段时间,并发出警报声。警报结束后,电路回复原状,计时及计数归零,直至下一次开锁动作。 第一部分是密码输入部分,由八个开关构成,密码输入共有28=255种输入方式(注:从0000--1111 共256种组合),但能正确开锁的输入方式只有1种,安全性较高。第二部分是由74LS373组成的密码锁存电路,通过控制74LS373的芯片管脚特性来控制芯片的工作状态。第三部分是由74LS85组成的比较器(或者是同或门组成的比较电路),来比较输入信号与寄存密码的相等与否。第四部分是有二极管构成的开锁信号电路,黄灯处于待开状态,绿灯表示开锁正确,红灯及警报声表示开锁错误或者是锁存状态。第五部分是计时及计数部分,计时表示从准备开锁到开锁完成所规定的时间,以及锁存时期的锁存时间,计数记录的是误操作的次数。
5
方框图如下:
密码输入 显示开锁密码 保存初始密码 保存开锁密码 显示设置密码 密码校验 正确与否 正确 开锁 指示灯亮 错误 不开锁 错误输入的次数计数 图4:基于74LS373的密码锁原理方框图
此方案逻辑复杂程度高,电路结构适中,密码共256种,开锁密码只有一种,在不知道密码的情况下,一次性开锁的概率为1/256,安全性非常高。另外,电路还具有其他附加功能(如:计时开锁,计数开锁、锁定电路等),对于用户来说非常实用。 3.2 方案选择论证
方案一的灵活度低,电路需要制作钥匙和锁孔,锁的机械程度高。方案二的的精确性虽高,但是由于是串行输入,导致电路复杂程度很高。方案三的电路密码总数很多,但是在不知道密码的情况下的开锁几率高达1/8,显然不符合人们的生活需求。方案四的灵活度高,电路思路清晰,逻辑性强,开锁几率仅为1/256且有其他很多附加功能。但是密码仅有0/1两位键码,略显不足。
四套方案各有各的优点和不足,但选择方案时应遵循以下原则: 1):设计的密码锁操作简单易行。
2):设计电路实用,思路清晰具有逻辑性。
6
3):设计时所需的器件易于寻找。
4):考虑到密码锁的相应技术要求,比如可靠性,操作性等。
结合上述分析及这几点原则,最后我们选择使用第四种方案来制作我们的电子密码锁。
四、单元电路设计、参数计算及元器件选择
4.1 总体框图设计 锁存信号 警报 (红灯亮) 开锁信号 输入密码 计时 准备 按键输入 密码设置 输入寄存 确定 密码寄存 警报 (红灯亮) N 密码比较
图5:密码锁原理方框图
(绿灯亮)
7
总体思路:
(1)密码输入:通过八个开关按键进行密码输入。开代表1,关代表0。八个开关共有0000--1111共256种输入方式。
(2)保存初始密码:由于本设计利用8D锁存器74LS373进行密码的锁存,对于控制该芯片的管脚EN,LE即可将输入的密码保存。由于74LS373的本身芯片特性,在初始化没有允许信号的时候,Q0--Q7的输出为高阻态,显示电位为高电位。故而,初始密码可以理解为1111 1111。输入初始密码后,即可按下修改按钮(密码通过时,与开锁信号一同构成修改密码的信号)进行密码存储,存储完后复位修改按钮即可。也可以是利用复位按钮进行密码存储。
(3)输入开锁密码:在设置完初始密码后就开始进行开锁。输入开锁密码为并行输入,也是利用密码输入的八个开关按键进行输入。输入完成后,若电路此时未被锁定(电路误操作次数或操作时间达到一定程度时,电路发出锁定信号,一切操作不可用),按下确定按钮,即可使另外一片74LS373读入开锁密码。
(4)密码校验:要进行开锁就要将解锁密码与初始密码进行比较,如果相同就解锁,绿灯亮;如果不同就不解锁,红灯亮,并发出警报声。原本设计利用比较器74LS85进行比较,可是后来因为硬件原因,比较芯片错误。后采用利用同或门与与门结合的方式将对应的端口进行一一比较,只有八对密码完全相同的情况下才能输出1,否则输出0。通过判断输出即可判断密码的正确性。
(5)输入时间的限制:在准备输入时,会有一个准备开锁的信号发出,使得脉冲信号通过与门加载到74LS160与74LS161的级联计数电路上。通过输出控制,当输出为C0(120s)时,电路被锁定,拒绝输入等一切操作。
(6)错误输入次数的计数:错误次数的计数功能要求为,当输入错误密码连续达到4次之后就拒绝输入,而且数码管8和数码管7只显示“0”。当输入错误密码连续达到小于3次以下时,再输入正确的密码时计数器要清“0”。要实现这个功能我们采用了计数器74160,我们将最后的比较结果与计数器74160的CLOCK与MR端相连接,当输入错误时(红灯亮),端口电位从0变为1,计数器计数加。但是当比较结果为相等(绿灯亮)时就会对MR端置“0”,置零。当错误次数达到四次时,电路给出锁定信号,电路被锁定,拒绝输入等一切操作。
8
(7)锁定计时电路:利用两个74LS161计数器构成。当输入时间或输入次数达到限制时,给出信号致使脉冲信号加载到由两个74LS161级联构成的计数电路上。计数电路开始工作,并通过逻辑门给出锁定信号。锁住保存输入密码的74LS373的LE端口,使得不能读入所要输入的密码从而不能与保存用户密码的74LS373的数据进行比较。锁定期间红灯亮,并且发出警报声。当计数达到FF(共计时255s)时,锁定电路送出清零信号,使得限制计时和限制计数计数全部清零。电路回到初始状态。
4.2 功能模块部分 4.2.1 脉冲电路
此处提到的脉冲电路在计数器计时与报警电路的驱动中均用到,只不过是频率不同而已。就其理论上来说是一致的。
本次利用555组成多谐振荡器来产生脉冲波(计时电路频率1s方波,报警装置高频方波)只要通过控制对应的电阻与电容的对应参数,就可以控制输出端口的输出脉冲波的频率。
555定时器内部原理图和管脚图如下所示:
图6 555内部原理图 图7 555管脚图
本系统设计所需的秒脉冲是用555定时器构成多谐振荡器来产生的,电路设计如图7(a)所示。该电路没有稳态,只有两个暂稳态,也不需要外加触发信号,利用电源VCC通过R1和R2向电容器C充电,使Uc逐渐升高,升到2VCC/3时,跳变到低电平,放电端D导通,这时,电容器C通过电阻R2和D端放电,使Uc下降,降到VCC/3时,Uo跳变到高电平,
9
D端截止,电源VCC又通过R1和R2向电容器C充电。如此循环,振荡不停, 电容器C在VCC/3和2VCC/3之间充电和放电,输出连续的矩形脉冲,其波形如图7(b)所示:
C R2 R1 8 4 7 555 3 6 tw1 tw2 23+VCC Uc
VCC VCC
13Uo
0
t Uo Uc 0
0.1µF T t
(a) 555
(b)
图8 555构成的振荡电路及即波形
输出信号Uo的脉宽tw1、tw2、周期T的计算公式如下:
tw1=ln2*(R1+R2)C tw2=ln2R2C
T=tw1+tw2=ln2(R1+2R2)C
根据要求,该系统中要使555构成的多谐振荡电路产生10Hz的脉冲,因此我们可令R1= 15k,R2= 65k(滑动变阻器,用于调节最后的输出),C= 10uF,得到周期
T=ln2(15265)103101061.005s,即按照图8(a)连接的电路就可以产生约为1Hz的方波脉冲。
同理,按照以上算法,取C=0.01uf,R1=10k,R2为100k的滑动变阻器,通过调节滑动变阻器即可由3号管脚输出高频脉冲(驱动小喇叭,输出频率应该在1000Hz级别),即按照图9(b)连接即可
10
(a)秒脉冲电路 (b)高次脉冲电路
图9 555产生脉冲信号
由于1s脉冲信号的频率太低(为1Hz),利用普通示波器很难显示,只能利用二极管显示灯显示其输出状况。但高频信号可以用示波器显示并测得频率,本次试验高频信号的显示截屏如下:
图10 高频脉冲的输出显示
4.2.2 密码保存及读取
11
密码保存及读取利用的是本设计的核心芯片74LS373和8个输入开关组成的,结合其他一些信号构成的完整模块。图11为74LS373的管脚图及说明:
图11 74LS373的管脚图
74LS373的输出端 Q0--Q7可直接与总线相连。当三态允许控制端OE为低电平时,Q0--Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,Q0--Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,Q随数据D而变。当LE为低电平时,Q被锁存在已建立的数据电平。
引出端符号D0~D7 数据输入端 OE 三态允许控制端(低电平有效) LE锁存允许 Q0--Q7输出端。真值表:
Dn H L X X LE H H L X OE L L L H Qn H L Q0 高阻态 表1 74LS373真值表
12
根据要求,在这部分电路里要能做到寄存密码并且读取所输入的密码,所以共用到两个74LS373。一个用来保存密码,存完密码后将LE端口置零,则Qn将保存所要保存的用户密码。另外一个74LS373在电路不被锁住的情况下,即锁定信号不为零(不锁定),当输入完密码后,按下确定按钮,则由锁定信号与确认信号相与组成的控制信号将使这个74LS373的LE端口置一,则输出口Qn读取对应的Dn的值,读取密码成功。读取密码成功后,将与所保存的用户密码进行比较。
实际电路图如下图所示:
图12 密码保存及读取电路
4.2.3 密码比较电路
本部分是在电路未被锁定,确定按钮按下后,将输入密码与保存密码进行比较的电路。只有输入密码与保存密码完全相同的情况下给出开锁信号;否则,给出报警信号。在本设计本模块中,原本想利用两个74LS85(四位数值比较器)级联进行比较,最后由输出端FA=B,,FAB三个端口给出最后的开锁或是报警信号。但是在搭建电路过程中,由于所购买的74LS85芯片出现问题,不能实现所要的功能,最后才决定使用八个同或门(两输入相同
13
时输出为1)来代替设计时所需要的74LS85芯片。同或门由74LS86(四2输入异或门)与74LS04(六反相器)构成,用以完成最后所需要的同或门的逻辑关系,然后把各个同或门的输出放在与门的输出口即可。 电路图如下:
图13 密码比较电路
由上述电路图可知,只有当输入密码与所保存的密码对应位完全相同时,数据才会通过与门最后输出1,即输入密码正确。否则,任意一位不同,则对应数据通过同或门后的输出为0,导致最后经过与门后的输出信号为零,即输入密码错误。通过最后的输出情况,连接对应的LED灯指示,即可表示出密码的正确与否。
注:此方法虽然利用了较多的芯片与连线,逻辑性不如利用74LS85(四位数据比较器)所构成的电路图强,但是他们所实现的最终效果却完全相同,在没有74LS85的情况下我们选择了这种方案。
4.2.4 密码恢复与修改模块
这部分电路是为了实现电路的人性化而设计的。当输入正确后,用户可以有修改密码
14
的操作,当然,在密码输入错误或者是未输入密码前,用户是修改不了密码的。另外,当用户忘记密码而无法开锁时,电路还配有复位功能,即打开复位开关,重新输入密码,然后再关上开关,电路已锁存重新输入的密码。与修改信号不同的是,复位信号不需要先前的开锁成功信号,而可以直接进行密码设置。当然,在实际的密码复位按键的位置设计还应由具体的物理环境决定,外界人员是不能随便按下复位按键进行密码重置的。
具体的电路设计还是利用74LS373的附加管脚功能端LE。在OE为低电平的情况下,当LE端为低电平时,输出端Q输出原来锁存器内存储的值,只有当LE端为高电平的情况下,Q输出端读取对应当时D的输入的值,在LE回到低电平后锁存该值。具体电路是控制保存密码的74LS373的LE端口来控制该锁存器的操作,对应电路图如图14所示:
图14 密码修改与恢复电路
如上述电路图所示,当输入密码错误时,密码修改按键信号不能通过与门送至LE端口,故而在密码错误的情况下不能进行密码修改的操作;当输入密码正确时,打开密码修改按键,密码修改信号得以通过,通过与密码恢复按年共同组成的或门后使得74LS373(1)的LE端口接收到高电位,此时锁存器可以读取开关输入的新密码,输入完成后关上密码修改按键即可。另外,在用户忘记密码的情况下,直接通过密码恢复按键也可以进行密码重置,如图示,当打开密码恢复按键时,高电位通过或门到达LE端口,使得锁存器也可以读取开关输入的新的密码,输入完成后将密码恢复按键关下即可。
15
密码修改与密码恢复功能使得此密码锁电路的人性化特点得到了较好的体现。 4.2.5 电路状态显示与报警电路
电路由状态显示与报警电路组成。报警电路很简单,小喇叭负极接地,用警报信号控制高频脉冲输入到小喇叭的正极即可。在电路需要发生警报的时候,警报信号为1可以使高频信号通过;在正常状态不需要警报的情况下,警报信号为0,小喇叭得不到高次脉冲,不响。
状态显示状态由三个状态LED灯显示,当电路确认按键未被打开的情况下,黄灯亮,表示电路处于准备状态。密码输入并打开确认按键后,由密码比较电路进行比较,若密码正确,绿灯会亮。若密码不正确或是由于超时超次导致电路被锁的情况下,红灯会亮,并给出警报信号为1,使得小喇叭发出警报声。 电路图如下:
图15 状态显示及警报电路
如电路图所示,在电路确认按键未被打开的情况下,确认信号为0,使得比较信号红绿灯均不亮,通过非门后使黄灯亮。密码输入完成后,按下确认按键,确认信号为1,黄灯
16
灭,若密码正确则绿灯亮,否则红灯亮,误操作次数加1,警报信号为1,高频信号使喇叭发出警报。另外,在电路超时或超次之后,也会给出相应信号使得红灯亮,并发出警报声。状态显示及警报功能得以实现。 4.2.6 时间控制电路
此处电路设计的主要目标是为了添加密码锁的一个必要的附加功能,对输入密码的时间进行要求控制,在一定时间范围内若能输出正确的密码,则计时清零;若在规定时间内未能输入正确的密码,则电路将会被锁定,并发出警报。锁定时间内无法操作。
设计中采用典型的常用脉冲计数器74160(十进制同步计数器)与74161(十六进制同步计数器)进行计时,74160作为个位计时,74161作为十位计时。两者的管脚及工作方式完全相同,唯一的区别就是他们的计数位数不一样。
图16与表2分别是芯片74161(0)的管脚图及真值表:
图16 74161(0)的管脚示意图
74161(0)具有一下功能:
1、异步清零。当RD=0时,不管其他输入端的状态如何,不论有无时钟脉冲CP,计数器输出将直接被置零(Q3Q2Q1Q0=0000);
2、同步并行置数。 当RD=1,LD=0时,在输入脉冲CP上升沿的作用下,并行输入端的数据d3d2d1d0被置入计数器的输出值,即Q3Q2Q1Q0=d3d2d1d0。由于这个操作要与CP上升沿同步,所以成为同步预置数。
3、计数。当RD=LD=EP=ET=1时,在CP端输入计数脉冲的条件下,计数器进行二进制加法计数。
17
4、保持。当RD=LD=1,且EP*ET=0,即两个使能端有0时,则计数器保持原来的状态不变。这是,如果EP=0,ET=1,则进位输出信号RCO保持不变;如果ET=0,则不管EP状态如何,仅为输出信号RCO为低电平0。
真值表如下:
表2 74161(0)的功能表
计时电路中,通过开始按钮将1Hz脉冲信号送入计时器,计时电路开始计时,当计数到120s(电路显示为C0)时电路送出超时信号给到锁定电路中,锁定电路给出锁定信号将脉冲信号锁定,无法继续计数,直到锁定时间到达,给出清零信号,脉冲继续给如,电路归原,继续计时。
具体电路图如下图所示,电路初始状态下,锁定信号为1。开始按键也是清零信号的构成之一,在开始按键打开之前计数器的清零信号有效,只有打开按键,计数器才开始工作。打开开始按键后,秒脉冲信号通过与门加载到计数器上,进行计数。由高位计数器的Q2与Q3相与构成超时信号的输出,当高位计数器Q3Q2Q1Q0=1100(C)时,送出超时信号,电路输出锁定信号,脉冲被在外面,计数器保持输出不变,此时锁定电路开始计数,直到
18
锁定计数完成后,锁定结束信号构成计数器的清零信号,计数器清零,输出情况改变,锁定信号无效,继续进行计数。
图17 时间控制电路
4.2.7 错误次数计数电路
此部分电路是为了实现电路的错误计数功能。密码输入错误一次,计数器加一,计数到四次后送出锁定信号。设计中也是利用74160进行计数,将错误输出线接到CLOCK处,进行错误计数。
图18 错误次数控制电路
19
错误信号在确认按键打开之前为0,当确认按键打开并且输入错误时,错误信号变为1,产生一个上升沿,使得对上升沿计数的74160加一计数。Q2=1,即输出Q3Q2Q1Q0=0100(4)时,电路送出超次信号,给出锁定信号,错误信号不再变化,计数器保持不变。锁定电路开始计数,直到锁定计数完成后,锁定结束信号构成计数器的清零信号,计数器清零,输出情况改变,锁定信号无效,继续进行计数。 4.2.8 锁定计时电路
在本部分电路中,为了能够实现较为精确时间的锁定,仍然采取利用两个计数器74161进行计时。电路锁定条件(超时或超次)达到后,锁定计时电路开始工作,整体电路被锁定电路锁死。锁定计时电路计时完成后,给出解锁信号,即锁定结束,电路恢复工作。
图19 锁定计时电路
如电路图所示,当电路超时或者超次后,送出锁定信号的同时还会将会使秒脉冲通过与门使得锁存计时电路开始工作。送出的锁定信号会使密码读取74LS373处在不能工作的状态,也会使开始计时电路和错误计数电路保持输出不变。锁定计时电路的脉冲得以通过进行计时,当计时完成,两个74161的计时显示达到FF(255)时,两个芯片的RCO端口会同时为1,通过或门后给出锁定结束信号。锁定结束信号是或门后取反组成,故低电平有效。锁定结束信号有效时,开始计时、错误计数以及锁定计时所用到的74160或者74161全
20
部被置零。当开始计时或者错误计数被置零后,其输出不满足锁定条件,则锁定信号无效,电路又回到正常的工作状态。电路总共的锁定时间为255s,锁定期间电路会亮红灯并发出警报,除了关闭开始按键以外,其他所有操作不可行,对电路不会造成影响,较好的实现了密码锁的基本功能。
以下各图片是实物连接出来的部分效果图:
(a)实际中警报电路 (b)密码输入正确 绿灯亮 (c)密码输入错误 红灯亮
(d)实际中对应的限时限次及锁定计时显示
(e) 实际中总体电路概况
图20 实际电路中对应的图
21
五、总原理图及元器件清单
5.1 总原理图
图21 总原理图
22
电路总原理图如上图所示。由图中可看出,在准备开锁的时候应该打开开始按键,计时器计时开始。在电路未被锁定的情况下,由八个并行输入口输入密码后,按下确定按钮,将会对所输入的密码与存储的密码进行比较。比较结果通过红(错)绿(对)等进行反应。若密码输入正确,则限制计时及错误计数电路清零。在输入密码正确的情况下还可以按下修改密码按键进行密码修改。如果密码输入错误,则红灯亮,并且伴有警报声,错误计数电路将会加一,在电路未达到锁定条件的情况下还可以关上确认按键继续进行密码输入,若是密码能输入正确则会对计时及计数电路清零。若是密码输入错误次数达到四次或者限制计时时间超过120s,则会发出锁定电路并启动锁定计时电路。在锁定计时电路为到达计时完成的过程中,红灯亮,警报响起。在锁定计时电路计时完成后(共256s),会将限制计时及错误计数电路置零,锁定信号不成立,电路恢复正常状态。
工作流程简单框图如下:
图22 密码锁工作原理简单流程图
23
5.2 元件清单
元件序号 型号 功能 数量 备注 1 74ls373 地址锁存器 2 用于储存和读取密码 2 74ls86 四异或门 2 密码比较 3 74ls04 非门 4 4 74ls20 四输入与非门 2 5 74ls08 二输入与门 3 6 74ls32 或门 2 7 74ls160 十进制计数器 2 8 74ls161 十六进制计数器 3 9 74ls74 D触发器 2 缓冲 10 555 三五计时器 2 脉冲发生 11 七段数码显示管 5 显示计时、计数 12 电阻 5 10k*2,470*3 13 电容 4 0.01u*.3, 10u 14 滑动变阻器 2 100k 15 按钮 4 16 开关 8 17 Led灯(红色) 1 密码错误显示 18 Led灯(黄色) 1 等待状态显示 19 Led灯(绿色) 1 密码正确显示 20 小喇叭 1 密码错误警报 21 导线 若干 表3 元件清单
5.3 实验仪器、工具
数字电路试验箱3个、数字万用表一个、示波器一台
24
六、安装与调试
本电路的各个模块的设计及最终效果都是在Proteus仿真软件的辅助下得以形成的,
都在在Proteus中仿真得以通过了,达到了预期效果,也就是说电路在逻辑上是行的通的。由于电路模拟的结果并不能完全准确的模拟实际电路,所以这里的调试主要就是针对实际电路中出现的问题或不稳定情况进行调试。
首先验证各个芯片及所用元器件的好坏,然后将电路按照电路图按模块分别连出,测试每一个模块的具体功能能否实现,在模块内进行测试和修改。在各个模块功能都能实现的情况下,将各个模块连接起来进行测试,尽量少的减少错误。
在样品加电前,根据硬件设计图,数字万用表等工具仔细检查电路线路是否连接正确并核对元器件型号、规格和安装是否符合要求。应特别注意电源的检查,防止电源的短路和极性错误,并重点检查各连接线间是否存在相互短路的情况。
加电后,利用万用表检查各芯片插座上有关引脚的电位,测量各点电平是否符合正常情况,以检测对应的输入输出是否正确。在调试过程中,对各元件电源检查的过程中,应逐个加电,分析电路,在保证电源连接正确的情况下再加电测试,以防电路连接错误使得电源短路造成对电路的损坏。
下面是实际电路连接的具体过程中对不同模块电路的分别安装与调试过程: 1)连接密码保存与读取电路:测试74LS373芯片的管脚功能,测试管脚输出是否与要求一至,特别注意OE管脚和LE管脚对芯片的输入输出的影响。在连接开关的过程中,注意将开关连接到对应保存与读取密码的74LS373的对应管脚上,即保证输入输出对应,否则没有密码比较的意义。
2)连接密码比较保存电路:主要任务是测试同或门(实际是将异或门74LS86取非后得到的)的效果,观察其能否实现比较功能,将八个同或门的输出连接到与门后,测试最终的输出是否满足输入要求。
注:本设计过程中之所以改用同或门来替代原本设计的利用数值比较器74LS85,就是因为在密码比较功能模块的安装调试过程中发现了该芯片是坏的,而眼前有没有多余可用的比较器,于是就采用了同或门这种思路,同样能够达到比较密码正确与否的作用,但是
25
电路相对来说比较繁杂。
3)连接状态显示及报警模块: 测试LED的功能及亮度,将状态显示及报警模块连接处来模块连接处来。注意,此次试验的LED灯的导通电压约为1.8-2.3V间,而电路输出的驱动LED发光的电压一般都在4.7V左右,因此必须将LED与一个电阻相串联。同时,电阻又不能过高,否则LED灯的亮度不够,看不清楚,此次试验选择的是470欧的电阻。利用555芯片按照前述电路图将高频脉冲发生电路连接出来,测试输出脉冲的波形及频率,通过改变滑动变阻器调节输出频率,看起是否能使小喇叭报警。本次试验的波形如图10所示,输出脉冲频率为684.9Hz。然后将高频脉冲电路连接到电路中,使得电路能够有选择性的驱使喇叭报警。
4)连接时间控制,错误次数控制以及锁定时间控制电路:这部分电路的主要功能类似,都是通过74160或者74161对时间计时或者是对下降沿计数来工作的。检查74160与74161,以及数码显示管,连接出开锁限时限次以及锁定计时模块。这部分电路较为复杂,一定要理清楚思路。并利用实验箱上的脉冲源进行测试,看是否能够满足设计要求。还应注意,电路中时间控制电路与锁定时间控制电路都需要用到1Hz的脉冲进行计时,在连接的过程中还应注意两部分如果同用一个时钟脉冲源(555构成),是否会对显示造成干扰。在本实验过程中就出现这个问题,当两个计时电路分别练到脉冲源上时,各电路都分别能够完成要求,但将两个电路共同练到我们用555做成的时钟源时,就出现了很大程度上的干扰,数码显示出现跳动。因此在实际电路中,此次实验的时间控制电路的CLOCK端口连接的是555构成的脉冲源,而锁定计时电路的CLOCK端口连接在了实验箱所给定的1Hz脉冲源上,为的就是解决相互之间干扰的问题。
5)用555连出脉冲电路:这部分的电路包括驱动喇叭的高频脉冲电路和计时用的1Hz脉冲电路,分别在上述过程中已经阐述。主要还是控制555外围电路的电阻与电容的大小来控制所输出脉冲的频率(注:对占空比没有要求)。由于本次设计是密码锁的设计,要求的是对密码正误的判断和对超时超次情况的处理。对于时间限制应该没有特别精确的要求,故而对于秒脉冲信号来说,不需要特别精确的1Hz脉冲,频率相近即可。同样,对于警报电路所需要的高频脉冲来说,只要频率足够高就可以,而不必深究具体的频率,实验中测得的高频频率为684.9Hz。
26
6)在各功能模块都能够独立正常工作时,对比电路原理图,将各功能模块连接起来进行整机测试,看是否能够最终我们需要的效果。特别注意密码输入正误的比较,密码检验状态输出是否正确,时间、次数限定以及超时超次后电路的锁存效果在整体连接进行测试的时候能否都能达到预期效果。由于导线比较多,用到的实验箱也比较多,因此在连接过程中一定要注意模块与模块之间的连接,注意各个导线的借口处不要出现断或短的情况。最后进行整体调试,并根据整体调试效果检测电路、修改电路或是对原理图做出一定修改。在出现错误的情况下,应该利用万用表先对各个模块的连接部分的输入输出进行检测,然后再在有问题的模块中进行调试和修改。在连接过程中尤其要注意不要贸然对电路加电,应当经过一系列检查确认确定电路的连线正确后,然后再通电。否则,万一由于连线较多而造成短路或模块间的连接错误,极容易造成电源短路,烧坏芯片,对电路资源造成浪费,增加了复杂程度的同时也对电路本身造成一种伤害。
七、性能测试与分析
7.1 测试过程中得错误、分析及解决办法
电路连接完成,在电路调试的过程中密码比较与输入部分基本都达到要求,但显示模块及计数模块出的问题最多,以下为具体问题:
在最初的设计和连接电路的过程中,显示模块的问题最多。各显示模块在电路初始化后的初显示不为0,这就造成了电路无法正常计时,无法正常计数,甚至在初始化的过程中电路就已经进入锁定状态。为了解决这个问题,设计中将开始开关通过与门连接到了所有计数芯片的直接置数端,这样在开始按键打开之前,显低电平将所有的计时(芯片)置零,然后再打开开始按键。这样不仅达到我们电路的要求,也解决初始过程中显示不为0的情况了,稳定了时间与错误次数的控制,才稳定了电路的整体性能。
在错误计数电路中,由于74160是对上升沿的计数。因而当红灯的信号由零到一的过程中也就对74160的CLOCK端口送去了一个上升沿,电路本应该加一计数。然而,当电路密码输入错误,红灯亮时,错误计数电路的显示为出现无规律的跳动,而不是所需要的加一增长,不能够达到我们的要求。
分析其原因,应该是当计数芯片的CLOCK直接接收导线上从0到1的信号过程中,由于各种不稳定因素(电路比较复杂,连线之间的干扰、0--1变化时间等因素)使得计数芯片
27
的CLOCK端口接收的信号实际上是较为复杂的,从而造成的这种计数芯片数显不稳定、无规律跳动的这种结果。
后来,经过思考,我们决定利用一个D触发器缓冲一下输出结果并且能起到稳定的作用,使得计数芯片的CLOCK端口在密码输入错误时得到一个稳定的上升沿从而能稳定的输出。即将错误信号(红灯亮灭信号)连接到74LS74 D触发器的输入端,然后将输出Q连接到计数芯片74160的CLOCK端口上,看是否能够达到要求。果然,在错误信号和计数芯片中间加了一个D触发器后,计数显示非常稳定,效果得到了非常好的改善,达到了我们的要求。D触发器所需要的工作脉冲,就由警报电路的高频脉冲提供,由于频率较高,D触发器的输出几乎和输入的改变值同步,基本上没有对电路的时效性产生影响。
同样的问题也发生在开始按键和修改按键上,当开始按键打开时,开锁计时芯片开始工作,但是实际电路显示中却也会发生无规律不稳定的跳变,在开始按键后面加了一个D触发器后就非常好的解决了这个问题。在修改按键上,有时候当电路开锁信号到达时,打开修改信号本应该达到可以修改密码的要求,可是实际上却有一部分几率出现错误,后来我们将修改按键后的修改信号通过D触发器然后再接到74LS373上后,这个问题就不存在了,电路性能得到很好的提升。 7.2 电路最终性能
最终电路的效果基本上达到了我们的要求,能够较好的实现电路的各种要求。电路在开始信号发出后,用户拥有120s的开锁时间。在开锁过程中,如果出现错误,则红灯亮并且会发出警报,错误计数电路加一计数。当错误出现四次或者是开锁时间超过120s时,电路被锁定256s,锁定期间除了关掉开始信号意外的一切操作不可行。如果密码输入正确,打开确定按键,绿灯亮,表示开锁成功,并且计时、计数电路的显示会清零,不会对用户产生不必要的麻烦。
但是由于电路整体连线较多,结构比较复杂,电路偶尔也会出现一些不稳定的情况。我们经过测试,发现在电路出现错误现象的时候,有些芯片的管脚的输出与输入明显不符合该芯片的功能要求,从而造成整体电路的输入输出不满足要求。还有一些情况下,一些管脚的电位输出很奇怪(2.8-3.3V间,很难区分高低电位),这应该是电路的某些紊乱因素造成的,我们也不能较好的解决问题。
28
但是出现错误的情况还是很少的,基本上电路都处在正常的工作状态下(出错的概率非常小),电路还是相当稳定的,能够较好的达到电路要求。
八、结论与心得
在本次课程设计过程中,我们认为自己在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,解决困难的过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我们深深体会到这句千古名言的真正含义.我们今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.
对于课程设计来说,正确的思路是很重要的,只有你的设计思路是正确的,那你的设计才有可能成功。因此,我们在设计前必须做好充分的准备,认真查找详细的资料,为我们设计的成功打下坚实的基础。 之所谓,用大脑去控制行动,才能做到事半功倍,以最有效率的方式达到我们的目的。
在这次课程设计过程中,我们遇到了很多问题。很多逻辑上正确,仿真模拟成功的电路在实际过程中却很难达到很好的效果。比如电路中错误计数不能实现,出现不稳定跳动的问题,在仿真过程中就不会出现实际电路中容易出现的各种扰动,那么在实际电路连接的过程中出现了这种问题,就要求我们具有分析问题,利用所学知识解决问题的能力,在存在问题的情况下利用所学知识去减少误差,规避错误。还比如在解决显示初始化不稳定或者是计数电路不能够正常按要求计数等问题,在我们的思考和分析下,最终找到了解决办法,非常好的解决了问题,达到了预期效果。这种感觉让我们感到很欣慰,让我们觉得非常有成就感,也培养了我们这种发现问题,分析问题,解决困难的精神,这对我们在以后的学习生活中有着很大的帮助。
此外,对于本设计来说还有一些缺陷。比如,密码位数有限,数值只能是0/1两位,密码输入为并行输入,不存在密码的输入顺序问题。还有很重要的一点,对于本电路来说没
29
有设置应急电源,也就是说当断掉电源的情况下,密码将不复存在,这对用户来说是很不方便的一件事。因此,对于电路的改进来说,除了改进所说的密码位数有限及密码输入顺序的问题外,还有很重要的一点就是添加一个应急电源,以防在断电的情况下在一段时间内保护密码电路不受影响。改进应急电源方案可以如下图所示:
图23 应急电源方案
应急方案通过断电检测来控制电子开关的选择,在正常供电的情况下选择的是外电源供电,并且对蓄电池进行充电;在断电的情况下蓄电池对电路进行供电。希望以后在自己的后续学习中逐步完善这个方案。
总得来说,这次课程设计还是比较成功的。在这次设计过程中,体现出我们自己单独设计的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
当然能完成本次设计,更离不开老师辛勤地指导和同学们的无私的帮助,正是老师和同学们的帮助才使我们能够更好地完成设计。在此感谢所有指导过我们的老师和帮助过我们的同学!
九、参考文献
【1】《数字电路实验》 主编 夏桂书 中国民航飞行学院 【2】《数字电子技术基础》 主编 阎 石 高等教育出版社 【3】《电子技术实验与课程设计》 主编 李震梅 机械工业出版社
30
因篇幅问题不能全部显示,请点此查看更多更全内容