简单六位数字密码锁.doc_第1页
简单六位数字密码锁.doc_第2页
简单六位数字密码锁.doc_第3页
简单六位数字密码锁.doc_第4页
简单六位数字密码锁.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

目 录第1章 绪论11.1 设计任务11.2 设计要求1第2章 系统方案设计22.1 硬件设计思想22.2软件设计思想3第3章 电路设计43.1 电路原理43.2 电路原理图4第4章 程序设计54.1流程图54.2 算法描述5第5章 程序清单与仿真结果65.1 程序清单65.2 仿真结果16第6章 设计总结176.1 设计体会17参考文献18致 谢19实物展示20 第1章 绪论1.1 设计任务(1) 设置七个键位,分别是确认,数字1,数字2,数字3,数字4,数字5,数字6,工作有提示(设通电状态为红灯亮)。(2) 在单片机内部预设六位密码,在使用密码解锁器时,要按预设的密码依次输入才能完成解锁。预设密码以外的数字都不能解开密码锁(如输入非6位或输入6位与预设密码不同的数字)。(3) 输入密码时,数码管同步显示输入的数字。(4) 输入正确后,有解锁提示(设为绿灯亮),输入错误后也有提示(设为红灯闪烁和鸣笛警告)(5) 输入错误后可以重输,要有复位功能。1.2 设计要求利用AT89S52单片机的P2端口的P2.0-P2.6连接到7个按键开关上,分别是输入键数字1,数字2,数字3,数字4,数字5,数字6和确认键,P2.7接蜂鸣器。启动时,按下电源开关,红色指示灯长亮,输入密码,而数码管显示输入的相应数字,然后按下确认键,若密码正确,绿灯亮,数码管熄灭,弱密码错误,红灯闪烁,蜂鸣器响,发出警报。第2章 系统方案设计2.1 硬件设计思想 2.1.1 键盘设计本设计使用7按键,从上到下,从左至右依次设为确认键,数字1,数字2,数字3,数字4,数字5,数字6,用来输入密码,如下图图2.1 键盘仿真图2.1.2 数字显示设计 使用共阳极七段数码管来显示输入的数字,图如下:图2.2 显示仿真图2.1.3 检验密码电路设计使用LED灯和蜂鸣器来提示输入的密码是否正确,若密码正确,绿灯亮,若密码错误,红灯闪烁,蜂鸣器响,电路如图:图2.3 密码验证系统仿真图2.2软件设计思想电子密码锁工作的主要过程是从键盘开始输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。密码的设定,在此程序中密码是固定的,预设的密码为532416共6位密码。在单片机内部预设六位密码,在使用密码解锁器时,要按预设的密码依次输入才能完成解锁。预设密码以外的数字都不能解开密码锁(如输入非6位或输入6位与预设密码不同的数字)输入密码时,数码管要在单片机的控制下同步显示输入的数字。第3章 电路设计3.1 电路原理单片机最小系统。一个AT89S52单片机做为控制电路,运用其P2口来实现密码的输入和蜂鸣器的报警,通过P0口给数码显示管高低不同电平信号,来实现输入密码的显示,P1接指示灯。3.2 电路原理图图3.2 电路原理图第4章 程序设计4.1流程图图4.1 系统流程图4.2 算法描述1、设计一个延时子程序void delayms(unsigned int t)unsigned int i,j;for(i=t;i0;i-)for(j=114;j0;j-);2、 主程序 void init() void delayms(unsigned int t) void main()第5章 程序清单与仿真结果5.1 程序清单12#includesbit mm1=P20;/密码按键1-8sbit mm2=P21;sbit mm3=P22;sbit mm4=P23;sbit mm5=P24;sbit mm6=P25;sbit mmok=P26;sbit l1=P10;sbit l2=P12;sbit fmq=P27;void init()P0=0xff;/禁止数码管显示mm1=1;mm2=1;mm3=1;mm4=1;mm5=1;mm6=1;mmok=1;fmq=1;l1=1;l2=1;void delayms(unsigned int t)unsigned int i,j;for(i=t;i0;i-)for(j=114;j0;j-);void main()unsigned char mmsr,bn,bn1,bn2,bn3,bn4,bn5;mmsr=0;bn=0;bn1=0;bn2=0;bn3=0;bn4=0;bn5=0;mmsr=1;init();while(1)if(mmsr=1)if(mm5=0) /系统8位 程序密码532416delayms(10);if(mm5=0)bn=1;P0=0xff;/消隐P0=0x92;/显示5 if(mm3=0)&(bn=1)delayms(10);if(mm3=0)&(bn=1)bn1=1;P0=0xff;/消隐P0=0xb0;/显示3if(mm2=0)&(bn1=1) delayms(10); if(mm2=0)&(bn1=1)bn2=1;P0=0xff;/消隐P0=0xa4;/显示2 if(mm4=0)&(bn2=1) delayms(10); if(mm4=0)&(bn2=1)bn3=1;P0=0xff;/消隐P0=0x99;/显示4 if(mm1=0)&(bn3=1) delayms(10); if(mm1=0)&(bn3=1)bn4=1;P0=0xff;/消隐P0=0xf9;/显示1 if(mm6=0)&(bn4=1) delayms(10); if(mm6=0)&(bn4=1)bn5=1;P0=0xff;/消隐P0=0x82;/显示6 if(mm1=0) delayms(10); if(mm1=0) P0=0xff;/消隐 P0=0xf9;/显示1 if(mm2=0) delayms(10); if(mm2=0) P0=0xff;/消隐P0=0xa4;/显示2 if(mm3=0)delayms(10);if(mm3=0)P0=0xff;/消隐P0=0xb0;/显示3 if(mm4=0)delayms(10);if(mm4=0)P0=0xff;/消隐P0=0x99;/显示4 if(mm5=0)delayms(10);if(mm5=0)P0=0xff;/消隐P0=0x92;/显示5 if(mm6=0)delayms(10);if(mm6=0)P0=0xff;/消隐P0=0x82;/显示8 if(mmok=0)delayms(10);if(mmok=0) if(bn=1)&(bn1=1)&(bn2=1)&(bn3=1)&(bn4=1)&(bn5=1) /密码成功 while(1)P0=0xff;l2=0;delayms(100); else while(1)P0=0xff;fmq=0;l1=0;delayms(100);l1=1;delayms(100); unsigned char mmsr,bn,bn1,bn2,bn3,bn4,bn5;mmsr=0;bn=0;bn1=0;bn2=0;bn3=0;bn4=0;bn5=0;mmsr=1;init();while(1)if(mmsr=1)if(mm5=0) /系统8位 程序密码532416 delayms(10);if(mm5=0)bn=1;P0=0xff;/消隐P0=0x92;/显示5if(mm3=0)&(bn=1) if(mm1=0)&(bn3=1)delayms(10);if(mm1=0)&(bn3=1)bn4=1;P0=0xff;/消隐P0=0xf9;/显示1 if(mm6=0)&(bn4=1)delayms(10);if(mm6=0)&(bn4=1)bn5=1;P0=0xff;/消隐P0=0x82;/显示6if(mm1=0)delayms(10);if(mm1=0)P0=0xff;/消隐P0=0xf9;/显示1P0=0x92;/显示5if(mm6=0)delayms(10);if(mm6=0)P0=0xff;/消隐P0=0x82;/显示8 if(mmok=0)delayms(10);if(mmok=0)if(bn=1)&(bn1=1)&(bn2=1)&(bn3=1)&(bn4=1)&(bn5=1)/密码成功while(1)P0=0xff;l2=0;delayms(100);elsewhile(1)P0=0xff;5.2 仿真结果1,开始仿真,按下开关,红灯亮图5.1 仿真图2,输入正确的密码(532416),数码管显示相应的数字图5.2 输入数字“5”图5.3 输入数字“3”图5.4 输入数字“2”图5.5 输入数字“4”图5.6 输入数字“1”图5.7 输入数字“6”3,(正确密码)按下确认键,绿灯亮图5.8 输入正确密码状态图4,若输入错误密码,则红灯闪烁,蜂鸣器响(图内为导通状态)图5.9 输入错误密码状态图第6章 设计总结6.1 设计体会通过这次课程设计和设计中遇到的问题,我积累了一定的经验,刚开始做设计时总是会犯一些错误,只有经过不停的改错不停的编译才能得到正确的程序。这说明了作为软件编程人员是不能粗心大意的,一个程序的质量的高低与你细心与否有着一定的联系。设计中要求有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确。对错误的检查要求我要有足够的耐心,这对以后从事集成电路设计工作会有一定的帮助。本次课程设计是我到目前为止觉得受益匪浅也是收获最大的一次实习。身为通信专业的学生,设计是我们将来必需具备的技能。而这次课程设计恰恰给我们提供了一个应用自己所学知识去勇于创新和实践的平台。从通过理论设计,到仿真软件仿真,再到确定具体方案,再到安装实际电路,最后到调试电路、成型。整个过程都需要我充分利用所学的知识进行思考、借鉴。可以说,本次课程设计是针对前面所学的知识进行的一次比较综合的检验。总的来说,这次课程设计虽然很累,但却是苦中有乐,非常充实。在这次实习中,正确的思路是很重要的,只有你的设计思路是正确的,那你的设计才有可能成功。因此我们在设计前必须做好充分的准备,认真查找详细的资料,为我们设计的成功打下坚实的基础,所以跑图书馆和上网、查资料成为了我每天的必修课。本次课程设计不仅培养了我们的科学严谨的学习态度,使我们认识到不管做任何事都要付出一定的努力,才会有大的收获。本次设计的完成,离不开刘老师的指导。在此,非常感谢刘老师的指导和同学的帮助。参考文献1 蔡美琴,张为民,沈新群等.MCS51系列单片机系统及其应用M.北京:高等教育出版社,1992.2何立民.单片机应用技术选篇(5)M.北京:北京航空航天大学出版社,1997.3杨光友. 单片机微型计算机原理及接口技术M.北京:中国水利水电出版社,20024李广弟.单片机基础.北京:北京航空航天大

温馨提示

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

评论

0/150

提交评论