单片机/MCU论坛
直播中

wangka

13年用户 5636经验值
擅长:基础元器件 模拟与电源 操作系统/软件
私信 关注

多功能电子密码锁设计的硬件连接及任务要求【含源程序】

多功能电子密码锁设计的硬件连接及任务要求
一、硬件连接
P0----数码管段码            
P2----数码管位码
   P1----行列式键盘
   P3.0--锁闭LED                       P3.1--锁开LED
   P3.2--设置状态LED                   P3.3--报警状态LED
   P3.4--错误状态LED
二、存储单元分配
30H--35H    显示缓冲区      
41H--45H    输入暂存区
50H--55H    原始密码存储单元
36H     临时单元,存储位码内容
37H、39H     在按键子程序中用于内外循环计数  
38H     按键子程序存放查表后得到的编码
3AH     临时单元,存放逐行开的编码   
3BH     密码错误次数计数器
40H    在按键子程序中存放键盘的值               
R0    在显示子程序中作显示缓冲区的指针
R2    数字键输入次数计数器  
R4    在中断中作计数器
R5、R6    延时子程序循环计数器
R7    显示子程序六个数码管逐个显示计数器  
20H.0=1    密码正确标志位
20H.1=1    设置键按下标志位           
20H.2=1    当前输入的是新密码标志位
20H.3=1    密码三次错误报警开启标志位

多功能电子密码锁设计的硬件连接及任务要求【含源程序】

三、任务要求及源程序
1.任务要求
密码锁功能:数码管初始显示6个横线,设置原始密码为6个0。输入原始密码。密码错误,错误指示灯亮,输入3次错误,报警指示灯亮,定时10秒,10秒内任何按键都不起作用。密码正确,锁开,处于开门状态,此时设置键有效,数字键输入无效,关门键也有效。
    若要修改密码,只能在开门状态,设置键按下,输入一次旧密码。若旧密码输入错误,此时旧密码输入错误次数加上开锁密码错误次数等于3次,报警定时,10秒后恢复锁关状态,锁的密码为新设置的密码若未设置新密码,则为旧密码。旧密码正确后才可输入新密码,新密码输入后按下确定键,退出设置状态,返回到开门状态。确定键在输入6个数以后才有效,退格键在有数字时才有效。
    0-9号按键作为数字键,最多输入六次;
    10号-退格键;         11号-确定键;         12号-设置键;
    13号-关门键;         14号-退出设置状态键。

2.源程序 完整源程序下载
游客,如果您要查看本帖隐藏内容请回复
                                              ;主程序


  1.                             ORG  0000H

  2.                             AJMP  START

  3.                             ORG  000BH

  4.                             AJMP  DIST

  5.                             ORG  0030H

  6. START:          MOV  TMOD, #01H

  7.                             MOV  TH0, #3CH

  8.                             MOV  TL0, #0B0H

  9.                             SETB  EA

  10.                             SETB  ET0

  11.                             ACALL  XSCSH                ;显示缓冲区初始化显示6个横线

  12.                             ACALL  CSH

  13.                             MOV  3BH, #0

  14.                             MOV  50H, #0

  15.                             MOV  51H ,#0

  16.                             MOV  52H, #0

  17.                             MOV  53H, #0

  18.                             MOV  54H, #0

  19.                             MOV  55H,#0                          ;原始密码设置为六个0      

  20. LOOP:        ACALL  DISP

  21.                             ACALL  AJ

  22.                             AJMP  LOOP

  23.                                                                              ;显示子程序

  24. DISP:           MOV  R7, #6


  25.                             MOV  R0, #30H

  26.                             MOV
  27. DPTR, #TAB

  28.                             MOV  36H, #01H

  29. LOOP1:         MOV  A,@R0

  30.                             MOVC  A, @A+DPTR

  31.                             MOV  P0,  A

  32.                             MOV  P2, 36H

  33.                             ACALL  DELAY

  34.                             INC  R0

  35.                             MOV  A, 36H

  36.                             RL
  37. A

  38.                             MOV  36H,A

  39.                             DJNZ  R7,LOOP1

  40.                             RET



回帖(29)

qop3412

2012-1-6 12:07:22
汇编啊··~
举报

cantmakeit

2012-1-10 23:29:15
汇编不懂的
举报

ren_919

2012-2-13 13:12:51
谢谢分享!
举报

gy245465

2012-2-29 18:37:10
我看行,lz威武
举报

284869

2012-2-29 21:22:10
好东西!
1 举报

282919

2012-3-19 13:29:11
学习了呀
举报

淡定613

2012-3-26 15:01:32
哎哎
举报

442528

2012-5-12 09:39:16
相当的好、、、、、、、、、、、、、、
举报

qwer2006

2013-3-13 11:53:24
谢谢分享!
举报

qwer2006

2013-3-13 12:46:52
举报

591710565

2013-3-13 13:09:42
如果有C就好了
举报

653949915

2013-6-25 21:34:15
亲       有才语言没
举报

咋上网

2013-8-28 15:45:37
汇编?  总比没有强
举报

cyril6688

2013-9-11 15:15:25
呵呵。学习学习,好东西
举报

fenghao

2013-9-13 10:27:17
好久不来,支持一下
举报

mjtbest

2014-5-14 21:35:53
新手来学习一下,
举报

郭之先

2014-6-9 18:40:16
好     、                  、
举报

向暖

2014-6-10 10:24:12
没有C程序吗?
举报

vn波段

2014-7-9 13:08:02
楼主的东西好棒啊,这段时间一直在做课程设计,题目就是电子密码锁
举报

更多回帖

发帖
×
20
完善资料,
赚取积分