⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 123.asm

📁 电子密码锁设计。含有asm文件
💻 ASM
字号:
;电子密码锁  
  ORG 0000H
  LJMP START  
  ORG 0030H
START: MOV 50H,#0          ;初始密码值012345
       MOV 51H,#1
       MOV 52H,#2
       MOV 53H,#3
       MOV 54H,#4
       MOV 55H,#5
       
       MOV 30H,#0          ;显示初值000000
       MOV 31H,#0
       MOV 32H,#0
       MOV 33H,#0
       MOV 34H,#0
       MOV 35H,#0
       
       MOV R0,#30H
 
  MAIN:ACALL DIR4          ;调用键盘显示子程序
       ACALL KEY           ;转向按键位置确定子程序           
       CJNE A,#14,FUWEI    ;复位键
       LJMP START
       
 FUWEI:CJNE A,#15,MAIN     ;确定键
       LCALL BIJIAO        ;调用比较子程序        
       LJMP START 
       
;*********************************************
;           键盘程序,查询方式
;*********************************************

KEY:MOV P1,#0F0H    ;行线置低点平,列线置输入态
KEY0:MOV A,P1
     CPL A
     ANL A,#0F0H
     MOV R4,A
     JZ GRET       ;判断有无键按下,没有就跳出子程序
KEY1:MOV P1,#0FH
     MOV A,P1
     CPL A
     ANL A,#0FH
     MOV R2,A
     JZ GRET
     JBC F0,WAIT
     SETB F0
     LCALL DELAY
     SJMP KEY
     MOV P1,#0FH
WAIT:MOV A,P1
     CPL A
     ANL A,#0FH
     JNZ WAIT
KEY2:MOV A,R4
     MOV R4,#03H
     MOV R3,#03H
     CLR C
KEY3:RLC A
     JC KEY4
     DEC R4
     DJNZ R3,KEY3
KEY4:MOV A,R2
     MOV R2,#00H
     MOV R3,#03H
     CLR C
KEY5:RRC A
     JC KEY6
     INC R2
     DJNZ R3,KEY5
KEY6:MOV A,R2
     CLR C
     RLC A
     RLC A
     ADD A,R4 
     
CHUAN:MOV @R0,A   ;数据送入缓冲区
      INC R0                
GRET:RET

;*********************************************
;              密码比较程序
;*********************************************

BIJIAO:MOV R0,#30H     
       MOV R1,#50H
       MOV 60H,#6       
    SS:MOV A,@R0         
       MOV 70H,@R1
       CJNE A,70H,BT      ;不相等则转BT蜂鸣器响
       INC R0
       INC R1
       DJNZ 60H,SS        ;六次比较
       CLR P2.3           ;相等则置灯亮
       LCALL DELAY
       RET
       
  BT:  CLR P2.4
       LCALL DELAY
       RET
    
;*********************************************
;            LED显示程序
;*********************************************

  DIR4:MOV DPTR,#TAB    
       ANL P2,#11111000B
       MOV R1,#30H
       MOV 60H,#6
LOOP0: MOV A,@R1         ;A用来显示输入密码
       MOVC A,@A+DPTR    ;查密码的对应字码段
       MOV P0,A
      
       INC R1            ;显示下一个输入密码
       LCALL DELAY1   
       INC P2       
      
       DJNZ 60H,LOOP0     
       RET
          
;*********************************************
;            延时程序1
;********************************************* 

 DY10MS:MOV 61H,#10
    DY1:MOV 62H,#250  
    DY2:DJNZ 62H,DY2 
        DJNZ 61H,DY1
        RET
       
;*********************************************
;            延时程序2
;*********************************************

 DELAY:MOV 63H,#250
   DE1:MOV 64H,#200
   DE2:DJNZ 64H,DE2 
       DJNZ 63H,DE1
       RET
       
;*********************************************
;            延时程序3
;*********************************************

 DELAY1:MOV 65H,#10
    DE3:MOV 66H,#10
    DE4:DJNZ 66H,DE4
        DJNZ 65H,DE3
        RET 
       
;********************************************************

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
     ;   0    1    2    3    4   5   6   7   8   9   A   B    C    D   E   F     

 END









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -