版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、班级:08电子 学号:27 姓名:吴文静任务三:多功能密码锁一、 任务目标二、 硬件连接P0-数码管段码 P2-数码管位码P1-行列式键盘P3.0-锁闭LED P3.1-锁开LEDP3.2-设置状态LED P3.3-报警状态LEDP3.4-错误状态LED三、 存储单元分配30H-35H 显示缓冲区 41H-45H 输入暂存区50H-55H 原始密码存储单元36H 临时单元,存储位码内容37H、39H 在按键子程序中用于内外循环计数 38H 按键子程序存放查表后得到的编码3AH 临时单元,存放逐行开的编码 3BH 密码错误次数计数器40H 在按键子程序中存放键盘的值 R0 在显示子程序中作显示缓
2、冲区的指针R2 数字键输入次数计数器 R4 在中断中作计数器R5、R6 延时子程序循环计数器R7 显示子程序六个数码管逐个显示计数器 20H.0=1 密码正确标志位20H.1=1 设置键按下标志位 20H.2=1 当前输入的是新密码标志位20H.3=1 密码三次错误报警开启标志位四、 任务要求及源程序1.任务要求密码锁功能:数码管初始显示6个横线,设置原始密码为123456。输入原始密码。密码错误,错误指示灯亮,输入3次错误,报警指示灯亮,定时10秒,10秒内任何按键都不起作用。密码正确,锁开,处于开门状态,此时设置键有效,数字键输入无效,关门键也有效。若要修改密码,只能在开门状态,设置键按下
3、,输入一次旧密码。若旧密码输入错误,此时旧密码输入错误次数加上开锁密码错误次数等于3次,报警定时,10秒后恢复锁关状态,锁的密码为新设置的密码若未设置新密码,则为旧密码。旧密码正确后才可输入新密码,新密码输入后按下确定键,退出设置状态,返回到开门状态。确定键在输入6个数以后才有效,退格键在有数字时才有效。0-9号按键作为数字键,最多输入六次;10号-退格键; 11号-确定键; 12号-设置键;13号-关门键; 14号-退出设置状态键。2源程序 ;主程序ORG 0000HAJMP STARTORG 000BHAJMP DISTORG 0030HSTART: MOV TMOD, #01HMOV T
4、H0, #3CHMOV TL0, #0B0HSETB EASETB ET0 ACALL XSCSH ;显示缓冲区初始化显示6个横线ACALL CSHMOV 3BH, #0MOV 50H, #1MOV 51H ,#2MOV 52H, #3MOV 53H, #4MOV 54H, #5MOV 55H,#6 ;原始密码设置为123456 LOOP: ACALL DISPACALL AJAJMP LOOP;显示子程序DISP: MOV R7, #6MOV R0, #30HMOV DPTR, #TABMOV 36H, #01HLOOP1: MOV A,R0MOVC A, A+DPTRMOV P0, AMO
5、V P2, 36HACALL DELAYINC R0MOV A, 36HRL AMOV 36H,ADJNZ R7,LOOP1RET;按键判断子程序,4*4循环AJ: MOV P1, #0F0HMOV A, P1CJNE A, #0F0H, D1AJMP D16D1: ACALL DISPMOV A, P1CJNE A, #0F0H, D2AJMP D16D2: MOV 3AH, #0FEH MOV 40H, #0MOV DPTR, #DABMOV 39H, #4D3: MOV 37H, #4MOV P1, 3AHD4: MOV A, 40HMOVC A, A+DPTRMOV 38H, AMOV
6、 A, P1CJNE A, 38H, D5AJMP D14D5: INC 40HDJNZ 37H, D4MOV A, 3AHRL AMOV 3AH, A DJNZ 39H, D3SJMP D16D14: ACALL PD D15: ACALL DISPMOV P1, #0F0HMOV A,P1CJNE A, #0F0H, D15 D16: RET;按键功能子程序PD: MOV A, 40HCJNE A,#0,F1ACALL DINAJMP F16 F1: CJNE A, #1, F2ACALL DINAJMP F16 F2: CJNE A, #2, F3ACALL DINAJMP F16 F3
7、: CJNE A, #3, F4ACALL DINAJMP F16F4: CJNE A, #4, F5ACALL DINAJMP F16F5: CJNE A, #5, F6ACALL DINAJMP F16F6: CJNE A, #6, F7ACALL DINAJMP F16F7: CJNE A, #7,F8ACALL DINAJMP F16F8: CJNE A, #8, F9ACALL DINAJMP F16F9: CJNE A, #9, F10ACALL DINAJMP F16F10: CJNE A, #10, F11ACALL BACKAJMP F16F11: CJNE A, #11,
8、F12ACALL ENTERAJMP F16F12: CJNE A, #12, F13ACALL SZAJMP F16 F13: CJNE A, #13, F14ACALL CLOSE AJMP F16 F14: CJNE A, #14, F15ACALL TSZ AJMP F16 F15: CJNE A,#15,F16 F16: RET;数字键输入子程序DIN: JB 20H.3, F21 ;定时开始,按键不起作用CJNE R2, #6, F20 ;已输入六个数,数字键无效AJMP F21F20: INC R2 ;输入数字个数+1MOV 35H, 34HMOV 34H, 33HMOV 33H
9、, 32HMOV 32H, 31HMOV 31H, 30HMOV 30H, 40H F21: RET ;退格键子程序BACK: JB 20H.3, L1 ;定时开始,按键不起作用CJNE R2, #0, L0 ;有数字输入,按键起作用AJMP L1L0: DEC R2MOV 30H, 31HMOV 31H, 32HMOV 32H, 33HMOV 33H, 34HMOV 34H, 35HMOV 35H, #17 L1: RET;确定键输入子程序ENTER: JB 20H.3, L5 ;定时开始,按键不起作用CJNE R2, #6, L5 ;数字输入不满6个,按键无效 MOV R2, #0 ;可以
10、重新输入数字MOV 41H, 30H ;输入数字存入输入暂存区MOV 42H, 31HMOV 43H, 32HMOV 44H, 33HMOV 45H, 34HMOV 46H, 35H ACALL XSCSHJNB 20H.2,D6 ;判断当前是否为新密码输入ACALL XMM AJMP L5D6: MOV A, 41H ;输入暂存区与密码比较CJNE A, 50H, L3MOV A, 42HCJNE A,51H,L3MOV A, 43H CJNE A, 52H, L3MOV A, 44HCJNE A, 53H, L3MOV A, 45HCJNE A, 54H, L3MOV A, 46HCJNE
11、 A, 55H, L3MOV R2, #6 ;锁开状态,不允许输入数字CLR P3.1SETB P3.0SETB P3.4 SETB 20H.0 ;密码正确标志位JB 20H.1, L2 ;判断设置键是否按下CLR 20H.2 AJMP L5L2: SETB 20H.2 ;输入新密码状态标志位MOV R2, #0 ;允许输入数字 AJMP L5L3: INC 3BH ;密码错误次数+1MOV A, 3BHCJNE A, #3, L4 ;判断密码输入错误几次 CLR P3.3SETB TR0 ;密码输入错误3次,启动定时SETB 20H.3 ;定时开始标志位AJMP L5L4: CLR P3.5
12、CLR P3.4L5: RET;关门键子程序CLOSE: JB 20H.3, L6 ;定时开始,按键不起作用JNB 20H.0, L6 ;该按键只在开门状态有效ACALL XSCSHACALL CSHL6: RET;设置键输入子程序SZ: JB 20H.3, L7 ;定时开始,按键不起作用JNB 20H.0, L7 ;该按键只在开门状态有效SETB 20H.1 ;设置键有效标志位MOV R2, #0 ;按下设置键,允许数字输入CLR P3.2L7: RET;退出设置键子程序TSZ: JB 20H.3, L8 ;定时开始,按键不起作用JNB 20H.1, L8 ;该按键在设置状态有效ACALL
13、XSCSHSETB P3.2SETB P3.3SETB P3.4CLR 20H.1 ;退出设置状态MOV R2, #6 ;回到开门状态,不允许数字输入L8: RET;新密码输入子程序XMM: MOV 50H, 41HMOV 51H, 42HMOV 52H, 43HMOV 53H, 44HMOV 54H, 45HMOV 55H, 46H ;CLR P3.1SETB P3.0SETB P3.2CLR 20H.2 MOV R2, #6 ;开门状态,不允许数字输入 RET;显示缓冲区初始化子程序XSCSH: MOV 30H, #17MOV 31H, #17MOV 32H, #17MOV 33H, #1
14、7MOV 34H, #17MOV 35H, #17RET;密码锁基本功能初始化CSH: MOV R2, #0MOV R4, #200 CLR 20H.0CLR 20H.1CLR 20H.2CLR 20H.3CLR P3.0SETB P3.1SETB P3.2SETB P3.3SETB P3.4RET;中断子程序DIST: MOV TH0, #3CHMOV TL0, #0B0H ;初值重装DJNZ R4, L9ACALL XSCSHACALL CSHCLR TR0 ;关中断L9: RETI;延时子程序,延时2msDELAY: MOV R6, #5D17: MOV R5, #200D18: DJNZ R5, D18p span DJNZ R6, D17 RETp TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 能源管理协议书模板
- 地下安全工程引孔施工协议
- 建筑防水安全质量协议
- 航空物流货车司机聘用合同模板
- 建筑公司司机招聘合同
- 二手房买卖助手经纪合同
- 城市社会福利设施建设管理办法
- 汽车销售区道路维修临时协议
- 学校教育保洁员招聘合同
- 证券公司合同
- 水厂自动化监控系统施工方案2023年
- 加盟部组织架构及职位描述
- KM(克劳斯玛菲)注塑机操作教材
- 小学小微权力清单30条
- 中国及世界能源分布情况课件
- 数据及用户手册-gd32f403系列编程
- GB/T 23821-2022机械安全防止上下肢触及危险区的安全距离
- 夏商周考古课件 第2章 二里头文化
- JJF 1347-2012全球定位系统(GPS)接收机(测地型)型式评价大纲
- GB/T 7364-2006石蜡易炭化物试验法
- GB/T 25196-2018起重机设计工作周期的监控
评论
0/150
提交评论