- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE4/NUMPAGES23
密码锁的设计报告
设计内容:
用4*3的键盘组成0~9的数字键及确认键、删除键;用8位数码管组成显示电路提示信息,当输入密码时,只显示“—”,当密码位数输入完毕按下确认键时,对输入的密码和设定的初始密码进行比较,若密码正确,则开锁,此时P3.0口的LED(即黄灯)亮一秒作为提示;若密码不正确,禁止输入3秒种,同时发出报警声。初始密码为8位。
增加功能:利用外部中断0和1分别实现复位和密码修改功能,说明见原理图
参考器件:89C51,RES,CAP,CAP-ELEC,CRYSTAL,LED-YELLOW,
7SEG-MPX8-CC-BLUE,SOUNDER,BUTTON,74LS245
原理图:
说明:外部中断0和1是复位和修改密码,由于篇幅不够,在此没有画出密码修改和复位的流程图是是第2列
说明:外部中断0和1是复位和修改密码,由于篇幅不够,在此没有画出密码修改和复位的流程图
是
是
第2列?
第1列?
第3列?
第4列?
否
开始
设置按键序号初值为0
置表首地址送DPTR
设置标志位R7初值为0
设置初始密码设置P1高4位为输入
是否有低电平
是否为有效按键
否
是
第1行?
第2行?
第3行?
是
是
否
否
否
开外部中断0和总中断
是
是
CLR?ENTER?KEY_CNT值加1显示数码管个数加1显示横杆存储KEY_VAL
CLR?
ENTER?
KEY_CNT值加1
显示数码管个数加1
显示横杆
存储KEY_VAL
密码正确?
亮灯
延时1S
发出警报
延时3S
KEY_CNT值加1
显示数码管个数加1
显示横杆
存储KEY_VAL
KEY_CNT值加1
显示数码管个数加1
显示横杆
存储KEY_VAL
是
是
是
是
是
是
是是
是
是
是
否
否
是
KEY_CNT值减1显示数码管个数减1改变KEY_VAL值
KEY_CNT值减1
显示数码管个数减1
改变KEY_VAL值
是
是
是
是
是是
是
是
四、实物图:
五、源程序
LINE_NOEQU20H;行号
ROW_NOEQU31H;列号
LINEinitialKEYVALEQU30H;行初始键值
KEY_VALEQU32H
KEY_CNTEQU33H;数字按键的序号,如按键541,这时KEYORDER=3
BIT_SELEQU34H
FLAGBIT00H
;初始密码存储区
LED_BIT1EQU41H
LED_BIT2EQU42H
LED_BIT3EQU43H
LED_BIT4EQU44H
LED_BIT5EQU45H
LED_BIT6EQU46H
LED_BIT7EQU47H
LED_BIT8EQU48H
;输入密码存储区
PASSWD1EQU51H
PASSWD2EQU52H
PASSWD3EQU53H
PASSWD4EQU54H
PASSWD5EQU55H
PASSWD6EQU56H
PASSWD7EQU57H
PASSWD8EQU58H
ORG0000H
LJMPSTART
ORG0003H
LJMPINTT0;中断处理,实现复位功能,清楚所有的有关操作
ORG0013H
LJMPINTT1
ORG0040H
START:MOVSP,#70H
MOVP0,#0FFH
MOVA,#0FFH
MOVR0,#00H
MOVR7,#0
MOVBIT_SEL,#0;显示数码管的位数初始为0
MOVKEY_CNT,#0;按键序号初始为0
MOVDPTR,#TAB
;设置初始密码
MOVLED_BIT1,#6
MOVLED_BIT2,#7
MOVLED_BIT3,#8
MOVLED_BIT4,#9
MOVLED_BIT5,#0
MOVLED_BIT6,#1
MOVLED_BIT7,#2
MOVLED_BIT8,#3
MAIN:SETBEX0
SETBIT0
SETBEA;开中断总允许
SETBPX0
MOVP1,#0F0H;设置P1高4位(行线)输入状态
MOVA,P1
CJNEA,#0F0H,M;P1高4位(行线)有低电平,转M进一步判断是按键还是抖动
SJMPMAIN;P1高4位(行线)无低
文档评论(0)