电子技术课程设计报告电子密码锁.docx
- 文档编号:14250935
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:15
- 大小:48.64KB
电子技术课程设计报告电子密码锁.docx
《电子技术课程设计报告电子密码锁.docx》由会员分享,可在线阅读,更多相关《电子技术课程设计报告电子密码锁.docx(15页珍藏版)》请在冰点文库上搜索。
电子技术课程设计报告电子密码锁
电子技术课程设计报告
设计课题:
电子密码锁
电子密码锁
一、设计任务与要求
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时,IC2DE2Q、3Q、0Q输出高电平。
IC2的1R~0R并联后通过电阻R6接低电平,1S、2S、3S、0S分别通过电阻R5~R2接低电平。
伪码键SB2、SB3、SB4、SB6、SB7的一端并联后接到IC2的0R~3R,当按下其中任何一键后,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的价格比较而言是算高的。
从经济性和电路制作的难易性,方案一都比方案二可行。
从电路的可靠及性能上分析,一个是用单片机,一个是纯数字电路,输入部分一部分是按键开关,一部分是电话键盘,有所差异,一般采取按键开关比较多,所以索然性能相当,我还是选择方案一。
三、单元电路设计与参数计算
图2CD4066控制与输入电路
四、总原理图及元器件清单
1.总原理图
图3电子密码锁总原理图
2.元件清单
名称
序号
型号参数
数量
电阻
R1~R6.
R7.
RP
R1~R6:
100K
R7:
2K
RP250K
均为1
按键开关
SB0~SB9
均为1
二级管
发光二级管
VD1~VD3
D1
均为1
三级管
VT
9013
1
电容
C1
47u
1
独立电压源
U1
9V
1
五、安装与调试
1.焊接
工具:
电烙铁
在万能板上涂一层助焊剂,对照原理图将元件合理安装在万能板上,检查元件位置是否正确。
检查无误后,用电烙铁将每个元件用焊锡焊牢,保证每个元件不虚焊。
在焊元件时根据不同元件耐热性能尽量减少焊接时间。
焊集成块时,先焊插槽。
焊接完毕后用万用表检查是否短路和断路。
2.调试
工具:
万用表、独立电源
接入九伏电压,LED并没有亮起来,没有工作,按键后,LED也没有亮,说明电路有问题,待做修改后,LED灯亮起,按键完毕,灯闪下。
但并未能顺利按键设定密码,用万用表检查,发现有短路,摸下局部温度三级管焊盘比较热,再测发现三极管接反,重新接正后,一切正常。
六、性能测试与分析(软件设计与调试)
可以采取不同阻值的滑动电阻,只要满足I1*RP=〈Uvd1即可,Rp取的大可以获得大的调节范围,但灵敏度会下降。
时间间隔为10秒,时间常数应选得长些,对一些动作满的人就更需要了,CD系列的芯片性能还是比较可靠的。
C语言源程序
#include
unsignedcharcodeps[]={1,2,3,4,5};
unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsignedcharpslen=9;
unsignedchartemplen;
unsignedchardigit;
unsignedcharfuncount;
unsignedchardigitcount;
unsignedcharpsbuf[9];
bitcmpflag;
bithibitflag;
biterrorflag;
bitrightflag;
unsignedintsecond3;
unsignedintaa;
unsignedintbb;
bitalarmflag;
bitexchangeflag;
unsignedintcc;
unsignedintdd;
bitokflag;
unsignedcharoka;
unsignedcharokb;
voidmain(void)
{
unsignedchari,j;
P2=dispcode[digitcount];
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)//functionkey
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_6==0)
{
if(hibitflag==0)
{
funcount++;
if(funcount==pslen+2)
{
funcount=0;
cmpflag=1;
}
P1=dispcode[funcount];
}
else
{
second3=0;
}
while(P3_6==0);
}
}
if(P3_7==0)//digitkey
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_7==0)
{
if(hibitflag==0)
{
digitcount++;
if(digitcount==10)
{
digitcount=0;
}
P2=dispcode[digitcount];
if(funcount==1)
{
pslen=digitcount;
templen=pslen;
}
elseif(funcount>1)
{
psbuf[funcount-2]=digitcount;
}
}
else
{
second3=0;
}
while(P3_7==0);
}
}
}
else
{
cmpflag=0;
for(i=0;i { if(ps[i]! =psbuf[i]) { hibitflag=1; i=pslen; errorflag=1; rightflag=0; cmpflag=0; second3=0; gotoa; } } cc=0; errorflag=0; rightflag=1; hibitflag=0; a: cmpflag=0; } } } voidt0(void)interrupt1using0 { TH0=(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(cc<1000) { okflag=1; } elseif(cc<2000) { okflag=0; } else { errorflag=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; } } else { okb++; if(okb==3) { okb=0; P0_0=~P0_0; } } } } 七、结论与心得 本次课程设计是数字和单片机的课程设计,运用的是学的数字电路以及单片机的知识,在制板方面,运用了PROTEL知识,由于很多的元器件都是要自己画分装形式,特别是PROTEL里面有的但是其本身却是错的这样的情况给我们带来了很大的麻烦,表现在9015这个三极管的分装上,首先起管脚分布出现了错误,再则其大小过小导致我后来在焊接的时出了比较大的麻烦,当然通过本次的自己制板我也学到了很多的知识,首先在板的大小方面,通过本次我的板来看还是有点过大,这个就是在经济上带来了浪费,这个是在当时布线的时候所没有想到的,还有就是焊接,本次做的板焊接的时候比较难,原因是其对锡丝的吸附力太差,因此出现了焊焦的情况,当然也存在我自己的焊接技术问题,但通过这次的自己焊接进一步巩固了自己在焊接方面的能力。 在双面板的制作上遇到很大麻烦,特别是在对孔上,足足花费2个多小时。 这里我要说是自己的欠考虑,虽然在PCB制作上双面板比较容易,但没考虑到后期制作的麻烦! 所以走了歪路,比比别人花更长的时间和精力,在后面的焊接也比较困难,对我们而言毕竟都是手工的,所以还是尽量采取单面板制作。 当然这次制作也让我了解了双面板制作流程和方法,多少有点收益。 在软件方面,本次我采用了89C51这块单片机,运用了正在学习的单片机知识,平时在实验课和单片机课上学的都是书面的知识,而且程序也不可能会有这么复杂,因此在刚开始拿到时钟程序时还是一头雾水,不知道从哪里开始入手。 后来通过老师和同学的指导,参考书上的密码锁程序慢慢的还是完成了软件方面的程序编写。 在调试方面,对于本次对程序的烧写,以前没接触过,当然对WAVE的使用是早就会了,通过看同学和老师对程序的烧写,也学会了如何将一个程序完整的烧写成功。 我采用了直接烧写的方法。 首次烧写成功后,发现出现了乱码的问题,原来是程序方面的表格出现了问题,经修改成功解决,再次烧写出现了数字显示的顺序出现了颠倒,问题同样出在软件方面,经过修改最终实现了本次时钟的设计。 总的说,通过本次时钟的设计,真正体会到了一个设计从前期的找资料到后来的制板,自己焊接,自己调试写程序这样1整个设计的过程。 在这个过程里将书本上的知识和以前学的知识进行了综合的运用,发现了自己很多不足的地方,当然更多的是学到了很多的东西,为以后的毕业设计打好了基础 另外就是在检查上。 一次通过的也不多,而没通过的就要检查改正了。 这个检查真是件麻烦事,但是就是需要认真和耐心,一步一步地检查下去,这当中解决不了的,当然可以要同学老师一起检查! 我一开始检查不出来,后来用了个土方法,哪里发热特别高,异常情况,说明有问题! 后来真的是那个三极管短路了,所以检查也要灵活运用多种方法。 最后,在解决问题的过程中学到了很多知识,也知道了掌握理论知识与实际应用之间还有很多距离。 而且在做此类设计的过程中要注意做好每一个细节。 尤其在电路焊接的过程中,如果在一个元件上有疏忽,比如说管脚出现虚焊,那会影响到整个设计,且不容易检查出来,也就说明了认真细致的重要性。 八、参考文献 [1]陈尔绍,朱月秀,及燕丽.电子控制电路[M].北京: 实例电子工业出版 [2]王华奎,王有村.电子电路设计[M]杭州: 电子工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子技术 课程设计 报告 电子 密码锁
![提示](https://static.bingdoc.com/images/bang_tan.gif)