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

📄 jp02.asm

📁 51单片机开发入门与典型实例
💻 ASM
字号:
;文件名:JP02.ASM
;程序功能:用矩阵式键盘控制显示器 
         ORG   00H      ;
  START:  MOV   R4,#00H ;
  L1:    MOV   R3,#0F7H ;扫描初值(P3.3=0)
         MOV   R1,#00H  ;取码指针                 
  L2:    MOV   A,R3     ;开始扫描
         MOV   P3,A     ;将扫描值输出至P3
         MOV   A,P3     ;读入P3值,判断有无按下  
         MOV   R4,A     ;存入R4,以判断是否放开  
         SETB  C        ;C=1
         MOV   R5,#04H  ;扫描P3.4~P3.7
  L3:    RLC   A        ;将按键值左移一位
         JNC   KEY       ; 有键按下C=0,跳至KEY
         INC   R1       ;C=1没键按下,指针值加1   
         DJNZ  R5,L3    ;4列扫描完毕了?           
         MOV   A,R3     ;扫描值载入
         SETB  C        ;C=         RRC   A        
         MOV   R3,A     ;存回扫描寄存器
         JC    L2       ;C=1,程序转到L2处
         JMP   L1       ;C=0则4行已扫描完毕        
  KEY:   ACALL DELAY    ;调延时子程序              
  D1:    MOV   A,P3     ;读入P3值
         XRL   A,R4     ;与上次读入值作比较
         JZ    D1       ;A=0,表示按键未放
         MOV   A,R1     ;按键已放开,指针载入A   
         ACALL DISP     ;调用显示子程序           
         JMP   L1       ;                         
  DISP:  MOV   DPTR,#TABLE ;数据指针指到TABLE
         MOVC  A,@A+ DPTR  ;恢罷ABLE取码
         MOV   P0,A     ;  输出 
         RET            ; 子程序返回              
  DELAY: MOV   R7, #60  ;                            
         MOV   R6, #248 ;        
  DLY1:  DJNZ  R6, $    ;         
         DJNZ  R7, DLY1 ;                           
         RET            ;                           
  TABLE: DB  0C0H, 0F9H, 0A4H,0B0H ;   
         DB  99H,  92H,  82H, 0F8H ;       
         DB  80H,  90H,  88H, 83H  ;        
         DB  0C6H, 0A1H, 86H, 8EH  ;                 
         END        ;                            
                      


⌨️ 快捷键说明

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