收藏 分销(赏)

简易电子密码锁专业课程设计.doc

上传人:精**** 文档编号:2799404 上传时间:2024-06-06 格式:DOC 页数:31 大小:1.37MB
下载 相关 举报
简易电子密码锁专业课程设计.doc_第1页
第1页 / 共31页
简易电子密码锁专业课程设计.doc_第2页
第2页 / 共31页
简易电子密码锁专业课程设计.doc_第3页
第3页 / 共31页
简易电子密码锁专业课程设计.doc_第4页
第4页 / 共31页
简易电子密码锁专业课程设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、江西理工大学应用科学学院微机控制系统课程设计汇报 题 目: 简易电子密码锁 姓 名: 学 号: 专业班级: 指导老师: 完成时间: 设计汇报综合测试平时总评格式(10分)内容(10分)图表(5分)功效测试(35分)答辩(20分)考勤(20分)指导老师署名:目录摘要1第一章 系统概述2第二章 基础功效设计3 2.1 试验任务3 2.2 基础设计要求3 2.2.1 基础要求3 2.2.2发挥部分3 2.3 关键元件介绍3 2.3.1 P89C51芯片3 2.4 系统框图5第三章 硬件设计5 3.1 硬件电路设计5 3.1.1 硬件工作接线口5 3.1.2 LED显示器结构和原理5 3.1.3 复位

2、电路7 3.1.4 振荡电路7 3.1.5 按键设置8 3.1.6 报警器和发光二极管9 3.2 硬件电路图9第四章 软件设计11 4.1 系统软件设计11 4.1.1密码开锁功效12第五章 系统PROTUSE仿真图13第六章 设计总结16参考文件17附录18摘要伴随大家生活水平提升,怎样实现家庭防盗这一问题也变得尤其突 出,传统机械锁因为其结构简单,被撬事件也屡见不鲜,所以,大家在日常生活中越来越越离不开密码使用。在大家对安全重视和科技发展同时,很多电子智能锁(指纹识别、IC卡识别)已相继问世,但这类产品是针对特定指纹或有效卡,只能适适用于保密要求高且仅供个她人使用箱、柜、房间等。另外,卡片

3、式IC卡易丢失和损坏,加上其成本较高,在一定程度上限制了这类产品普及和推广。鉴于现在技术水平和市场接收程度,电子密码锁是这类电子防盗产品主流。基于以上思绪,此次设计使用PHILIPS企业P89C51实现基于单片机电子密码锁设计。 关键字:P89C51 单片机密码电子锁 withtheimprovementofpeoplelivingstandards,howtoachieve securityofthisfamilyalsochangedparticularlyprominent,thetraditionalmechanicallockbecauseofitssimplestructure,t

4、heincidentwasnothingnew.therefore,moreandmorepeopleintheirdailylifeisinseparablefromtheuseofpasswords.aspeopleattachimportancetosecurityandthedevelopmentoftechnology,atthemoment,manyElectronicsmartlock(fingerprint,ICcardidentification)hasbeenpublishedathomeandabroad.Howevertheseproductsarecharacteri

5、zedbyspecificandeffectivefingerprintcards,canonlyapplytotheconfidentialityrequirementsofthebox,counter,doors,andsoon.Andfingerprintrecognitionknowledgeforuseinpublicplacesifthereeasilydamagedmachinery,Ccardtherearestilleasilylost,damaged,andsoon.Coupledwithitshighcost,tosomeextent,limitedthepopulari

6、tyofsuchproductsandpromotion.Giventhecurrentleveloftechnologyandthemarketreceptionofelectroniccodelockissuchamainstreamelectronicanti-theftproducts.Basedontheaboveideas,thisdesignusestheP89C51PHILIPSachieveanelectronicpasswordbasedSCMlockdesign. Keywords:P89C51 SCMpasswordelectroniclocks第一章 系统概述此次设计

7、使用P89C51单片机实现简易电子密码锁设计,其关键含有以下功效:1. 设8置位密码,密码经过键盘输入,此时黄灯亮,若密码正确则绿灯亮。2. 密码能够由用户自己修改设定,绿灯亮后后才能修改密码。在输入新密码时候需要确定,以预防误操作。3. 报警、锁定键盘功效。密码输入错误红色发光二极管和蜂鸣器会出现错误提醒,若密码输入错误次数超出3次,蜂鸣器报警而且锁定键盘。电子密码锁设计关键由三部分组成:34矩阵键盘接口电路、密码锁控制电路、输出数码显示电路。另外系统还有LED提醒灯,报警蜂鸣器等。密码锁设计关键问题是实现密码输入、确定、更改等功效:1.密码输入功效:按下数字键,输入密码长度 。2.密码确定

