text1.a

来自「该51代码是利用外扩展8155芯片对数码管进行动态扫描显示」· A 代码 · 共 49 行

A
49
字号
org 0000h
jmp main
org 0030h
main:
     mov a,#07H;D3D2=01,A口,B口为基本I/O,C口为输出,A口、B口输出。
     mov dptr,#0ff00H;命令字地址
     movx @DPTR,a;
loop:
     mov a,#6fH         ;十位数
     mov dptr,#0ff01H   ;a口地址
     movx @dptr,a       
     INC DPTR           ;指向B口
     MOV A,#01H         ;十位位控开
     MOVX @DPTR,A       ;位控,最左边的亮
     LCALL DELAY;
     LCALL INT;
     INC DPTR;
     INC DPTR           ;指向B口
     mov a,#00h         ;关B位控口
     MOVX @DPTR,A       ;数码管全灭
     LCALL INT          ;初始化调用
     mov a,#07h         ;个位数码管段码        
     INC DPTR           ;B口地址        
     movx @dptr,a       ;个位数写入
     INC DPTR           ;B口地址
     MOV A,#02H         ;个位位控开
     movx @DPTR,A       ;写入     
     lCALL DELAY;
     lcall INT;
     INC DPTR;
     INC DPTR;
     mov a,#00h;
     movx @dptr,a;
     JMP loop;
 
DELAY:
      MOV R6,#02H
LOOP1:MOV R7,#0F8H
      NOP
LOOP2:DJNZ R7,LOOP2
      DJNZ R6,LOOP1
      RET
INT:  mov a,#07H;初始化程序,
      mov dptr,#0ff00H;命令状态寄存器地址
      movx @DPTR,a
      RET
      end
     

⌨️ 快捷键说明

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