基于单片机的6位电子密码锁设计内容摘要:

11 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 } if(N==5) { temp=0xfe。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 12 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 } if(N==6) { temp=0xfe。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 P0=0x40。 P2=temp。 delay(1)。 P2=0xff。 temp=_crol_(temp,1)。 } } 4. 报警电路 报警电路流程图如图九所示: 13 图九 报警电路流程图 报警电路 C语言程序: void alarm() { if(km==3) { uchar n,m。 km=0。 for(m=50。 m0。 m) { for(n=200。 n0。 n) { K=~K。 delay_us(1000)。 } K=0。 delay(100)。 } } } 5. 密码重置子程序 密码重置的条件是在锁开,即灯亮的情况下进行的,所以调用密码子程序开始必须对显示器进行清零并熄灭,关闭发光二极管。 然后再调用输入密码子程序、键盘扫描子程序进行密码修改。 密码重置程序流程图如图十所示: 14 图十 密码重置流程图 重置密码 C语言程序: void rest_cipher() { a=b=c=d=e=f=0。 N=0。 D0=1。 while(con) { get_key()。 if(N6) cou_dis(num)。 disp(a,b,c,d,e,f)。 if(num==39。 D39。 ) {con=0。 } if(num==39。 C39。 ) {a=b=c=d=e=f=0。 N=0。 } a1=a。 b1=b。 15 c1=c。 d1=d。 e1=e。 f1=f。 } a=b=c=d=e=f=0。 N=0。 } 16 六、 系统调试 本次调试采用的是 protues 和 keil 软件进行仿真。 首先运用 keil 软件编写电子密码锁的源程序,本设计主要运用 C 语言编写。 源程序编写后运行生成目标文件供 protues 仿真调试。 图十一为 LED数码管显示六位密码的情况 图十一 数码管显示密码图 当密码正确按下确认键发光二极管亮,锁开。 如图十二 图十二 密码正确锁开灯亮 当密码输入错误三次蜂鸣器发出声音报警,如图十三所示 图十三 蜂鸣器报警 由图十三可以看到蜂鸣器非接地端为红色,即此时为高电平,所以蜂鸣器正在发出报警声 音。 Protues 仿真电路图如图十四所示 17 图十四 protues 仿真电路图 七、 设计总结与展望 课程设计是培养学生综合运用所学知识发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。 随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。 因此作为二十一世纪的大学生来说掌握单片机的开发技术是十分重要的。 本设计经过多次修改和整理,可以满足基本的要求。 密码正确,锁开;密码输入错误三次,报警;输入密码超过 6 位之后的数无效 ;数码管显示屏显示密码为“ — ”。 在设计的过程中遇到了各种各样的问题,譬如说断电密码保护的设计,由于电路和编程都过于复杂,本设计并未加入。 在编程的过程中问题也是很多,由于程序较长,当实现了这个功能另外一个功能有不能很好的实现,所以要做到模块与模块之间的衔接。 遇到的一些问题也经过努力一一克服。 回顾此次单片机课程设计,至今我仍感触颇多。 在设计过程中从理论到实践我们可以到很多很多东西,巩固了以前学过的知识,还懂得了如何将理论联系实际。 只有理论知识是远远不够的,只有将理论运用到实际中对我们来说才是有意义的,这样才 能真正的为社会服务。 18 八、 参考文献 【 1】周向红 .51 单片机课程设计 .华中科技大学出版社 .2020 年 1 月 【 2】潘育山 .单片机原理及 51 单片机开发技术 .西南交通大学出版社 .2020 【 3】何利民 .单片机高级教程 .北京航空航天大学出版社 .2020 【 4】江志红 .51 单片机技术于应用系统开发 .清华大学出版社 .2020 九、 附。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。