8、功效:当按下确定键时,表示密码输入完成。3.密码设置功效:将输入值作为新密码。关键设计实施过程:首先,选择单片机P89C51,和选购其它电子元器件。第二步,使用DXP 设计硬件电路原理图,并设计PCB图完成人工布线(后因时间和材料准备不充足,所以没做出实物)。第三步,使用Keil uVision4软件编写单片机C语言程序、仿真、软件调试。第四部,使用PROTEUS软件进行模拟软、硬件调试。最终,联合软、硬件调试电路板,完成此次设计。 第二章 基础功效设计2.1试验任务经过对本题目标设计掌握单片机控制系统设计相关方法和技巧。用P89C51RC2HBP设计一个简单电子密码锁,完成密码识别功效。2.

9、2基础设计要求2.2.1 基础要求(1) 设置(09)十个按键和一个设置/确定按键,当系统正常工作时可经过设置/确定按键修改密码,使用时初始密码为12345678,随即可任意设置密码。(2) 当密码输入正确时,用一个发光二极管和蜂鸣器作为指示。当密码输入错误时,则提醒密码输入错误。(3) 当密码连续输入错误3次后锁定键盘,锁定时间为1分钟。2.2.2发挥部分不改变硬件电路,增加蜂鸣器音乐输入功效,即编出三种音乐分别对应密码输入正确、输入错误和键盘锁定三种状态。2.3 关键元件介绍2.3.1 P89C51芯片P89C51RB2/RC2/RD2含有16K/32K/64K并行可编程非易失性FLASH

10、 程序,存放器并可实现对器件串行在系统编程ISP和在应用中编程(IAP)在系统编程ISP( In-SystemProgramming)。当MCU安装在用户板上时许可用户下载新代码,在应用中编程IAP(In-ApplicationProgramming),MCU能够在系统中获取新代码并对自己重新编程。这种方法许可经过调制解调器连接进行远程编程片内ROM中,固化默认加载程序,BootLoader许可ISP经过UART将程序代码装入Flash 存放器而Flash代码中,则不需要加载程序对于 IAP 用户程序擦除和重编程。FlashMemory操作是经过使用片内ROM中标准程序该器件1个机器周期由6

11、个时钟周期组成所以运行速度是传统80C512 倍一个OTP配置位可让用户选择传统12 时钟周期该系列单片机是80C51微控制器派生器件是采取优异CMOS工艺 制造8位微控制器 指令系统和80C51完全相同有4组8位I/O 口3个16位定时/计数器多个中止源4个中止优先级嵌套中止结构个增强型UART片内振荡器立即序电路新增特征使得89C51RB2/RC2/RD2 成为功效更强大微控制器愈加好地支持应用于脉宽调制高速 I/O递增/递减计数能力如电机控制等场所。图2.1 P89C51DIP封装及管脚功效2.4 系统框图P89C51CPU显示键盘报警器和发光二极管复位晶振图2.2 系统框图第三章 硬件

12、设计3.1 硬件电路设计3.1.1 硬件工作接线口P0口接数码管,用来显示按键是否按下,P1口接报警器和发光二极管。P3口接3x4矩阵键盘,分别为(09)和设置/确定按键。3.1.2 LED显示器结构和原理LED显示块是由发光显示二极管显示字段显示器件。在单片机中我们通常见七段LED,这种显示共有共阴极和共阳极两种,本设计是用共阴极,图3.1所表示。 图3-1 LED数码显示部分显示字符共阴极段选码显示字符共阴极段选码03FHA77H106HB7CH25BHC39H34FHD5EH466HE79H56DHF71H67DH707H87FH96FH表3.1 LED显示块通常七段显示块中共有8个发光

