




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.概述本次基于8051单片机电子密码锁的设计,其主要具有如下功能:(1)设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码可以由用户自己修改设定(只支持6位密码),锁打开后才能改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确以防止误操作。(3)报警、锁定键盘功能。密码输入用发光管显示,当连续3次输入错误密码,系统声光报警。电子密码锁的设计主要由三部分组成:44矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯等。密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“”就显示在最右边的数码管上,同时将先前输入的所有“”向左移动一位。(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(3)密码更改功能:将输入的值作为新的密码。(4)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果确锁打开,否则不打开。主要的设计实施过程:首先,选用8051单片机,以及选购其他电子元器件。第二步,设计硬件电路。第三步,编写单片机语言实现功能。第四部,分别进行软件和硬件的调试。最后,联合软、硬件调试整个系统,完成本次课程设计。关键词:44矩阵键盘;8051单片机;密码锁;密码二次确认课题要求本次课程设计,基于8051单片机电子密码锁的设计,利用4*4小键盘作为输入,LED作为显示。当输入密码和设定的密码一致时,系统利用继电器输出解锁信号,其主要具有如下功能:(1)设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码可以由用户自己修改设定(只支持6位密码),锁打开后才能改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确以防止误操作。(3)报警、锁定键盘功能。密码输入用发光管显示,当连续3次输入错误密码,系统声光报警。课题分析电路主要包括矩阵键盘输入密码,外部密码验证,单片控制,原理方框图如下:图一:电子密码锁原理方框图4.1矩阵键盘输入控制电路设计方案是非编码键盘,每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动。 行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。通过不断读行线口线,或者中断方式触发键位扫描。 当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。 将每个行线和列线的组合值作成列表,每次就可以通过查表确定键位,以决定之后要进行的操作。课题方案选择方案一:使用8051单片机,采用汇编语言编写程序,该程序语言功能强大,调试较为方便,具有很强的实用性。方案二:利用数字逻辑电路,运用电压比较器,555单稳态电路,计数器,JK触发器,UPS电源等实现对门的电子控制。方案三:使用8051单片机,利用基于单片机的C语言编写程序,通过Keil C51 uVision2软件进行仿真模拟。 方案二基于数字电路,操作繁琐,会出现较多的器件故障,同时调试复杂,难于维护。方案三该逻辑语言较为复杂,编写程序时也较为复杂,还需进行软件仿真模拟,设计复杂。综上所述,使用方案一,设计较为简便,调试简单,硬件电路较少,易于维护。程序部分ORG 1000HMOV R4,#08H ;密码个数8个 MOV R0,#40H ;密码暂存区 MOV A,#00H ;初始密码0,1,2,3,4,5 GO: MOV R0,A INC R0 INC A DJNZ R4,GOSETB P3.0; 确认SETB P3.1 ;锁开 SETB P3.2 ;错误SETB P3.4 ;报警 MOV R0,#20HMOV A,#03HMOV R0,A;8155初始化MOV R0,#79HMOV R7,#06HINIT:MOV R0,#0;显示缓冲区清零INC R0DJNZ R7,INITLOP:LCALL DISPLCALL KEYBJB ACC.4,LOP;未按键返回MOV R0,#7EHMOV R7,#05H PUSH ASETD:DEC R0MOV A,R0INC R0MOV R0,ADEC R0DJNZ R7,SETDPOP ACCMOV R0,AMOV 7DH,7CHCJNE ,A,#0AH,LOPCLR P3.0ACALL COMP CJNE R3, #03H, LOPCLR P3.4SJMP LOP-KEYB: LCALL BKS;按键处理子程序JNZ BLK1LCALL DISPSJMP KEYBBLK1:LCALL DISPLCALL DISPLCALL BKSJNZ BLK2LCALL DISPSJMP KEYBBLK2:MOV R2,#0FEHMOV R4,#0BLK4:MOV R1,#21HMOV A,R2MOVX R1,AMOV R1,#23HMOVX A,R1JB ACC.0,BL1MOV A,#0SJMP BLKPBL1: JB ACC.1,BL2MOV A,#08HSJMP BLKPBL2:JB ACC.2,BL3MOV A,#10HSJMP BLKPBL3:JB ACC.3,BLMOV A,#18HBLKP: ADD A,R4PUSH ACCBLK3:LCALL DISPLCALL BKSJNZ BLK3POP ACCCJNE A,#10H,PPPP:JNC PP1MOV DPTR,#TBLMOVC A,A+DPTRPP1:RETTBL:DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00HDB 02H,0FH,03H,0EH,0CH,0DHBL: INC R4MOV A,R2JNB ACC.7,BKLDRL AMOV R2,ASJMP BLK4BLKD: SJMP KEYBBKS:MOV R1,#21HMOV A,#0MOVX R1,AMOV R1,#23HMOVX A,R1CPL AANL A,#0FHRET-DISP:MOV R0,#79HMOV R3,#20HBTL:MOV A,R3MOV R1,#21HMOVX R1,A;送位选码到PA口MOV A,R0MOV DPTR,#TAB1MOVC A,A+DPTR ;查表INC R1MOVX R1,A;送显示码到PB口LCALL DELAY;延时INC R0MOV A,R3JB ACC.0,HERE;一轮显示完到HERERR AMOV R3,ASJMP BTL;继续本轮显示HERE: RETTAB1:DB 0C0H,0F9,0A4H,0B0H,99H,92H,82H ;共阳显示码DB 0F8H,80H,90HDELAY: MOV R6,#0FFH;延时子程序D1: MOV R5,#0FFHD2: DJNZ R5,D2DJNZ R6,D1 MOV 30H,7EH MOV 31H,7DH MOV 32H,7CHMOV 33H,7BHMOV 34H,7AHMOV 35H,79HRET-COMP: MOV R1,#40H MOV A,R1 CJNE A,30H, MORE INC R1MOV A,R1 CJNE A,31H, MORE INC R1MOV A,R1 CJNE A,32H, MORE INC R1MOV A,R1 CJNE A,33H, MORE INC R1MOV A,R1 CJNE A,34H, MORE SJMP KMORE: INC R3 CLR P3.2 K: RETENDORG 1000HMOV R4,#08H ;密码个数8个 MOV R0,#40H ;密码暂存区 MOV A,#00H ;初始密码0,1,2,3,4,5 GO: MOV R0,A INC R0 INC A DJNZ R4,GOSETB P3.0; 确认SETB P3.1 ;锁开 SETB P3.2 ;错误SETB P3.4 ;报警 MOV R0,#20HMOV A,#03HMOV R0,A;8155初始化MOV R0,#79HMOV R7,#06HINIT:MOV R0,#0;显示缓冲区清零INC R0DJNZ R7,INITLOP:LCALL DISPLCALL KEYBJB ACC.4,LOP;未按键返回MOV R0,#7EHMOV R7,#05H PUSH ASETD:DEC R0MOV A,R0INC R0MOV R0,ADEC R0DJNZ R7,SETDPOP ACCMOV R0,AMOV 7DH,7CHCJNE ,A,#0AH,LOPCLR P3.0ACALL COMP CJNE R3, #03H, LOPCLR P3.4SJMP LOP-KEYB: LCALL BKS;按键处理子程序JNZ BLK1LCALL DISPSJMP KEYBBLK1:LCALL DISPLCALL DISPLCALL BKSJNZ BLK2LCALL DISPSJMP KEYBBLK2:MOV R2,#0FEHMOV R4,#0BLK4:MOV R1,#21HMOV A,R2MOVX R1,AMOV R1,#23HMOVX A,R1JB ACC.0,BL1MOV A,#0SJMP BLKPBL1: JB ACC.1,BL2MOV A,#08HSJMP BLKPBL2:JB ACC.2,BL3MOV A,#10HSJMP BLKPBL3:JB ACC.3,BLMOV A,#18HBLKP: ADD A,R4PUSH ACCBLK3:LCALL DISPLCALL BKSJNZ BLK3POP ACCCJNE A,#10H,PPPP:JNC PP1MOV DPTR,#TBLMOVC A,A+DPTRPP1:RETTBL:DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00HDB 02H,0FH,03H,0EH,0CH,0DHBL:INC R4MOV A,R2JNB ACC.7,BKLDRL AMOV R2,ASJMP BLK4BLKD: SJMP KEYBBKS:MOV R1,#21HMOV A,#0MOVX R1,AMOV R1,#23HMOVX A,R1CPL AANL A,#0FHRET-DISP:MOV R0,#79HMOV R3,#20HBTL: MOV A,R3MOV R1,#21HMOVX R1,A;送位选码到PA口MOV A,R0MOV DPTR,#TAB1MOVC A,A+DPTR ;查表INC R1MOVX R1,A;送显示码到PB口LCALL DELAY;延时INC R0MOV A,R3JB ACC.0,HERE;一轮显示完到HERERR AMOV R3,ASJMP BTL;继续本轮显示HERE: RETTAB1:DB 0C0H,0F9,0A4H,0B0H,99H,92H,82H ;共阳显示码DB 0F8H,80H,90HDELAY: MOV R6,#0FFH;延时子程序D1: MOV R5,#0FFHD2: DJNZ R5,D2DJNZ R6,D1 MOV 30H,7EH MOV 31H,7DH MOV 32H,7CHMOV 33H,7BHMOV 34H,7AHMOV 35H,79HRET-COMP: MOV R1,#40H MOV A,R1 CJNE A,30H, MORE INC R1MOV A,R1 CJNE A,31H, MORE INC R1MOV A,R1 CJNE A,32H, MORE INC R1MOV A,R1 CJNE A,33H, MORE INC R1MOV A,R1 CJNE A,34H, MORE SJMP KMORE: INC R3 CLR P3.2 K: RET END七、 系统调试电子密码锁主要由矩阵键盘,LED数码显示器,提示灯,单片机程序组成。调试部分主要是数码显示和程序细节的调试。数码管调试主要是看其能否完整显示6位数字。不可以显示只能重新换过。程序的调试是比较复杂的部分,它又可以分为比较部分和键盘部分。首先在输入程序时,应该先输入键盘部分,然后单独运行键盘程序看键盘输入时数码管能否显示出与键盘输入的数字相对应的数字。然后以键盘程序为主程序,把比较部分的程序作为子程序输入。那是由于键盘程序中我们所输入的数字存在79H7EH显示缓存中只能在键盘程序中被调用,如果把键盘程序作为子程序,那我们在比较部分中要掉用显示缓存中的数据便不可行。比较部分时遇到最大的问题就是把密码部分与我们输入的数据作比较,而2个数据又不能直接比较,因此需要一个中间量,我们取A寄存器作为密码的存放位置,然而当我们输入MOV A,40H(密码地址)COMP1: CJNE A,7EH,ONCE时,A中却不能出现40H单元中的数据,这样无论怎么比较都是没用的,永远都是错的。八、总结与体会以上为实习期间所设计的基于8051单片机电子密码锁电路,它经过多次修改和整理,以是一个比较不错的设计,可以满足人们的基本要求,但因为水平有限,此电路中也存在一定的问题,譬如说电路的密码不能遗忘,一旦遗忘,就很难打开,这可以通过增加电路解决,但过于复杂,本次设计未其中;通过这两周的设计,我们获得巨大收获:首先,通过学习使自己对课本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营业收入核算试题及答案
- 考试题及答案2020乐理
- 育婴师个体关怀考题及答案
- 物业管理绿化试题及答案
- 水利灌溉考试题及答案
- 做账实操-碳关税产品的申报流程
- 药剂学综合素养考查试题及答案
- 育婴师如何开展亲子活动的有效策略试题及答案
- 机体结构测试题及答案
- 系统规划师考题及答案的专业学习途径
- 允许一切发生:过不紧绷松弛的人生
- 《囊萤夜读》-课件
- 小儿柴桂退热颗粒的临床应用分析
- 老人智能手环方案可行性研究报告
- 《国家安全法》-详解
- 野生动物识别与鉴定-南京森林警察学院中国大学mooc课后章节答案期末考试题库2023年
- 解剖生理-牙列与颌位课件
- 《中国陶瓷鉴赏与器物陈设》复习考试题库(带答案)
- 肺隐球菌病诊治
- 《情绪特工队》情绪管理(课件)-小学生心理健康四年级下册
- 生命之树:能量疗愈与脉轮平衡
评论
0/150
提交评论