




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子密码锁设计(论文) 摘要通过单片机 AT89C51 的输出口线,连接一个行列式键盘,以实现人机交换,使用 户可以输入密码或修改密码, 再同 1602LCD 显示器与用户进行沟通, 提示用户下一步 的操作,让用户更容易掌握所设计的密码锁的功能,在对单片机编程时,将键盘扫描程 序和液晶显示程序嵌套在主程序中,既有利益于阅读,在对程序设计时的排除错误也容 易, 通过翻转法键盘扫描程序实现键盘的扫描, 以确认用户输入的数据, 再在 1602LCD 显示出输入数据的个数,使用户在按“确认”之前就对输入的数据用一定得判断,再通 过程序判断密码是否正确,再通过判断键以实现修改密码的功能,总之,这次设计就是 利用单片机的相关外围电路设计和程序的编写来实现电子密码锁的设计。关键词:单片机;行列式键盘;LCD 显示器目录1、 设计的需求分析 111 要求.112 任务.113 运行环境 .114 开发工具 22、总体方案设计 .33、 设计的要求.44、密码锁的硬件设计.54.1 行列式键盘5 4.2 1602LCD 显示器.5 4.3 按键提示和报错.5 4.4 总电路设计图 .65、密码锁的软件设计.75.1 主程序的设计 .7 5.2 主要功能程序的设计.8 5.3 仿真图及其分析.116、 结束语 .13 附录: 附录:源程 151 设计的需求分析电子密码锁设计 随着科技的发展以及人们生活水平的大幅度提高,特别是近几年国内经济的发展以 及科学技术的不断发展,防盗的要求也是与日俱增,同时对使用的便捷性也提出了更高 的要求,传统的锁防盗效果已经满足不了现代社会的防盗需求,还存在着需要随身带着 钥匙,如果钥匙不慎丢失被他人利用,就有可能使不良之人乘虚而入等诸多弊端.因此近 几年一种新型的电子密码锁应运而生.电子密码锁运用电子电路控制机械部分,使两者 紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常.大大增加了密码锁得 防盗功能。 同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和仿造的缺陷,方 便了锁具的使用,通过单片机的硬件和软件的设计可以不急可以达到开锁方便,而且还 可以在别人随意开锁时发出警报。 电子锁由于其保密性高, 使用灵活性好, 安全系数高, 受到了广大用户的亲呢。电子密码锁的密码保密性高,不易被破解以及它不用用户携带 钥匙等等特点,使得它日益被广泛的人群所接受,也逐渐成为人们生活的一种时尚、潮 流,它正慢慢的在许多领域无形之中抢占先机替代机械锁。11 要求电子密码锁设计 (1)熟悉电路,理解各个元件之间的控制流程。 (2)熟悉 PROTEUS 平台的运行环境。 (3)熟练掌握汇编语言,矩阵式键盘的实时控制操作。 (4)理解电子密码锁的工作原理。 12 任务 (1)确定 44 键盘控制识别方案。 (2)分析电子密码锁的流程。 (3)画出程序流程图。 (4)分析电路图。 (5)编写代码。 (6)程序分析与调试。 (7)测试。 13 运行环境(1)WINDOWS2000/XP 系统。(2)Keil51 或 WAVE 编译环境。 (3)PROTEUS 实验平台。 14 开发工具汇编语言2 总体方案设计以 80C51 单片机为核心的控制电路,采用模块化的设计方案。通过单片机的 P2 端口的开关来控制案件的输入的内容,根据另一单片机端口 P1 口 LCD 数码显示管所 显示的的情况来确定程序的运行和理论的结果是否一致。 具体设计方案如下:1.正确连接好硬件电路线路; 2.加载程序.HEX 文件,运行程序; 3.按下键盘开关,结果键值显示在 LCD 数码管显示器上; 4.对比 LCD 数码管显示情况与理论值是否相符。如相符合,即方案可行。 3 设计的要求1、设计密码锁的密码为六位数,可以修改; 2、用 44 组成 09 数字键及确认键、取消键、修改密码键、退出修改键。 3、当密码锁通电以后,通过 LCD 显示与用户沟通,组成显示电路提示信息,输入键盘按下时,LED 指示灯亮,按键松开了指示灯就灭;4 、当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开;当输入的密码错误时,显示输入错误,并且用蜂鸣器报错;5、所修改的密码只能是六位数,要是在改密码以后要恢复最初密码,只需将密码锁断电即可。4 密码锁的硬件设计4.1 行列式键盘图 4.1 行列键盘图4.2 1602LCD 显示器图 4.2 LCD 显示器图该图器件是 1062 液晶显示屏,D0 到 D7 口连接在单片机的 I/O 口上(如该设计 就连接在 P1 口) E,RW,RS 引脚也与单片机相连(如本设计连在 P3.5,P3.6,P3.7 , 口),VEE 和 VSS 接电源,VDD 接地,再通过软件设计实现各个字符串的显示4.3 按键提示和报错图 4.3 提示报错电路图该图利用一个发光二极管提示用户按键是否按下,用蜂鸣器提示密码错误,发出错误警报,将 a,b 两端接在单片机上(本设计连在 P0.6,P0.7 口)4.4 总电路设计图图 4.4 硬件设计图图 4.4 是将行列式键盘,LCD 显示器,提示和警报和 AT89C51 单片机连接 起来, 在给单片机加上晶振电路和复位电路就构成了一个完整的电子密码锁的硬件设计 图。5 密码锁的软件设计5.1 主程序的设计 1、主程序流程图开始储存密码显示欢迎界面,初始化调用键盘扫描程序键值=10?YN调用判断密码程序Y键值=11?N图 5.1 主程序流程图2、主程序的功能说明 在主程序中可以实现密码的储存,键值的判断,同过不同的键值觉得程序的下一步 走向,在没按键式或是在没按下特殊功能键时,程序在不停顶循环,直到符合用户的要 求和意愿5.2 主要功能程序的设计1、键盘扫描程序设计的流程图入口#0F0H 送 P1N键按下?Y消抖N键按下?YLED 亮;#0FH 送N键松开?YLED 灭; 存行的 一个键对应的 键值读取列值 计算键值 保存键值; 计数字节内容 程序出口图 5.2 键盘扫描程序设计的流程图2、LCD 显示程序设计的流程图入口初始化 LCD 根据情况给 DPTR 送数, 确定显示字符串的长度 调用 LCD 判忙程序 取相应的数 将所取数送 P1 口调用显示允许程序DPTR 加一N字符长度减一=0?Y出口图 5.3 LCD 显示程序设计的流程图3、修改密码子程序设计的流程图入口初始化 LCD 根据情况给 DPTR 送数, 确定显示字符串的长度 调用 LCD 判忙程序 取相应的数 将所取数送 P1 口调用显示允许程序DPTR 加一N字符长度减一=0?Y出口图 5.4 修改密码子程序设计的流程图5.3 仿真图及其分析图 5.5 仿真之欢迎界面图 5.5 为电子密码锁的欢迎界面,在两秒的欢迎界面后,显示器出现与用户沟通的 用户输入显示如图 5.6 所示图 5.6 仿真之输入密码界面图 5.6 为用户输入密码时的沟通界面,可以通过星号判断输入数据的个数,当用户 按下其他功能键时,显示器会有相应的动作,当按下“确认”时,若密码正确则显示 “SUCCESS”, 提示用户输入的密码是正确的,如密码错误则显示“ERROR”并发出警报,当按 下“取消”时,显示将提示用户重新输入。图 5.7 仿真之修改密码界面图 5.7 是用户修改密码时的用户沟通界面,当按下“确认”是若输入的新密码格式 不 对 则 显 示 “ SAVE FAILURE ” , 若 输 入 的 新 密 码 的 格 式 正 确 则 显 示 “ SAVESUCCESS” ,当按下“取消”时,显示将提示用户重新输入新密码,当按下“退出修改”时,显示器将提示用户没有储存新密码,并且显示欢迎界面。6 结束语通过本次课程设计, 我学到了许多书本上无法学到的知识,也深刻体会到单片机技术 应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一 门课程产生了更大的兴趣。本设计涉及到单片机原理及应用模拟电子技术等学 、 科。让我对专业知识有了更深的理解。 在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中 包括:1602LCD 的驱动原理、AT89C51 单片机及其引脚说明、键盘扫描程序的编写 等,为本次课程设计提供了一定的资料。 在做课程设计的初期阶段, 难度较大。 在设计基本完成时密码的修改还是不能实现, 通过求助于老师、查找了问题的所在。最后经过指导老师的耐心指点和连续的奋战才基 本设计出来。感谢老师的无私的帮助!本次设计我能独立完成,算是有了很大的收获。不 但对单片机有了更为深入的了解,对一个课题如何排版、画流程图、编程序等,有了一 定的认识。进一步加强了自己的动手能力和运用专业知识的能力,从中学习到如何去思 考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻体会到的是软件 和硬件结合的重要性,以及两者的联系和配合作用。同时明白了办事只要有信心,有毅 力,找对方法,就会成功!通过本次课程设计,让我了解到智能化技术对当今人们生活 的重要性。同时这次做课程设计的经历也使我受益匪浅。让我知道做任何事情都应脚踏 实地,刻苦努力地去做。只有这样,才能做好。在这次课程设计中,我既巩固了专业知 识,又学到了在设计过程中的许多流程和该注意的事项,增强了电子产品开发的意识。 本次经历将是我在大学时期很好的一次实践和锻炼机会。 参考文献1杨永辉 现代电子技术J 3-6 2潘新民王燕芳微型计算机控制技术实用教程M北京:电子工业出版社,2007: 75-76,118-119 3刘湘涛江世明单片机原理与应用M北京:电子工业出版社,2006:1-4 4何立民单片机初级教程M北京:北京航空航天大学出版社,1999:25-32 5 周航慈单片机程序设计基础M北京:北京航空航天大学出版社,2004:260附录: 附录:源程序指令代码 ORG 0000H LJMP START ORG 000BH LJMP INT RS BIT P3.7 RW BIT P3.6 E BIT P3.5 ORG 0040H START:MOV 70H,#1;将正确的密码存放 MOV 71H,#2 MOV 72H,#3 MOV 73H,#4 MOV 74H,#5 MOV 75H,#6 START1:ACALL WELCOME ACALL DELAY1 ACALL DELAY1 ACALL DELAY1 KAISHI:MOV R2,#00H MOV R0,#50H ACALL INPUT JIXU:ACALL SAOMIAO CJNE A,#10,PD2 ACALL PD1 AJMP PD4 PD2:CJNE A,#11,PD3 AJMP PD4 PD3:ACALL INPUT LJMP JIXUPD4:LJMP KAISHI;这一部分为主程序,电子密码锁的各种功能函数都嵌套在主程序中SAOMIAO:NOP ;键盘扫描子程序 MAIN:MOV P2,#0F0H MOV A,P2 CJNE A,#0F0H,M SJMP MAIN M:ACALL DELAY CJNE A,#0F0H,MM SJMP MAIN MM:MOV 20H,A MOV P2,#0FH MOV 31H,P2 CLR P0.6 MMM:MOV P2,#0F0H MOV A,P2 CJNE A,#0F0H,MMM SETB P0.6 JNB 20H.4,AP1 JNB 20H.5,AP2 JNB 20H.6,AP3 JNB 20H.7,AP4 LJMP MAIN AP1:MOV 30H,#0 AJMP WP AP2:MOV 30H,#4 AJMP WP AP3:MOV 30H,#8 AJMP WP AP4:MOV 30H,#12 AJMP WPWP:MOV A,31H JNB ACC.0,D0 JNB ACC.1,D1 JNB ACC.2,D2 JNB ACC.3,D3 LJMP MAIN D0:MOV A,#0 ADD A,30H MOV R0,A MOV A,R0 INC R0 INC R2 LJMP WWW D1:MOV A,#1 ADD A,30H MOV R0,A INC R0 INC R2 LJMP WWW D2:MOV A,#2 ADD A,30H MOV R0,A INC R0 INC R2 LJMP WWW D3:MOV A,#3 ADD A,30H MOV R0,A INC R0 INC R2 WWW:NOPRET;扫描程序出口,该部分用翻转法,先给高位置 1,低位置 0,再将其翻转过来,扫描得到键值PD1:CLR C;输入密码判断程序 MOV A,50H SUBB A,70 H JNZ EXIT CLR C MOV A,51H SUBB A,71H JNZ EXIT CLR C MOV A,52HSUBB A,72H JNZ EXIT CLR C MOV A,53H SUBB A,73H JNZ EXIT CLR C MOV A,54H SUBB A,74H JNZ EXIT CLR C MOV A,55H SUBB A,75H JNZ EXIT CLR C DEC R2 MOV A,R2 SUBB A,#6 JNZ EXITACALL SUCCESS ACALL DELAY1 ACALL DELAY1 ACALL DELAY1 ACALL WELCOME PP1:ACALL SAOMIAO MOV A,57H CJNE A,#12,PP AJMP PPP0 PP:AJMP PP1 PPP0:ACALL XIUGAI LJMP START1 EXIT:ACALL ERROR MOV TMOD,#01 MOV TH0,0FCH MOV TL0,0EH SETB EA SETB ET0 SETB TR0 ACALL DELAY1 CLR TR0 RET XIUGAI:ACALL NEWWORD;修改密码的程序 MOV R2,#00 MOV R0,#50H JIXIU1:ACALL SAOMIAO CJNE A,#10,XX1 LJMP PD5;跳转到判断输入密码格式是否正确 XX1:CJNE A,#11,XX2 LJMP PD6;跳转到开始修改密码的状态 XX2:CJNE A,#12,XX3LJMP PD6 XX3:CJNE A,#13,XX4 LJMP PD7;退出修改密码 XX4:ACALL XIANSX LJMP JIXIU1 PD5:ACALL PANDUAN AJMP PD8 PD6:LJMP XIUGAI PD7:ACALL NOMOTIFY ACALL DELAY1 ACALL DELAY1 ACALL DELAY1 PD8:NOP RET XIANSX:MOV A,R2;显示新密码的程序 MOV R3,A ACALL BUSY MOV P1,#38H ACALL ENABLE ACALL BUSY MOV P1,#0FH ACALL ENABLE ACALL BUSY MOV P1,#06H ACALL ENABLE ACALL BUSY MOV P1,#192 ACALL ENABLE MOV DPTR,#1900H LP5:ACALL BUSY MOV A,#00HMOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP5 RET PANDUAN:MOV A,R2;密码修改时的格式是否正确的判断程序 SUBB A,#7 JNZ EXIT1 MOV 70H,50H MOV 71H,51H MOV 72H,52H MOV 73H,53H MOV 74H,54H MOV 74H,54H ACALL SAVES AJMP EXIT2 EXIT1:ACALL SAVEF EXIT2:ACALL DELAY1 ACALL DELAY1 ACALL DELAY1 RET ENABLE:SETB E CLR RW CLR RS CLR E RET DATAS:SETB E SETB RS CLR RW CLR ERET BUSY:CLR E;LCD 判忙程序 MOV P1,#0FFH CLR RS SETB RW SETB E JB P1.7,BUSY RET CHUSHI:ACALL BUSY;LCD 初始化程序 MOV P1,#01H ACALL ENABLE ACALL BUSY MOV P1,#38H ACALL ENABLE ACALL BUSY MOV P1,#0FH ACALL ENABLE ACALL BUSY MOV P1,#06H ACALL ENABLE ACALL BUSY MOV P1,#80H ACALL ENABLE RET INPUT:MOV A,R2;INPUT 加星号的显示程序 MOV R3,#6 ADD A,R3 MOV R3,A MOV DPTR,#2000H AJMP PPP SUCCESS:MOV DPTR,#2050HMOV R3,#7 AJMP PPP ERROR:MOV DPTR,#2100H MOV R3,#5 AJMP PPP PPP:ACALL CHUSHI LP:ACALL BUSY MOV A,#00H MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP RET WELCOME:MOV DPTR,#2150H;显示 WELCOME TO USE 的程序 MOV R3,#14 ACALL CHUSHI LP1:ACALL BUSY MOV A,#00 MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP1 RET NEWWORD:MOV DPTR,#2200H;显示 NEW PASSWORD IS 的程序 MOV R3,#15 ACALL CHUSHI LP2:ACALL BUSY MOV A,#00 MOVC A,A+DPTRMOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP2 RET SAVEF:MOV DPTR,#2250H;显示 SAVE FAILURE 的程序 MOV R3,#12 ACALL CHUSHI LP3:ACALL BUSY MOV A,#00 MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP3 RET SAVES:MOV DPTR,#2300H;显示 SAVE SUCCESS 的程序 MOV R3,#12 ACALL CHUSHI LP4:ACALL BUSY MOV A,#00 MOVC A, A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP4 RET NOMOTIFY:MOV DPTR,#2350H MOV R3,#9 ACALL CH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 狂犬病防治知识课件
- 恩施物业整改工程方案(3篇)
- 磴口工程空气治理方案(3篇)
- 江苏省宿迁市2025年中考化学真题试卷附真题答案
- 安全教育大培训大计划课件
- 昆山语文面试题库及答案
- 科研单位面试题库及答案
- 长尾词视角下2025年页岩气开采技术环境影响深度解析
- 安全教育培训讲解课件
- 2025年氢能重卡商业化运营经济效益评估报告
- 数字产品服务使用协议书
- 中国邮政储蓄银行个人额借款合同4篇
- 4人合股合同协议书范本
- 【2025年】铁路机车车辆驾驶员资格考试模拟试卷(410题)及参考答案
- 【2025年】全民科学素质竞赛网络知识竞赛考试试卷题库(290题)附答案
- 2023-2025年高考生物试题分类汇编:孟德尔两大遗传定律原卷版
- 2025年机器人标准化行业发展趋势分析报告
- 2025年军考政治时事政治热点试题题库含答案
- 2025年村医笔试重点题库
- 养生艾灸直播课件
- 2025年徐州市中考语文试题卷(含答案及解析)
评论
0/150
提交评论