版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于AT89S52单片机的密码锁设计一、项目概述很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。此项目给出了一种能防止多次试探密码的密码锁设计方法,从而有效地克服了上述缺点。这种能防止多次试探密码的单片机密码锁应用前景广泛。二、项目要求基于AT89S52单片机的密码锁设计,具体功能如下:总共可以设置8位密码,每位密码值范围为1~8.用户可以自行设定和修改密码。按每个键时都有声音提示。若键入的8位开锁密码不完全正确,则报警5s,以提醒他人注意。开锁密码连续错3次要报警1分钟,报警期间输入密码无效,以防止窃贼多次试探密码。键入8位开锁密码完全正确才能开锁,开锁时有1s的提示音。电磁锁的电磁线圈每次通电5s,然后恢复初态密码键盘上只允许有8个密码按键。锁内有备用电池,只有内部上电复位时才能设置和修改密码,因此,仅在门外按键是不能修改或设置密码的。密码设定完毕后要有2s的提示音。三、系统框图设计按照系统设计的要求和功能,将系统分为主控模块、按键扫描模块、蜂鸣器、电源电路、复位电路、晶振电路、驱动电路几个模块,系统组成框图如下。主控模块采用AT89S52单片机。系统组成框图四、硬件设计4.1电路原理图系统硬件电路图如下所示,P1口接密码按键,开锁脉冲由P3.2输出,报警和提示音由P3.7输出,按键a~h分别代表数字1~8.若没有键按下,则P1.0~P1.7全是高电平;若某键被按下,则相应的口线为低电平。系统硬件电路图4.2元件清单基于AT89S52单片机的密码锁元件清单如表所示。元件名称型号个数用途单片机AT89S521控制核心晶振12MHz1晶振电路电容30Pf2晶振电路电解电容20Μf/10V1复位电路按键9按键电路三极管85502放大电路二极管IN40041蜂鸣器1报警电路电阻1kΩ1上拉电路电阻10kΩ1复位电路电阻4.7kΩ2放大电路继电器5V1控制对象电源+5V/0.5A1提供+5V电源五、软件设计5.1程序流程图如图所示给出了该单片机密码锁电路的软件流程图。图中AA1~AA8以及START、SET、SAVE是程序中的标号,是为了理解程序而专门标在流程图的对应位置的,分析程序时可以仔细参考对照。该密码锁中的RAM存储单元的分配方案如下。31H~38H:依次存放8位设定的密码,首位密码存放在31H单元中。R0:指向密码地址。R2:已经输入密码位数。R3:存放允许错误密码次数3与实际错误密码次数的差值。R4~R7:延时用。00H:错码标志位。对于ROM存储单元的分配,由于程序比较短,而且占用的存储空间比较少,因此,在无特殊要求时,可以从0030H单元开始存放主程序。单片机密码锁电路的软件流程图5.2程序清单基于AT89S52单片机的密码锁程序清单如下:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitSPK=P3^7;sbitACT=P3^2;bitok_flag;staticucharindata[8];staticucharstatus=0x01;staticucharl,m;uchari,j;voidBP();voidDELAY();voidPASSWORD_SET();voidPASSWORD_IN();voidmain(){BP();PASSWORD_SET();for(i=0;i<22;i++)BP();while(1){if(l<3){PASSWORD_IN();if(!ok_flag){ACT=0;for(i=0;i<8;i++)BP();ACT=1;l=0;}else{l++;for(i=0;i<40;i++)BP();ok_flag=0;}}l=0;for(i=0;i<24;i++){for(j=0;j<200;j++)BP();}}}voidPASSWORD_SET(void){if(m<8){switch(status){case0x01:{if(P1==0xFF){status=0x01;}else{DELAY();status=0x02;}break;}case0x02:{if(P1!=0xFF){BP();indata[m]=P1;m++;}status=0x01;break;}default:break;}}m=0;}voidPASSWORD_IN(void){if(m<8){switch(status){case0x01:{if(P1==0xFF){status=0x01;}else{DELAY();status=0x02;}break;}case0x02:{if(P1!=0xFF){BP();if(P1==indata[m])ok_flag=1;m++;}status=0x01;break;}default:break;}}m=0;}voidBP(void){SPK=0;for(i=0;i<250;i++){for(j=0;j<124;j++){SPK=~SPK;}SPK=1;}}voidDELAY(void){for(i=0;i<20;i++)for(j=0;j<125;j++);}六、系统仿真及调试按键AN1~AN7分别代表数码1~7,按键AN0代表数码8。在没有按键按下时,P1.0~P1.7全是高电平1;若某个键被按下,相应的口线就变为低电平0。假如设定的密码是61234578,当按键AN6被按下时,P1.6变为低电平,P1端口其余口线为高电平,此时从P1端口读入的数值为10111111,存到31H单元的密码值就是10111111,也就是BFH。以此类推,存到32H至38H单元的密码值分别是FDH、FBH、F7H、EFH、DFH、7FH、FEH。开锁时必须先按AN6,使从P1口读入的第一个密码值与31H单元存储的设定值相同,再顺序按AN1、AN2、AN3、AN4、AN5、AN7、AN0才能开锁。否则不能开锁,同时开始报警。仿真图如下七、实物图八、结束语这个项目的制作让我对AT89S52的用途以及应用前景有了充分的认识。这次作品虽然并没有达到我自己的预期效果,这个让我相当惋惜。但是我却学习到了52单片机的工作原理,它是怎样实现密码锁功能的,充分展示了单片机的强大功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶叶行业鉴赏技巧培训总结
- 冶金销售工作总结
- 文化创意行业宣传策略总结
- 2021年黑龙江省哈尔滨市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年内蒙古自治区锡林郭勒盟公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2023年湖北省咸宁市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2021年河南省周口市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2024年河北省张家口市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2024年江西省景德镇市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 财务人员辞职报告
- 员工奖惩签认单
- 检验检测服务公司市场研究与市场营销方案
- VDA270气味性测试参考标准中文
- 水泥稳定碎石基层及底基层检验批质量检验记录
- 2022年版课程方案解读及学习心得体会:课程的综合性与实践性
- 2737市场调查与商情预测-国家开放大学2018年1月至2021年7月期末考试真题及答案(201801-202107不少于6套)
- 跨国公司财务管理课后习题答案
- 公园对地价和环境的影响
- 新会计准则财务报表模板(带公式)
- 建模案例—飞行管理问题
- 工地试验室平面布置图
评论
0/150
提交评论