13、二极管,其中7个发光二极管组成七笔字形“8”,一个发光二极管组成小数点。七段显示块和单片机接口很轻易。只要将一个8位并行输出和显示块发光二极管引脚相连即可。8位并行输出口输出不一样字节数据即可取得不一样数字或字符,通常将控制发光二极管8位字节数据称为段选码。3.1.3复位电路图3.2 复位电路时钟电路工作后,在REST管脚上加两个机器周期高电平,芯片内部开始进行初始复位(图3.2)。3.1.4 振荡电路图3.3 振荡电路本设计晶振选择频率为12MHZ,电容选择22pF,图3.3所表示。3.1.5 按键设置 按键方法有独立式和行列式两种,本设计是采取行列式,共设置12个按键。能降低键盘和单片机接

14、口时所占用I/O线数目。图所表示:S1S10分别为09数字按键,S11为设置/确定按键。图3-4,当没有键按下时,行线和列线之间是不相连,若第N行和第M列键被按下,那么第N行和第M列线就被接通。 本系统键盘扫描方法是利用P3口低四位作为行扫描线,P3口高四位作为列回扫线。具体实施方法为:先使P3.0口输出低电平,P3口其它口输出高电平,然后对P3.4、P3.5、P3.6三个口分别作判定。若此三口全部为高电平,则没有键按下;若有键按下,P3.4、P3.5、P3.6三个口肯定有一个口输入为低电平,再判定P3.4、P3.5、P3.6哪个口为低电平则可判定按键在哪列上。如P3.4、P3.5、P3.6没

15、有低电平,再使P3.1为低电平,其它口为高电平,依次扫描下去,找到按键所在行,再判定P3口高四位哪一位为低,便可知道键在哪一列上。 图3.4 按键设置3.1.6 报警器和发光二极管图3.5 报警器和发光二极管假如按下设置/确定按键,则黄灯亮。当密码输入正确时,绿灯亮。输入密码错误时,红灯亮且蜂鸣器响。当第三次输入错误时,锁定键盘一分钟。3.2 硬件电路图图3.6 硬件电路Protel图 图3.6 硬件电路PCB图图3.7 硬件电路PCB 3D图第四章 软件设计本系统程序部分使用C语言编写,C语言是一个高级程序设计语言,它优点是简练明了、可移植性高。关键完成,先按下设置/确定键输入密码,系统会将

16、所输入和系统密码进行比对。若输入密码正确则绿灯亮。然后能够任意设置密码。每设置完一次全部要按确定键。期间操作出现失误,红灯亮蜂鸣器响,操作错误超出3次,系统会锁定键盘一分钟,并报警用以预防恶意试探密码。4.1 系统软件设计本系统软件设计由主程序、初始化程序、数码显示程序、键盘扫描程序、键功效程序、密码设置程序、EEPROM读写程序和延时程序等组成。关键程序设计步骤图以下所表示:开始设置/确定键绿灯亮设置/确定键输入新密码锁键盘一分钟结束输入密码正确吗黄灯亮红灯亮蜂鸣器响三次错误 图4.1 程序设计步骤图 初始化按设置键输入密码确定程序所输入密码正确?Y开锁程序开锁程序输入次数加1次数3?报警程

17、序返回NYN 图4.2 开锁步骤图4.1.1密码开锁功效 本系统使用数组PASSW存放密码,系统初始化对数组赋值PASSW1,2,3,4,5,6,7,8。输入密码时候,先将输入每一位密码分别放置在数组PASST中,然后再将PASST和PASSW每一位分别对照。若每一位全部相等,密码检验经过。第五章 系统PROTUSE仿真图图5.1 PROTUES仿真图图5.2 PROTUES仿真加载HEX文件在下图中,当按下设置/确定键时,黄灯亮,然后输入密码。如密码输入正确,则绿灯亮。如输入错误,红灯亮且蜂鸣器响。当出现三次错误时,同时要锁定键盘一分钟。经调试,所需要功效全部能实现。图5.3 按下设置/确定

18、键黄灯亮图5.4 密码正确时绿灯亮图5.5 当密码错误时红灯亮图5.6 设置新密码时黄灯绿灯同时亮第六章 设计总结 经过这次课程设计,掌握了单片机部分基础知识,并将计算机控制和全部关知识联络起来,原来有些原理还是懵懂,不过在找电子密码锁基础知识时,我发觉只有动手做才会掌握部分技巧。经过这次设计,我们熟悉并熟练掌握了Protel和Protues技巧;在C语言程序设计中,学到了怎样使用C语言对单片机进行编写程序,熟悉了使用KEIL软件,而且加深了对单片机编程技巧。 在做这个设计过程中,我碰到了不少问题。这锻炼了我们筛选、查阅资料,并将理论结合到自己设计中能力。一步一步排除故障原因,找到故障原因并处

