找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1257|回复: 0
打印 上一主题 下一主题
收起左侧

基于两个单片机串行通信的电子密码锁

[复制链接]
跳转到指定楼层
楼主
运用单片机之间的串口通信实现电子密码锁的功能。使用单片机自身有的串口可以很方便的实现单片机之间的通信,使输入的密码值传送到主机,检验是否是正确的密码。该电子密码锁分两部分,一部分在外部,有键盘部分和密码显示;另一部分在内部,有密码设置和显示。


ORG   0000H

ajmp  main
org   0030h

main:  MOV   SP,#70
      MOV   SCON,#50H
      MOV   TMOD,#20H
      MOV   TH1,#0F3H
      SETB  TR1  
      MOV   R7,#00H         ;延时
      DJNZ  R7,$
      MOV   R7,#10H         ;内定密码在TABLE的起始地址
      MOV   R6,#06          ;内定6个密码
      MOV   R1,#35H         ;6个密码分别存入35H~30H地址
L1:   MOV   A,R7            ;内定密码取码指针
      MOV   DPTR,#TABLE     ;数据指针指到TABLE
      MOVC  A,@A+DPTR       ;至TABLE取码
      MOV   @R1,A           ;存入35H~30H地址
      DEC   R1              ;存下一个地址
      INC   R7              ;取码指针加1
      DJNZ  R6,L1
START:ORL  P3,#0FFH        ;清除P2
      SETB P3.2
      MOV   R4,#06          ;清除显示器存放地址40H~45H的地址
      MOV   R0,#40H
CLEAR:MOV   @R0,#00H
      INC   R0
      DJNZ  R4,CLEAR

L2:   MOV   R3,#0F7H        ;扫描指针初值
      MOV   R1,#00H         ;键盘取码指针
L3:   MOV   A,R3
      MOV   P1,A
      MOV   A,P1
      MOV   R4,A
      SETB  C
      MOV   R5,#04H
L4:   RLC   A
      JNC   KEYIN
      INC   R1
      DJNZ  R5,L4
      CALL  DISP
      MOV   A,R3
      SETB  C
      RRC   A
      MOV   R3,A
      JC    L3
      lcall LLL
      JMP   L2
KEYIN:MOV   A,R1
      XRL   A,#0EH
      JZ    X3
      MOV   A,R1
      XRL   A,#0FH
      JZ    X4
      MOV   R7,#10
D1:   MOV   R6,#248
      DJNZ  R6,$
      DJNZ  R7,D1
D2:   MOV   A,P1
      XRL   A,R4
      JZ    D2
      MOV   A,R1
      MOV   DPTR,#TABLE
      MOV   R7,A
      XRL   A,#0AH
      JZ    SET0
      MOV   A,R7
      XRL   A,#0BH
      JZ    START
      MOV   A,R7
      XRL   A,#0CH
      JZ    L2
      MOV   A,R7
      XRL   A,#0DH
      JZ    L2
      MOV   A,R7
      XCH   A,40H
      XCH   A,41H
      XCH   A,42H
      XCH   A,43H
      XCH   A,44H
      XCH   A,45H
      CALL  DISP
      JMP   L2
X3:   JMP   DISP2
X4:   JMP   COMP
DISP: MOV   R0,#45H
DISP1:MOV   A,@R0
      ADD   A,#50H         ;显示D6
      MOV   P0,A
      CALL  DELAY
      DEC   R0
      MOV   A,@R0          ;D5数据值加上74138扫描值
      ADD   A,#40H         ;显示D5
      MOV   P0,A
      CALL  DELAY
      DEC   R0
      MOV   A,@R0          ;D4数据值加上74138扫描值
      ADD   A,#30H         ;显示D4
      MOV   P0,A           ;扫描延时
      CALL  DELAY
      DEC   R0
      MOV   A,@R0          ;D3数据值加上74138扫描值
      ADD   A,#20H         ;显示D3
      MOV   P0,A           ;扫描延时
      CALL  DELAY
      DEC   R0
      MOV   A,@R0          ;D2数据值加上74138扫描值
      ADD   A,#10H         ;显示D2
      MOV   P0,A           ;扫描延时
      CALL  DELAY
      DEC   R0
      MOV   A,@R0          ;D1数据值加上74138扫描值
      ADD   A,#00H         ;显示D1
      MOV   P0,A           ;扫描延时
      CALL  DELAY
      RET
SET0: MOV   R2,#06H
      MOV   R0,#40H
      MOV   R1,#30H
E1:   MOV   A,@R0
      XCH   A,@R1
      INC   R0
      INC   R1
      DJNZ  R2,E1
      CALL  DELAY
E2:   JMP   START
COMP: MOV   R1,#45H
      MOV   R0,#35H
      MOV   R2,#06H
C1:   MOV   A,@R1
      XRL   A,@R0
      JNZ   C3
      DEC   R1
      DEC   R0
      DJNZ  R2,C1
      CLR   P3.2
      MOV   R2,#0FFH
C2:   MOV   R6,#0FFH
      DJNZ  R6,$
      DJNZ  R2,C2
C3:   JMP   START
DISP2:
      MOV   R0,#35H
      CALL  DISP1
      MOV   A,P1
      XRL   A,R4
      JZ    DISP2
      CALL  DELAY
      JMP   START
DELAY:MOV   R7,#03
D3:   MOV   R6,#248
      DJNZ  R6,$
      DJNZ  R7,D3
      RET
Lll:  JBC   RI,UART
      call  disp
      ret
UART: MOV   A,SBUF
      MOV   R7,A
      XRL   A,#0AH
      JZ    COMPQ
      AJMP COMPA
COMPQ: LJMP COMP

COMPA: MOV   A,R7

`KCB`$$FATKOFS1NY1AR[~H.png (44.58 KB, 下载次数: 35)

`KCB`$$FATKOFS1NY1AR[~H.png

Y}7SS(){ZXZ]29B53U)$R{O.png (16 KB, 下载次数: 42)

Y}7SS(){ZXZ]29B53U)$R{O.png

串行通信的电子密码锁资料.zip

3.94 MB, 下载次数: 10, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表