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