电子技术课程设计报告 电子密码锁.doc_第1页
电子技术课程设计报告 电子密码锁.doc_第2页
电子技术课程设计报告 电子密码锁.doc_第3页
电子技术课程设计报告 电子密码锁.doc_第4页
电子技术课程设计报告 电子密码锁.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_ 电子技术课程设计报告设计课题: 电子密码锁 电子密码锁一、设计任务与要求1掌握PCB制板技术2掌握电子密码锁的原理及其应用3作好焊接及检查二、方案设计与论证1方案一采用单片机芯片,和CD系列,CD4043,CD4082,CD4066组合模式,而用按键开关作为输入端口,共需要10个开关分别作为123456789#*。工作原理:10位输入按键中,1.5.8.9.0为有效按键,2.3.4.6.7为伪码键。密码输入由密码键和输入电路IC1来完成。密码控制电路为IC2。电路欲设密码为05198。在密码输入按键中,SB0控制着IC2的电源供给并使IC2开机时复位,同时通过RP、C1设定了10秒的限时功能。当按下SB0后必须在10秒内完成密码的输入操作,否则无效。按键SB5与IC2的置位端1S相连,按下SB5时,IC2的1Q输出高电平。按键SB1,SB9,SB8分别与IC1的S1、S2、S3的一个输入端相连。S1,S2,S3的输出端分别连接着IC2的2S,3S和0S。当顺序按下SB1,SB9,SB8时,IC2DE 2Q、3Q、0Q输出高电平。IC2的1R0R并联后通过电阻R6接低电平,1S、2S、3S、0S分别通过电阻R5R2接低电平。伪码键SB2、SB3、SB4、SB6、SB7的一端并联后接到IC2的0R3R,当按下其中任何一键后,IC2的4个D 触发器全部复位,以前按下的有效键全部失效。C1、RP组成10秒限时电路,当按下SB0后,电源经SB0、VD1向C1充电,当充到接近电源电压时,IC2的S4接通,IC2的VDD通过S4得到工作电流。松开SB0后,C1通过RP放电,放电时间为10秒,10秒后S4断开,IC2失电。IC3为2-4输入与门电路CD4082,当IC2的4个输出端均为高电平时,IC3的1脚输出高电平并使R7使VT导通,继电器吸合。操作过程:按照电路设定密码05198的顺序按下密码键。当按下SB0后,电源经SB0路通过VT1向C1充电,当C1充电至S4的接通电压后,S4接通,电源经S4加至IC2的VDD。另一路通过VD2加至IC2的4个R端使IC2的4个触发器全部复位。接着按下SB5使IC2中的1Q输出高电平,输出的高电平经 反馈线使IC1中的S1导通,这时按下SB1,使IC2的2Q输出高电平,2Q输出的高电平使IC1的S2接通,这时再按下SB9,使IC2的3Q输出高电平,密码输入完毕,检测LED灯状态。控制电路 驱动电路 89C51 输入电路 显示电路 图1 电子密码锁设计框图2.方案二采用单片机中央芯片,辅用密码键盘,LED,二极管等组件。通过电话键盘输入密码,输入后按#号键,密码就保存下来,断开控制开关,只要不断电,信息就会永远保存,密码还可重复输入!这里充分用到ZH9437的强大功能。工作原理:通过ZH9437提供所需工作频率和电源,开锁时只要按顺序按下密码键,再按#号键就可以,芯片的16脚输出一个2S的低电平开锁信号。SR301集成电路的典型应用,电话键盘为12位密码,G为3.6伏的独立充电电池其作用是用来防止电源停电时保留预置密码信息不被丢失。密码设置方法:合上密码开关S1,就在键盘上输入密码,最多输入12位密码。输入后按下“*”号键,密码就被存储在集成块内,然后断开S1,只要电路不掉点,密码信息也就不会丢失。R6是限流电阻器,阻值取决于电源电压U,R6=100(U-3.6)。设置密码也用下面方法:不需要开关S1,在接通电源U,这时密码自动设为0,按0键,然后就可输入新的密码,输入后按“*”号键。只要U不变保持,密码信息就被保留。更改密码只要重复以上步骤即可。开锁操作:首先输入完正确密码后,输入完后按“*”确认,集成块的OUT1脚输出一个2S宽的开锁正脉冲,可通过驱动器电路使电磁铁抽动锁;同时OUT2的状态变化一次,可通过外围电路进行有关信息就被保留,如驱动发光二级管等。错误操作:输入错误密码,按#号键,由于密码不对,OUT1、OUT2、的状态讲究变化一次,可通过外围电路进行有关信息显示,这时报警器报警0.2S,OUT3状态不变,再重复输入错误密码,按“#”号键,结果与上述相同,第三次输入 错误密码,按“#”号键,由于密码不对,电路将使蜂鸣器报警60S,同时OUT3端还输出一个宽度为60S的正脉冲,以驱动外设的报警电路或其他保安电路等。3方案论证 由于器件所限,不是所有的都能找到,故儿倾向于简单电路。而且SR301的价格比较而言是算高的。从经济性和电路制作的难易性,方案一都比方案二可行。 从电路的可靠及性能上分析,一个是用单片机,一个是纯数字电路,输入部分一部分是按键开关,一部分是电话键盘,有所差异,一般采取按键开关比较多,所以索然性能相当,我还是选择方案一。三、单元电路设计与参数计算图2 CD4066控制与输入电路四、总原理图及元器件清单1总原理图图3 电子密码锁总原理图2元件清单 名称序号型号参数数量电阻R1R6.R7.RPR1R6:100KR7:2KRP250K均为1按键开关SB0SB9均为1二级管发光二级管VD1VD3D1均为1三级管VT90131电容C147u1独立电压源U19V1五、安装与调试1焊接 工具:电烙铁在万能板上涂一层助焊剂,对照原理图将元件合理安装在万能板上,检查元件位置是否正确。检查无误后,用电烙铁将每个元件用焊锡焊牢,保证每个元件不虚焊。在焊元件时根据不同元件耐热性能尽量减少焊接时间。焊集成块时,先焊插槽。焊接完毕后用万用表检查是否短路和断路。2调试工具:万用表、独立电源接入九伏电压,LED并没有亮起来,没有工作,按键后,LED也没有亮,说明电路有问题,待做修改后,LED 灯亮起,按键完毕,灯闪下。但并未能顺利按键设定密码,用万用表检查,发现有短路,摸下局部温度三级管焊盘比较热,再测发现三极管接反,重新接正后,一切正常。 六、性能测试与分析(软件设计与调试)可以采取不同阻值的滑动电阻,只要满足I1*RP=Uvd1即可, Rp取的大可以获得大的调节范围,但灵敏度会下降。时间间隔为10秒,时间常数应选得长些,对一些动作满的人就更需要了,CD系列的芯片性能还是比较可靠的。 C语言源程序#include unsigned char code ps=1,2,3,4,5;unsigned char code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40;unsigned char pslen=9;unsigned char templen;unsigned char digit;unsigned char funcount;unsigned char digitcount;unsigned char psbuf9;bit cmpflag;bit hibitflag;bit errorflag;bit rightflag;unsigned int second3;unsigned int aa;unsigned int bb;bit alarmflag;bit exchangeflag;unsigned int cc;unsigned int dd;bit okflag;unsigned char oka;unsigned char okb;void main(void)unsigned char i,j;P2=dispcodedigitcount;TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;ET0=1;EA=1;while(1)if(cmpflag=0)if(P3_6=0) /function keyfor(i=10;i0;i-)for(j=248;j0;j-);if(P3_6=0)if(hibitflag=0)funcount+;if(funcount=pslen+2)funcount=0;cmpflag=1;P1=dispcodefuncount;elsesecond3=0;while(P3_6=0);if(P3_7=0) /digit keyfor(i=10;i0;i-)for(j=248;j0;j-);if(P3_7=0)if(hibitflag=0)digitcount+;if(digitcount=10)digitcount=0;P2=dispcodedigitcount;if(funcount=1)pslen=digitcount;templen=pslen;else if(funcount1)psbuffuncount-2=digitcount;elsesecond3=0;while(P3_7=0);elsecmpflag=0;for(i=0;ipslen;i+)if(psi!=psbufi)hibitflag=1;i=pslen;errorflag=1;rightflag=0;cmpflag=0;second3=0;goto a;cc=0;errorflag=0;rightflag=1;hibitflag=0;a: cmpflag=0;void t0(void) interrupt 1 using 0TH0=(65536-500)/256;TL0=(65536-500)%256;if(errorflag=1) & (rightflag=0)bb+;if(bb=800)bb=0;alarmflag=alarmflag;if(alarmflag=1)P0_0=P0_0;aa+;if(aa=800)aa=0;P0_1=P0_1;second3+;if(second3=6400)second3=0;hibitflag=0;errorflag=0;rightflag=0;cmpflag=0;P0_1=1;alarmflag=0;bb=0;aa=0;if(errorflag=0) & (rightflag=1)P0_1=0;cc+;if(cc1000)okflag=1;else if(cc2000)okflag=0;elseerrorflag=0;rightflag=0;hibitflag=0;cmpflag=0;P0_1=1;cc=0;oka=0;okb=0;okflag=0;P0_0=1;if(okflag=1)oka+;if(oka=2)oka=0;P0_0=P0_0;elseokb+;if(okb=3)okb=0;P0_0=P0_0; 七、结论与心得本次课程设计是数字和单片机的课程设计,运用的是学的数字电路以及单片机的知识,在制板方面,运用了PROTEL知识,由于很多的元器件都是要自己画分装形式,特别是PROTEL里面有的但是其本身却是错的这样的情况给我们带来了很大的麻烦,表现在9015这个三极管的分装上,首先起管脚分布出现了错误,再则其大小过小导致我后来在焊接的时出了比较大的麻烦,当然通过本次的自己制板我也学到了很多的知识,首先在板的大小方面,通过本次我的板来看还是有点过大,这个就是在经济上带来了浪费,这个是在当时布线的时候所没有想到的,还有就是焊接,本次做的板焊接的时候比较难,原因是其对锡丝的吸附力太差,因此出现了焊焦的情况,当然也存在我自己的焊接技术问题,但通过这次的自己焊接进一步巩固了自己在焊接方面的能力。在双面板的制作上遇到很大麻烦,特别是在对孔上,足足花费2个多小时。这里我要说是自己的欠考虑,虽然在PCB制作上双面板比较容易,但没考虑到后期制作的麻烦!所以走了歪路,比比别人花更长的时间和精力,在后面的焊接也比较困难,对我们而言毕竟都是手工的,所以还是尽量采取单面板制作。当然这次制作也让我了解了双面板制作流程和方法,多少有点收益。在软件方面,本次我采用了89C51这块单片机,运用了正在学习的单片机知识,平时在实验课和单片机课上学的都是书面的知识,而且程序也不可能会有这么复杂,因此在刚开始拿到时钟程序时还是一头雾水,不知道从哪里开始入手。后来通过老师和同学的指导,参考书上的密码锁程序慢慢的还是完成了软件方面的程序编写。在调试方面,对于本次对程序的烧写,以前没接触过,当然对WAVE的使用是早就会了,通过看同学和老师对程序的烧写,也学会了如何将一个程序完整的烧写成功。我采用了直接烧写的方法。首次烧写成功后,发现出现了乱码的问题,原来是程序方面的表格出现了问题,经修改成功解决,再次烧写出现了数字显示的顺序出现了颠倒,问题同样出在软件方面,经过修改最终实现了本次时钟的设计。总的说,通过本次时钟的设计,真正体会到了一个设计从前期的找资料到后来的制板,自己焊接,自己调试写程序这样1整个设计的过程。在这个过程里将书本上的知识和以前学的知识进行了综合的运用,发现了自己很多不足的地方,当然更多的是学到了很多的东西,为以后的毕业设计打好了基础另外就是在检查上。一次通过的也不多,而没通过的就要检查改正了。这个检查真是件麻烦事,但是就是需要认真和耐心,一步一步地检查下去,这当中解决不了的,当然可以要同学老师一起检查!我一开始检查不出来,后来用了个土方法,哪里发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论