单片机综合实训二-密码锁的设计(共23页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《单片机综合实训二-密码锁的设计(共23页).doc》由会员分享,可在线阅读,更多相关《单片机综合实训二-密码锁的设计(共23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上密码锁的设计报告一、 设计内容:用4*3的键盘组成09的数字键及确认键、删除键;用8位数码管组成显示电路提示信息,当输入密码时,只显示“”,当密码位数输入完毕按下确认键时,对输入的密码和设定的初始密码进行比较,若密码正确,则开锁,此时P3.0口的LED(即黄灯)亮一秒作为提示;若密码不正确,禁止输入3秒种,同时发出报警声。初始密码为8位。 增加功能:利用外部中断0和1分别实现复位和密码修改功能,说明见原理图参考器件:89C51, RES, CAP, CAP-ELEC, CRYSTAL, LED-YELLOW,7SEG-MPX8-CC-BLUE, SOUNDER, BU
2、TTON, 74LS245 二、 原理图:说明:外部中断0和1是复位和修改密码,由于篇幅不够,在此没有画出密码修改和复位的流程图是是第2列?第1列?第3列?第4列?否开始设置按键序号初值为0置表首地址送DPTR设置标志位R7初值为0设置初始密码为设置P1高4位为输入是否有低电平是否为有效按键否是第1行?第2行?第3行?是是否否否开外部中断0和总中断三、流程图:是CLR ?ENTER?KEY_CNT值加1显示数码管个数加1显示横杆存储KEY_VAL密码正确?亮灯延时1S发出警报延时3SKEY_CNT值加1显示数码管个数加1显示横杆存储KEY_VALKEY_CNT值加1显示数码管个数加1显示横杆存
3、储KEY_VAL是是是是是是是是是否否是KEY_CNT值减1显示数码管个数减1改变KEY_VAL值是是是是是四、实物图:五、源程序LINE_NO EQU 20H;行号ROW_NO EQU 31H;列号LINEinitialKEYVAL EQU 30H;行初始键值KEY_VAL EQU 32HKEY_CNT EQU 33H;数字按键的序号,如按键541,这时KEYORDER=3BIT_SEL EQU 34HFLAG BIT 00H;初始密码存储区LED_BIT1 EQU 41H LED_BIT2 EQU 42HLED_BIT3 EQU 43HLED_BIT4 EQU 44HLED_BIT5 EQ
4、U 45HLED_BIT6 EQU 46HLED_BIT7 EQU 47HLED_BIT8 EQU 48H;输入密码存储区PASSWD1 EQU 51HPASSWD2 EQU 52HPASSWD3 EQU 53HPASSWD4 EQU 54HPASSWD5 EQU 55HPASSWD6 EQU 56HPASSWD7 EQU 57HPASSWD8 EQU 58HORG 0000HLJMP STARTORG 0003HLJMP INTT0 ;中断处理,实现复位功能,清楚所有的有关操作ORG 0013HLJMP INTT1 ORG 0040HSTART: MOV SP,#70H MOV P0,#0F
5、FH MOV A,#0FFH MOV R0,#00H MOV R7,#0 MOV BIT_SEL,#0 ;显示数码管的位数初始为0 MOV KEY_CNT,#0 ;按键序号初始为0 MOV DPTR,#TAB;设置初始密码MOV LED_BIT1,#6 MOV LED_BIT2,#7MOV LED_BIT3,#8MOV LED_BIT4,#9MOV LED_BIT5,#0MOV LED_BIT6,#1MOV LED_BIT7,#2MOV LED_BIT8,#3MAIN: SETB EX0 SETB IT0 SETB EA; 开中断总允许SETB PX0 MOV P1,#0F0H ;设置P1高4
6、位(行线)输入状态 MOV A,P1 CJNE A,#0F0H,M ; P1高4位(行线)有低电平,转M进一步判断是按键还是抖动 SJMP MAIN ; P1高4位(行线)无低电平,转MAIN继续监控M: ACALL DELAY ; P1高4位(行线)有低电平,去抖延时 MOV P1,#0F0H ; 设置P1高4位(行线)输入状态,已经延时,准备再读 MOV A,P1 CJNE A,#0F0H,MM ; 再读P1高4位(行线),仍有低电平,确认是按键,转MM SJMP MAIN ; 再读P1高4位(行线),无低电平,表示抖动,非有效按键,;转MAIN继续监控MM: MOV LINE_NO,A
7、; P1高4位(行线)低电平持续时间符合按键要求,有效按键,;保存行号到LINE_NO MOV P1,#0FH ; 设置P1低4位(列线)输入状态 MOV ROW_NO,P1 ; 保存列号到ROW_NOMMM: MOV P1,#0F0H ; 设置P1高4位(行线)输入状态 MOV A,P1 CJNE A,#0F0H,MMM ; 读出P1高4位(行线)是否低电平(未松开键)? ; 未松开转MMM,继续监控松开否。 ; P1高4位(行线)有低电平,表明按键松开, ; 完成一次按键动作,执行下面语句 JNB LINE_NO.4, E1 ; LINE_NO.4!=1第1行有按键,转E1, ; 否则第1
8、行无按键,执行下面语句,判断其他行有按键否JNB LINE_NO.5, E2 ; LINE_NO.5!=1第2行有按键,转E2, ; 否则第1、2行无按键,执行下面语句,判断其他行有按键否JNB LINE_NO.6, E3 ; LINE_NO.6!=1第3行有按键,转E3,LJMP MAIN ; 否则无按键,转MAIN重新监控E1: MOV LINEinitialKEYVAL,#0 ;第1行有按键,该行键初值(30H内容)为0 LJMP KEYVAL ;转KEYVAL,求按键号E2: MOV LINEinitialKEYVAL,#4 ;第2行有按键,该行键初值(30H内容)为4 LJMP KE
9、YVAL ; 转KEYVAL,求按键号E3: MOV LINEinitialKEYVAL,#8 ; 第3行有按键,该行键初值(30H内容)为8 MOV A, ROW_NO ; 将31H单元内容-列号取出 JNB ACC.0,D31 ; 第3行第1列按键,转D31, JNB ACC.1,D32 ; 第3行第2列按键,转D32 JNB ACC.2,D33 ; 第3行第3列按键,转D33 JNB ACC.3,D34 ; 第3行第4列按键,转D34 D31: MOV R0,KEY_CNT INC R0 MOV KEY_CNT, R0 ;按键序号KEY_CNT增1MOV A,KEY_CNT ;按键序号超
10、过9个不做处理SUBB A,#09JZ NEXT1INC BIT_SEL MOV A, BIT_SELMOVC A,A+DPTRMOV P2,A ;选择要显示的数码管 ;MOV BIT_SEL, A ;数码管位号BIT_SEL左移1位 MOV A,#0 ADD A, LINEinitialKEYVAL MOV KEY_VAL, A ;MOVC A,A+DPTR ; 从键值代码显示表tab中查到该按键号对应的显示代码 MOV A,#0BFH MOV P0,A MOV P1,#0F0HACALL PASSWD LJMP MAIND32: MOV R0,KEY_CNT INC R0 MOV KEY_
11、CNT, R0 ;按键序号KEY_CNT增1MOV A,KEY_CNT ;按键序号超过9个不做处理SUBB A,#09JZ NEXT1 INC BIT_SEL MOV A, BIT_SELMOVC A,A+DPTRMOV P2,A ;选择要显示的数码管 ;MOV BIT_SEL, A ;数码管位号BIT_SEL左移1位 MOV A,#1 ADD A, LINEinitialKEYVAL MOV KEY_VAL, A ;MOVC A,A+DPTR ; 从键值代码显示表tab中查到该按键号对应的显示代码 MOV A,#0BFH MOV P0,A MOV P1,#0F0HACALL PASSWD L
12、JMP MAIND33: MOV A,KEY_CNT JZ D331 ;无输入数字按键时进行清除的处理MOV A,KEY_VALCLR A ;清楚原来输入的按键值MOV KEY_VAL,AACALL PASSWD ;调用密码存储子程序对当前操作进行存储 DEC KEY_CNTDEC BIT_SELD331:MOV A, KEY_CNTMOVC A,A+DPTRMOV P2,A ;选择要显示的数码管MOV A,#0BFH MOV P0,A MOV P1,#0F0H LJMP MAIN NEXT1: MOV KEY_CNT,#08 LJMP PWN_SOUND ;超过8个按键时的警告D34: MO
13、V A,R7 JNZ BIT0 MOV A,LED_BIT1 ;初始密码 CJNE A,PASSWD1,PWN_SOUND ;初始密码与输入密码进行比较 MOV A,LED_BIT2 CJNE A,PASSWD2,PWN_SOUND MOV A,LED_BIT3 CJNE A,PASSWD3,PWN_SOUND MOV A,LED_BIT4 CJNE A,PASSWD4,PWN_SOUND MOV A,LED_BIT5 CJNE A,PASSWD5,PWN_SOUND MOV A,LED_BIT6 CJNE A,PASSWD6,PWN_SOUND MOV A,LED_BIT7 CJNE A,P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 综合 实训二 密码锁 设计 23
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内