19、理故障。 这次设计使我们对模拟电子、数字电子知识加深了了解,尤其是在对电路进行调试和对C语言程序编写和调试时候,出现了很多这些方面问题,经过对以往知识复习巩固,将问题处理。在此设计中,学到了很多知识,不仅对于技术有了更深入学习,而且对于一个项目标完成工作时序、任务分配也有了一定了解。经过这次课程设计使我知道了理论和实际相结合是很关键,只有理论知识是远远不够,只有把所学理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提升自己实际动手能力和独立思索能力。这次课程设计最终顺利完成了,在设计中碰到了些问题,最终在老师和各位同学辛勤指导下最终处理了。我们学得到很多实用知识,在此表示感

20、谢!同时,对给过我们帮助全部同学和指导老师再次表示忠心感谢! 参考文件1 当方微型计算机控制技术M中国水利水电出版社,2 胡汉才单片机原理及其借口技术M清华大学出版社,1996年3 赵新民智能仪器设计基础M哈尔滨工业大学出版社,1999年4 潘新,民王,燕芳微型计算机控制技术M电子工业出版社,5 李钟实实用电子报警器精选百例M北京:科技技术文件出版社,6 陈爱弟Protel99se实用培训教程M人民邮电出版社,。7 阎石数字电子技术基础M高等教育出版社,1998年8 童诗白模拟电子技术基础M高等教育出版涉,1998年附录1.源程序#include #define uchar unsigned

21、char #define uint unsigned int uchar i,j,num,temp,wrong; uchar passw=1,2,3,4,5,6,7,8; uchar passt=0,0,0,0,0,0,0,0; uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0x76,0x79,0x38,0x3f,0; bit lockflag; bit editflag; bit cmpflag; bit pressflag; sbit al

22、arm=P13; sbit rled=P10; sbit gled=P11; sbit yled=P12; uint t0,a; uchar right; void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); void lock() TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; EA=1; TR0=1; while(1) if(t00;a-) rled=rled; delay(1000); else alarm=0; rled=1; TR0=0

23、; t0=0; break; void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; t0+;uchar keyscan() P3=0xfe; temp=P3; temp=P3&0xf0; while(temp!=0xf0) delay(50); if(temp!=0xf0) temp=P3; switch(temp) case 0xee:num=0;pressflag=1; /1110 1110 break; case 0xde:num=1;pressflag=1; /1101 1110 break; c

24、ase 0xbe:num=2;pressflag=1; /1010 1110 break; case 0x7e:num=3;pressflag=1; /0111 1110 break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; P3=0xfd;temp=P3;temp=P3&0xf0;while(temp!=0xf0) delay(50); if(temp!=0xf0) temp=P3; switch(temp) case 0xed:num=4;pressflag=1; break; case 0xdd:num=5;pressflag=1; brea

25、k; case 0xbd:num=6;pressflag=1; break; case 0x7d:num=7;pressflag=1; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; P3=0xfb;temp=P3;temp=P3&0xf0;while(temp!=0xf0) delay(50); if(temp!=0xf0) temp=P3; switch(temp) case 0xeb:num=8;pressflag=1; break; case 0xdb:num=9;pressflag=1; break; case 0xbb:num=1

26、0;pressflag=1; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; return num;void input() while(num!=10) keyscan(); if(num=10) pressflag=0; yled=0; for(i=0;i8;i+) while(!pressflag) keyscan(); pressflag=0; temp=num; if(temp!=10) if(!editflag) passti=temp; else passwi=temp; P0=tablenum; else break; yled=1; cmpflag=editflag; delay(200); P0=0; num=0; main() i=0; j=0; lockflag=0; editflag=0; pressflag=0; P0=0; while(1) input(); if(cmpflag) cmpflag=0; for(j=0;j0;a-) delay(500); rled=1; alarm=1; wrong+; break;else if(j=7) rled=1; gled=0; editflag=1; input(); editflag=0; gled=1; wrong=0;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服