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

📄 jianpanxianshi.asm

📁 键盘应用显示 led显示 汇编程序 cs51单片机编程
💻 ASM
字号:
ORG 0000H
ORI:MOV R2,#01000000B  ;扫描初值
MOV R1,#00H         ;取码指针
AJMP MAIN
ORG 0100H
MAIN:


KEY:MOV R3,#0DFH       ;列扫描     11011111
    MOV R4,#00H          ;  键码指针
L2:MOV A,R3              ;开始扫描
   MOV DPTR,#8002H    ;位码地址
   MOVX @DPTR,A       ;列扫描信号输出端口 位显码送8002
   MOV DPTR,#8001H    ;键读入行地址
   MOVX A,@DPTR           ;    从 端口读入行信号

   SETB C       ;设有无键按下的标志位
   MOV R6,#04H  ;
L3:RRC A     ;
JNC KEYIN
INC R4
DJNZ R6,L3
MOV A,R3       ;扫描值载入
SETB C
RRC A      ;列右
MOV R3,A   ;列号存回扫描积存器
JC L2
SJMP SHOW
KEYIN:MOV A,R4

   MOV DPTR,#TABLE
   MOVC A,@A+DPTR
     MOV DPTR,#TAB
     MOVC A,@A+DPTR
    MOV DPTR,#8004H
     MOVX @DPTR,A
     MOV DPTR,#8002H
     MOV A,#00000001B
     MOVX @DPTR,A

     LCALL DELAY2
      AJMP MAIN

 SHOW:    MOV DPTR,#DATE     ;显示日期
     MOV A,R1
     INC R1
     MOVC A,@A+DPTR
     MOV DPTR,#TAB
     MOVC A,@A+DPTR
     MOV R0,A
     MOV A,R0
     MOV DPTR,#8004H
     MOVX @DPTR,A
     MOV A,R2
     RR A
     MOV R2,A
     MOV DPTR,#8002H
     MOVX @DPTR,A
     LCALL DELAY
     CJNE R2,#01H,SHOW

     LJMP  ORI
ORG 0200H
DELAY:MOV TMOD,#00H ;定时器零工作在方式零
      MOV TH0,#0D8H;置定时器初值
      MOV TL0,#0FFH
      SETB TR0; 启动定时器零
LP1:  JBC TF0,LP2
      LJMP LP1
LP2:    RET ;返回主程序         显示日期的延时
ORG 0250H
DELAY2: MOV TMOD,#00H ;定时器零工作在方式零
      MOV TH0,#0B1H;置5ms定时器初值
      MOV TL0,#1CH
      MOV R1,#20;设置循环次数
      MOV R3,#2
      SETB TR0; 启动定时器零
  LOOP1:JBC TF0,LOOP2
      LJMP LOOP1
  LOOP2:
      DJNZ R1,LOOP1
      DJNZ R3,LOOP1
      RET ;返回主程序            按键的延时
     ORG 0300H
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,
    DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATE:DB 00H,08H,00H,06H,01H,06H
TABLE:DB 00H,01H,04H,07H
      DB 0FH,02H,05H,08H
      DB 0EH,03H,06H,09H
      DB 0DH,0CH,0BH,0AH    ; LED字型显示代表码
END

⌨️ 快捷键说明

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