ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:514KB ,
资源ID:5976422      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5976422.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(单片机-密码锁毕业设计课程设计.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单片机-密码锁毕业设计课程设计.doc

1、单片机原理及系统课程设计报告单片机原理及系统课程设计评语:平时(40)修改(30)报告(30)总成绩1 引言电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其在生活的各个方面均有应用,前景十分广阔。其特点如下:(1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零;(2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;(3) 误

2、码输入保护,当输入密码多次错误时,报警系统自动启动;(4) 无活动零件,不会磨损,寿命长;(5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。2 设计方案及原理2.1 本设计所要实现的目标设计一种单片机控制的密码锁,具有按键有效指示、解码有效指示、控制开锁电平、控制报警、密码修改等功能。8位十进制密码共一亿组不重复,保密性强。该密码锁要实现一下功能:(1) 锁的初始状态为“锁合”指示灯亮。输入初始密码“0、1、2、3、4、5、6、7”,每输入一位,“按键有效”指示灯亮约半秒钟,输完8位按确认键,锁打开,“锁开”指示灯亮;(2) 按“上锁”键,锁又重新上锁,“锁合”指示灯亮;(3) “锁开”状

3、态下,可输入新密码,可重复修改密码;(4) 如果输入密码错误,“错误指示”灯亮约半秒钟。可重新输入密码;(5) 输入密码错误超过3次,蜂鸣器启动发出报警,同时“错误”指示灯常亮。2.2 设计思路对于电子密码锁的设计,需要解决几个问题:键盘输入、数码管显示、单片机电路、密码比较、修改密码等。其中最主要的就是解决掉电保存以及修改密码的问题。先写一个循环写入8个初始密码到芯片内部EEPROM程序,先下载程序写入初始密码,此时EEPROM已存有初始密码,再把密码锁程序下载到单片机,运行电子密码锁。本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的

4、实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用的是单片机P1.2和P1.1来控制锁合和锁开LED灯的状态,P0口用于电子显示屏来显示提示语句和密码输入按键。 本系统共有两部分构成,即硬件部分与软件部分。3 硬件设计硬件部分由键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成。3.1 键盘扫描电路键盘接成4*4的矩阵键盘,行线为LD0-LD3分别接P2口的P0.0-P0.3,列线为HD0-HD3分别接P2口的P0.7-P

5、0.4。当哪一行的有键按下,则相应行的“按键有效”指示灯亮一下,其余行所对应的灯不亮。P2初始时P2口第四位为低电平,高四位为高电平,当哪一行有键按下,则所对应的行和列对应的口变为低电平,将改为扫描到单片机中。键盘扫描电路如图3.1所示。图3.1 键盘扫描电路3.2 晶振电路80C31引脚XTAL1和XTAL2与晶体振荡器及电容C2/C1按图3.2所示方式连接。晶振、电容C1/C2振荡器,振荡信号频率与晶振频率及电容C1/C2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C1/C2取值范围在530pF之间。根据实际情况,本设计中采用1MHZ做为系统的外部晶振。电容取值为30pF

6、。晶振电路如图3.2所示。图3.2 晶振电路3.3 复位电路上电复位电路如图3.3所示。图3.3 复位电路3.4 显示部分显示电路是利用LM016L系列的LCD显示屏,可以双行显示。其D0-D7与P0口相接,并且给P0口外接上拉电阻。LCD显示电路如图3.4所示。图3.4 LCD显示密码电路3.5 报警电路报警电路是利用SPEAKER和NPN型三极管构成,同时给蜂鸣器并联一个发光二级管,当P1.0口输出为高电平时,NPN三极管导通,蜂鸣器发声,“错误”指示灯亮。报警电路如图3.5所示。图3.5 报警电路3.6 电路总体结构及布局该设计的电路总体结构及布局如图3.6所示。图3.6 电路总体结构及

7、布局4 软件设计软件部分由主程序、初始化程序、LCD显示程序、键盘扫描程序、功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。总流程图如图4.1所示。 图4.1 程序流程图具体程序见附录。5 Proteus仿真结果当开启开始仿真时,LCD显示屏会显示“选择A为设置密码,选择B为开锁”,同时“锁合”指示灯(红灯D1)闪烁。开始仿真图如图5.1所示。图5.1 开始仿真图当按下A或B时会提示输入密码,按下每一个键都会输出“*”提示。其仿真结果如图5.2所示。图5.2 提示输入密码界面当输入密码正确时会显示“PASSWORD OK!”字样,同时“错误”指示灯(绿灯D3亮)。其仿真图如图5.

8、3所示。图5.3 输入密码正确显示界面当输入密码错误时,LCD显示屏会显示“PASSWORD ERROR!”。其仿真图如图5.4所示。图5.4 当输入密码错误时显示界面6 总结本设计是基于单片机的多功能密码锁设计。在设计过程中,首先是确立要设计的目标及电子密码锁要实现的功能,该如何通过软硬件来实现。接下来是根据目标来搭建电路图,设计各功能模块要实现的功能,比如报警,LED灯的显示控制,4*4矩阵键盘的搭建。接着就要通过编程来实现各模块功能,比如输入密码,输出显示,键盘扫描程序,存储程序等等。最后就是调试改错,下载仿真。本设计最后实现了上面所提到的基本功能外,另外增加了LCD显示屏,开始时有提示

9、选择,问执行什么功能,到底是设置密码呢还是开锁。当进入任何一个界面都会出现提示信息,比如PASSWORD OK!,INPUT AGAIN!,SET PASSWORD等等。当每次输入时都会显示“*”提示。当输入密码错误超过三次时就会直接锁死,即使按下功能复位键也不会开锁,这样直接降低了盗窃的几率。另外,在修改密码时会提示先输入原密码,再输两次新密码,防止用户该密码是按错键,极大地提高了密码锁的可靠性。本设计输入的密码是8位的,共有一亿组不重复密码,增加了密码的安全性。本设计还附录 源程序 EN BIT P3.0 RW BIT P3.1 RS BIT P3.2 DISPLAY EQU P0 SOU

10、NDER BIT P1.1 LED BIT P1.2 OPEN BIT P1.1 RETURNBIT BIT 20H.1 ORG 0000HLJMP START ORG 000BH LJMP INTERMIT_T0 ORG 001BH LJMP INTERMIT_T1 ORG 0030HSTART: MOV SP,#60H LCALL SYS_INITIAL ;主程序MAIN0: LCALL STRAT_DISPLAYMAIN: MOV 52H,#0 ;判断输入错误次数储存地址 SETB LED SETB TR0 LCALL KEY CPL SOUNDER MOV R5,#10RETURN_T

11、1:POP PSW POP ACC RETI KEY: CALL KS ;键盘扫描 JNZ K1JMP KEYK1: CALL DELAY CALL KSJNZ K2 JMP KEYK2: CLR TR0 CLR LED MOV R2,#0FEH MOV R6,#00HK3: MOV A,R2 MOV P2,A MOV A,P2 JB ACC.4,L1 MOV A,#0 LJMP LKL1: JB ACC.5,L2 MOV A,#4 LJMP LKL2: JB ACC.6,L3 MOV A,#8 LJMP LKL3: JB ACC.7,NEXT_KEY MOV A,#12LK: ADD A,R

12、6 MOV R6,AK4: CALL KS JNZ K4 MOV A,R6 MOV DPTR,#TABLE0 MOVC A,A+DPTR MOV 50H,A ;查表取值存入50h,保护键值 RETNEXT_KEY: INC R6 MOV A,R2 JNB ACC.7,KEY RL A MOV R2,A JMP K3KS: MOV P2,#0F0H MOV A,P2 XRL A,#0F0H RET ;修改密码程序CHANGE_KEY: CALL CLEAR_DISPLAY MOV DPTR,#TABLE4 CALL INPUT_HINT MOV R0,#40H CALL CHANGE JBC R

13、ETURNBIT,CHANGE_KEY ;先输入原密码完毕 MOV R4,#8 MOV R0,#40H MOV R1,#32HINPUT_COMPERE: MOV A,R0 XRL A,R1 JNZ INPUT_ERROR INC R0 INC R1 NOP NOP DJNZ R4,INPUT_COMPERE ;验证输入密码完毕 JMP CHANGE_KEY0INPUT_ERROR: SETB SOUNDER SETB LED CALL CLEAR_DISPLAY MOV DPTR,#TABLE5 CALL INPUT_HINT CALL DELAY1_15S CLR SOUNDER CLR

14、LED INC 52H MOV A,52H CJNE A,#3,CHANGE_KEY SJMP $ ;输入密码错误次数超过3次,锁死CHANGE_KEY0: CALL CLEAR_DISPLAY MOV DPTR,#TABLE2 CALL INPUT_HINT MOV R0,#40H CALL CHANGE JBC RETURNBIT,CHANGE_KEY ;第一次输入新密码完毕 CALL CLEAR_DISPLAY MOV DPTR,#TABLE3 CALL INPUT_HINT CALL DELAY1_15S ;显示再次输入新密码完毕 MOV DPTR,#TABLE4 CALL INPUT

15、_HINT MOV R0,#48H CALL CHANGE JBC RETURNBIT,CHANGE_KEY ;第二次输入新密码完毕 MOV R4,#7 MOV R0,#40H MOV R1,#48HSET_COMPERE: MOV A,R0 XRL A,R1 JNZ SET_ERROR INC R0 INC R1 DJNZ R4,SET_COMPERE MOV 32H,40H MOV 33H,41H MOV 34H,42H MOV 35H,43H MOV 36H,44H MOV 37H,45H MOV 38H,46H ;存入新密码完毕 JMP MAIN0 ;设置新密码成功,返回主程序SET_

16、ERROR: SETB SOUNDER SETB LED CALL CLEAR_DISPLAY MOV DPTR,#TABLE5 CALL INPUT_HINT CALL DELAY1_15S CLR SOUNDER CLR LED LJMP CHANGE_KEY0 ;设置新密码成功,返回主程序INPUT_KEY: ;输入密码开锁程序 CALL CLEAR_DISPLAY MOV DPTR,#TABLE4 CALL INPUT_HINT MOV R0,#40H CALL CHANGE JBC RETURNBIT,INPUT_KEY ;设置新密码成功,返回主程序 MOV R4,#8MOV R0,

17、#40HMOV R1,#32HINPUT_COMPERE0: MOV A,R0 XRL A,R1 JNZ INPUT_ERROR22 INC R0 INC R1 NOP NOP DJNZ R4,INPUT_COMPERE0 ;验证输入密码完毕 JMP DISPLAY_RIGHTINPUT_ERROR22: SETB SOUNDER SETB LED CALL CLEAR_DISPLAY MOV DPTR,#TABLE5 CALL INPUT_HINT CALL DELAY1_15S CLR SOUNDER CLR LED INC 52H MOV A,52H CJNE A,#3,INPUT_KE

18、Y SJMP $ ;输入密码错误超过3次,锁死DISPLAY_RIGHT: CALL CLEAR_DISPLAY MOV DPTR,#TABLE6 CALL INPUT_HINT ;显示输入密码正确提示完毕 SETB OPEN ;开锁NEXT_KEY1: CALL KEY NOP NOP CJNE A,#F ,NEXT_KEY1 CLR OPEN ;按下关锁键关锁 JMP MAIN0 ;返回主程序 STRAT_DISPLAY: MOV P0,#80H CALL WRITE_INSTRUCTION MOV DPTR,#TABLE1 CALL INPUT_HINT MOV P0,#0C0H CAL

19、L WRITE_INSTRUCTION MOV DPTR,#TABLE11 CALL INPUT_HINT RETCLEAR_DISPLAY: ;清屏 MOV DISPLAY,#01H CALLWRITE_INSTRUCTION MOV P0,#06H CALL WRITE_INSTRUCTION RETINPUT_HINT: MOV R4,#16 MOV A,#00HALL_OR_NOT: MOVC A,A+DPTR MOV DISPLAY,A CALL WRITEDATA INC DPTR CLR A NOP NOP DJNZ R4,ALL_OR_NOT RETCHANGE: MOV R4

20、,#8 MOV R1,#0C0H MOV A,R1 MOV P0,A CALL WRITE_INSTRUCTIONLOOP1:CALL KEYNOPNOPCJNE A,#C,NEXT_TOSETB RETURNBITJMP ENDTNEXT_TO: MOV A,50H MOV R0,A MOV DISPLAY,#* CALL WRITEDATA INC R1 INC R0 DJNZ R4,LOOP1ENDT: RET WRITEDATA: ;写数据 SETB RS CLR RW CLR EN SETB EN NOP NOP CLR EN SETB EN NOP NOP CLR EN CALL

21、DELAY RETWRITE_INSTRUCTION: ;写指令 CLR RS CLR RW CLR EN SETB EN NOP NOP CLR EN CALL DELAY RETDELAY1_15S: ;延时程序 PUSH 77H PUSH 72H PUSH 73H MOV R7,#15DEL22S: MOV R3,#0DEL11S: MOV R2,#0 DJNZ R2,$ DJNZ R3,DEL11S POP 03H POP 02H POP 07H RETDELAY0_1S: PUSH 02H PUSH 03H MOV R3,#0DEL21S: MOV R2,#0 NOP NOP DJN

22、Z R2,$ DJNZ R3,DEL21S POP 03H POP 02H RETDELAY:PUSH 07H PUSH 06H MOV R7,#10D1: MOV R6,#248 NOP NOP DJNZ R6,$ DJNZ R7,D1 POP 06H POP 07H RETTABLE0:DB C,B,0,A; DB D,9,8,7; DB E,6,5,4; DB F,3,2,1;TABLE1: DB PASSWORD: A SET ;TABLE11: DB B OPEN;TABLE 2: DB SET PASSWORD: ;TABLE 3: DB INPUT AGAIN! ;TABLE4: DB INPUT PASSWROD: ;TABLE5: DB PASSWORD ERROR! ;TABLE6: DB PASSWORD OK! ;END- 17 -

移动网页_全站_页脚广告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 

客服