- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子密码锁汇编程序
电子密码锁汇编程序
[日期:2008-06-04 ] [来源:net 作者:佚名] [字体:大 中 小] (投递新闻)
;摘要:本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时 ;报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。除上述基本的密码锁功 ;能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成 ;本低廉,功能实用
;********************************************
;********* 电子密码锁 *********
;********************************************
;********* 2005/12/24 *********
;********************************************
;显示缓冲区
;LED1 EQU 6FH
BUFF EQU 6EH
TIMERS1 EQU 6DH ;输入回车的次数
TIMERS2 EQU 6CH ;报警的次数
TIMERS EQU 6BH ;输入数字的位数
;LED6 EQU 6AH
;密码缓冲区
PS1 EQU 69H
PS2 EQU 68H
PS3 EQU 67H
PS4 EQU 66H
PS5 EQU 65H
PS6 EQU 64H
;AT24C02读取缓冲区
AT1 EQU 63H
AT2 EQU 62H
AT3 EQU 61H
AT4 EQU 60H
AT5 EQU 5FH
AT6 EQU 5EH
;按键标志位
F_1 BIT 20H
F_2 BIT 21H
F_3 BIT 22H
F_4 BIT 23H
BUF_FULL BIT 24H ;密码已经够六位的标志位,为1表示满
CH_STATE BIT 25H ;系统更改的状态标志位,为1表示busy
FLAG1 BIT 26H ;功能键标志位,为1表示功能按键。
F_F1 BIT 27H
F_F2 BIT 28H
PSW_F BIT 29H ;密码是否正确的标志位
;口资源定义
SPK BIT P2.1
JDQ BIT P2.3
SDA BIT P2.4 ;定义串口数据端
SCL BIT P2.5
;发光二极管灯
L1 BIT P1.0
L2 BIT P1.1
L3 BIT P1.2
;
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_1 ;清除标志位
CLR F_2
CLR F_3
CLR F_4
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 P
文档评论(0)