77范文网 - 专业文章范例文档资料分享平台

毕业设计 - 基于单片机的电子密码锁设计(7)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

口资源定义

SPK BIT P2.1 WP BIT P3.5

SDA BIT P3.6 ;定义串口数据端 SCL BIT P3.7

ORG 0000H AJMP MAIN ORG 000BH ;AJMP TIMER0 ORG 001BH ;AJMP TIMER1 ORG 0030H

MAIN:MOV SP, #70H MOV TMOD, #11H MOV TH0, #3CH MOV TL0, #0B0H MOV TH1, #3CH MOV TL1, #0B0H

CLR F_0 ;清除标志位 CLR F_1 CLR F_2 CLR F_3 CLR F_4 CLR F_5 CLR F_6 CLR F_7 CLR F_8 CLR F_9

CLR BUF_FULL CLR CH_STATE CLR FLAG1 CLR F_F1 CLR F_F2 CLR PSW_F

MOV BUFF,#00H ;调用

LCALL INITPS ;初始化环境 LCALL INITAT

LCALL XSA ;调用默认显示 MOV TIMERS1,#00H NOP

MOV PS1, #11H ;初始化密码830620 MOV PS2, #0AH MOV PS3, #02H

MOV PS4, #13H MOV PS5, #0BH MOV PS6, #02H

START:NOP ;程序开始 LCALL CH_KEY ;检查键盘 AJMP START ;返回

CH_KEY:LCALL KS ;检查有没有按键按下 JNZ LK1

AJMP CH_KEY LK1:

LCALL T12MS ACALL KS JNZ LK2 RET

LK2: NOP

LCALL SBIE ;按键识别子程序

MOV BUFF, A ;送缓冲区以识别是数字键还是功能键? LCALL CH_KF ;判断按键功能。

JB FLAG1 ,KEY_FUN ;标志为1,则为功能键

***********数字按键输入并且存放到缓冲区内等待比较****************** KEY_DIG:NOP ;设一标志,辨别输入是否满 ;SETB TR0

INC TIMERS ;输入数字的位数 MOV A, TIMERS CLR C

SUBB A, #01H JNZ PS_2

MOV PS1, BUFF ;依照顺序存放密码 AJMP NEXT

PS_2:MOV A, TIMERS SUBB A, #02H CLR C JNZ PS_3

MOV PS2, BUFF AJMP NEXT

PS_3:MOV A, TIMERS CLR C

SUBB A, #03H JNZ PS_4

MOV PS3, BUFF AJMP NEXT

PS_4:MOV A, TIMERS CLR C

SUBB A, #04 JNZ PS_5

MOV PS4, BUFF AJMP NEXT

PS_5:MOV A, TIMERS CLR C

SUBB A, #05 JNZ PS_6

MOV PS5, BUFF AJMP NEXT

PS_6:MOV A, TIMERS CLR C

SUBB A, #06H JNZ CH_KEY

MOV PS6, BUFF NEXT:LCALL XSC

MOV R7, TIMERS ;比较输入的次数。 CJNE R7, #06H ,FULL FULL:JC NEXT9 SETB BUF_FULL MOV TIMERS,#06H CLR L3 NOP

CLR P2.1

LCALL T100MSD

SETB P2.1

NOP

AJMP CH_KEY

NEXT9:CLR P2.1 ;密码输入一位,鸣叫一声。 CLR L3

LCALL T100MSD ;延时100ms SETB L3 SETB P2.1

AJMP CH_KEY

***************开门子程序 ****************************************** CL:NOP

SETB L3

MOV BUFF, #00H ;消密码缓冲 MOV TIMERS,#00H

LCALL INITPS ;消除AT缓冲,调电存储后一定要加上 LCALL XSC LCALL BP

LCALL BP

LCALL T100MSD LCALL BP CLR FLAG1 AJMP CH_KEY

FU4:NOP

LCALL BP

LCALL T100MSD LCALL BP

LCALL T100MSD LCALL BP

LCALL T100MSD LCALL BP

LCALL T100MSD LCALL BP CLR FLAG1 AJMP CH_KEY

FU3:NOP

LCALL BP

LCALL T100MSD LCALL BP

LCALL KILLXS ;关闭显示 CLR FLAG1 AJMP CH_KEY

FU1:NOP

LCALL XSC

JB F_F1, NEXT_F1 CLR L1 LCALL BP SETB F_F1 AJMP CH_KEY NEXT_F1:SETB L1 LCALL BP CLR F_F1

;LCALL CH_STATE ;SETB TR1 ;INC F_F1 CLR FLAG1 AJMP CH_KEY

FU2:NOP

;查看现在的状态以防误按;报警限制暂时不开

JB F_F2, NEXT_F2 CLR L2 LCALL BP SETB F_F2 AJMP CH_KEY NEXT_F2:SETB L2 LCALL BP CLR F_F2 CLR FLAG1 AJMP CH_KEY

**************各类子程序******************************** 注意清楚缓冲区时AT1...AT8不应在初始化中执行,以 防两缓冲区都为0,相同开锁

******************************************************** CLR_BUF:MOV R7, #06H MOV R0, #6FH LOOP1:MOV A, #00H MOV @R0, A DEC R0

DJNZ R7,LOOP1 RET

*************初始化显示缓冲区以及其他缓冲区************** INITPS:PUSH ACC PUSH PSW

MOV R7, #06H

MOV R1, #PS1 MOV A, #00H INIT_PS:MOV @R1, A DEC R1

DJNZ R7, INIT_PS POP PSW POP ACC NOP RET

INITAT:PUSH ACC PUSH PSW MOV R7,#06H MOV R1,#AT1 MOV A, #00H INIT_AT:MOV @R1, A DEC R1

DJNZ R7, INIT_AT

MOV TIMERS,#00H ;密码输入的次数清零。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库毕业设计 - 基于单片机的电子密码锁设计(7)在线全文阅读。

毕业设计 - 基于单片机的电子密码锁设计(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/471548.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: