电子密码锁设计.doc
《电子密码锁设计.doc》由会员分享,可在线阅读,更多相关《电子密码锁设计.doc(43页珍藏版)》请在沃文网上搜索。
1、能力拓展训练任务书学生姓名: 专业班级: 指导教师: 工作单位: 自动化学院 题 目: 电子密码锁设计 初始条件:计算机、Max+plus、EDA实验箱。(或单片机,PLC)要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计一个电子密码锁,在锁开的状态下输入密码,设置的密码共4位,用数据开关K1K10分别代表数字1,2,9,0,输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。用一位输出电平
2、的状态代表锁的开闭状态。提高部分:设置一个万能密码,在主人忘记密码时使用。任务安排:(1) 设计任务及要求分析;方案比较及认证说明。(2) 系统原理阐述,写出设计方案结构图。(3) 软件思想,流程图,源程序及程序注释。(4) 调试记录及结果分析、总结。(5) 参考资料5篇以上,附录:程序清单。时间安排:D1:安排设计任务;收集资料;方案选择;D2:程序设计;D3-D4:实验室内调试程序并演示;D5-D7:撰写报告;D8-D9:交设计报告。主要参考资料:1 谭会生,张昌凡EDA 技术及应用西安:西安电子科技大学出版社20042 孙晓明EDA实验指导书武汉:武汉理工大学教材中心,20071指导教师
3、签名: 孙晓明 2012 年 6 月 24 日系主任(或责任教师)签名: 年 月 日摘要电子密码锁在当今社会的地位越来越重要。怎样才能保证用户安全?通过电子密码锁去保护用户安全是其中的一个选择,不管是保护用户数据还是保护实体的东西,都可以由电子密码锁实现。本次设计使用外部存储24C02,通过单片机STC90C516RD+作为控制核心,采用4*4矩阵键盘作为用户输入部分,通过中断方式处理按键取回用户输入数据,然后将数据传回单片机,由单片机进行处理,通过与“万能密码”和用户自己设定的密码进行对比发出相应控制,如果密码一致则开启密码锁,否则保持密码锁原有状态。显示部分使用的是四个一组的数码管,可显示
4、用户输入的四位密码,用作相应提示和交互,用一个LED表示密码锁是否开启,如果开启则亮,否则熄灭状态。设计程序采用C语言,C语言使设计更加灵活。由于需要的程序存储空间较大,所以选择了STC90C516RD+单片机,这个型号单片机最大容量为61K。通过以上器件组合,顺利完成了本次课程设计,满足设计要求,达到预期目的。关键字:单片机 密码锁 24C02目录1 设计要求及分析12 总体设计方案22.1系统设计方案论证22.2 系统结构框图设计23 硬件设计43.1 单片机的选择43.2键盘检测电路53.3 LED显示电路63.4 数码管显示电路63.5 24C02密码存储电路84 软件设计104.1
5、程序流程图104.2 程序设计124.2.1 24C02读写模块124.2.2 按键扫描处理模块154.2.3 数码管显示模块215 调试记录与仿真结果分析225.1 调试结果225.2 仿真结果分析24心得体会25参考文献26附录127附录228武汉理工大学能力拓展训练说明书基于STC90C516RD+电子密码锁的设计1 设计要求及分析设计一个电子密码锁,在锁开的状态下输入密码,设置的密码共4位,用数据开关K1K10分别代表数字1,2,9,0,输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。可删除输入的数字,删除的是最后输入的数字,
6、每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。用一位输出电平的状态代表锁的开闭状态。提高部分:设置一个万能密码,在主人忘记密码时使用。由于设计要求中按键较多所以采用4*4矩阵键盘,显示部分已经要求用数码管,所以就不用考虑其他选择了。用一位输出电平的状态代表锁的开闭状态,为了可以让大家看出效果,可以选择开锁后声光报警等,本次设计权衡各方面采用一个二极管实现电平表示,密码需要保存,所以在掉电后保存到了24C02外部扩展ROM上,实现了掉电也不影响用户的正常使用。当然,密码可以用加密算法保存,本次设计由于时间仓储没有采用加密算法仅仅实现了明文密码存储在24C02的相应内存单元
7、中,加密算法可以进一步提高密码的安全性,可以使用查表替换法等等去实现明文密码加密。开启密码锁后,密码锁要求用户输入密码,当用户按下确认键后进行密码比较,密码正确则LED亮,否则保持熄灭,当然在用户键入密码的同时可以用删除键进行修改,以确保自己输入的正确,用户输入“万能密码”或自己的密码时开锁,当然期间要读出24C02上存储的密码进行比对,按下设置键可以进行用户自定义密码修改,密码修改后按下确认键确认,同时将明文密码保存到24C02上。2 总体设计方案2.1系统设计方案论证实现电子密码锁的方法主要有以下几种。方案一:采用纯硬件电路。该系统的优点在于速度较快,不需要编程,但是设计复杂、灵活性较小、
8、线路复杂、调试和安装不方便,实现难度大。方案二:FPGA/CPLD或采用带有IP内核的FPGA/CPLD方式。即用FPGA/CPLD完成采集、存储、显示等功能,由IP核实现人机交互等功能。这种方案的优点在于系统结构紧凑,可以实现复杂的控制,操作方便;缺点是调试过程复杂,成本较高。方案三:单片机与24C02相结合。即用单片机完成人机界面、系统控制、数据处理,由矩阵键盘模块完成用户输入采集等。这种方案克服了方案一、二的缺点,所以本此设计使用基于单片机和24C02的方案实现本次电子密码锁的设计。综上所述,本次设计从各方面考虑,采用方案三最为合理,相对设计较简单,容易实现,而且性能等完全满足题设要求,
9、在现有资源的条件下,本次设计选定使用方案三。2.2 系统结构框图设计图1 电子密码锁设计框图系统主要由矩阵键盘输入模块、数码管显示模块、LED显示模块、24C02密码处处模块组成,矩阵键盘采用中断方式处理按键问题,数码管采用动态扫描的方法显示,24C02采用I2C的方式进行读写数据。通过读出24C02存储的密码以及“万能密码”和用户输入密码进行对比,输入正确开锁LED亮,否则熄灭,当然这期间用户输入可以在数码管上显示,并通过键盘上的按键进行人机交互。系统框图如图1所示。3 硬件设计3.1 单片机的选择STC90C51RD+系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令代
10、码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,内部集成MAX810专用复位电路,时钟频率12MHz以下时,复位脚可直接接地。技术性能描述如下:1)、增强型6 时钟/机器周期,12 时钟/机器周期 8051 CPU;2)、工作电压:5.5V - 3.8V(5V 单片机)/3.8V - 2.4V(3V 单片机);3)、工作频率范围:0-40MHz,相当于普通8051的 080MHz.;4)、用户应用程序空间 4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/ 61K/字节;5)、片上集成 1280字节/512/256字节 RAM
11、;6)、通用I/O口(35/39 个),复位后为: P1/P2/P3/P4 是准双向口/弱上拉(普通8051 传统I/O 口);P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。7)、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器可通过串口(P3.0/P3.1)直接下载用户程序,8K 程序3 - 5 秒即可完成一片;8)、EEPROM 功能;9)、看门狗;10)、内部集成MAX810专用复位电路,外部晶体12M以下时,可省外部复位电路,复位脚可直接接地;11)、共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用;12
12、)、外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒;13)、通用异步串行口(UART),还可用定时器软件实现多个UART;14)、工作温度范围:0-75/-40-+85;15)、封装:LQFP-44,PDIP-40,PLCC-44。由于本人的单片机实验箱自带一片STC90C516RD+单片机,故本次设计直接使用STC90C516RD+单片机作为本设计的控制核心。这个型号的单片机用户应用程序空间达到了61K,用户应用程序存储空间非常大,因此不用考虑使用外部存储。其引脚图如图2所示。图2 STC90C516RD+引脚图3.2键盘检测电路键盘模块
13、是系统的人机交流模块,主要为用户提供进行密码输入、设置、确认、删除的功能。该设置功能模块中包括了09对应的数字按键,每一个数字对应一个按键,以及设置、确认、删除键,用户开机后可以点击数字键进行密码键入,通过删除键修改密码,确认无误后可以点击确认键进行确认提交,系统通过对比做出相应响应,同时用户原密码正确输入后可以点击设置键进行密码重设,并点击确认键进行提交新密码,当然期间可以通过删除键进行修改新密码,直到最后的提交,重设密码完成! 由于按键比较多,为了节省I/O口的资源,本系统采用4*4矩阵键盘。又因为变成扫描、定时扫描的键盘工作方式过多的占用CPU时间,本系统为了不过多的占用CPU的时间,采
14、用中断扫描方式。采用外部中断1处理键盘扫描程序,具体工作思路为先给P1口赋值0xf0,这样不论那个按键被按下均会产生一个低电平,通过四路输入与门后同样产生一个低电平,从而产生一个下降沿(程序中设定外部中断1为下降沿产生中断模式),四输入与门的输出端与P3.3相连,其他部分见图3。图3 键盘检测电路3.3 LED显示电路LED显示电路非常简单,单片机P2.6口接LED阴极。当密码正确时,单片机P2.6脚输出低电平驱动LED发光。具体电路请参见附录总电路图。3.4 数码管显示电路本次设计要求使用LED显示用户密码输入。题设已经要相应要求,所以本设计采用四位共阴极的LED七段数码管。如图4所示为4位
15、7段共阴极数码管的引脚图。由于所有的段选并联到同一个 I/O上,因此,如果是所有的4位7段LED都选通后,4位7段LED将会显示相同的字符。要使各个位的7段LED显示不同的字符,就必须采用动态扫描方法来轮流点亮每一位7段LED,即在每一瞬间只选通一位7段LED显示单独的字符,在此段点亮时间内,段选控制I/O口输出要显示的相应字符的段选码,而位选控制I/O口则输出位选信号,向要显示的位送出选通电平(共阴极送出低电平),使得该位显示相应字符。这样可以使4位7段LED轮流点亮,使得每位分时显示该位相应的字符。由于人眼的视觉暂留时间为0.1秒,当每位显示的间隔未超过33ms时,并在显示时保持直到下一位
16、显示,则人眼的视觉暂留效果使眼睛看上去就像是4位7段LED都同时点亮。设计时要注意每位显示的时间间隔,由于一位7段LED的熄灭时间不能超过 100ms,也就是说点亮其它位所用的时间不能超过100ms,这样当有N位的7段LED用来显示时,每一位间隔的时间t就必须符合式子:t100ms/(N-1),本设计中N4,则由式子可以算出t33ms,也就是每一位的时间间隔不能超过33ms。当然时间可以设得稍微短一些。图4 四位七段共阴极数码管引脚图如图5所示为本显示电路4位7段LED数码管显示模块电路图。A、B、C、D、E、F、G依次接P0.0-P0.6,DP接P0.7管脚,同时P1口接入上拉电阻,在P1口
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 密码锁 设计
