h16me.asm

来自「实现8段数码管显示.利用本代码」· 汇编 代码 · 共 70 行

ASM
70
字号

OUTBIT   equ 08002h  
OUTSEG   equ 08004h  


LEDBuf   equ   60h    


        org 0000H
        ljmp  Start

LEDMAP:             
       db    5Eh, 3Fh, 7Dh, 4fh, 30h, 3Fh, 7dh, 07h
       db    7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h

Delay: mov   r6, #01             
       mov   r7, #0
DelayLoop:
       djnz  r7, DelayLoop
       djnz  r6, DelayLoop
       ret

DisplayLED:
       mov   r0, #LEDBuf
       mov   r1, #6          ;
       mov   r2, #0010000H
Loop:
       mov   dptr, #OUTBIT
       mov   a, #0
       movx  @dptr, a       

       mov   a, @r0

       MOV  DPTR,#LEDMap   
       MOVC A,@A+DPTR      

       mov   dptr, #OUTSEG
       movx  @dptr,a
       mov   dptr, #OUTBIT
       mov   a, r2
       movx  @dptr, a       

    
       call  Delay

       mov   a, r2       
       rr    a
       mov   r2, a
       inc   r0

       djnz  r1, Loop

       mov   dptr, #OUTBIT
       mov   a, #0
       movx  @dptr, a       
       ret


Start:
      
       MOV LEDBuf , #00H  
       MOV LEDBuf+1, #01H 
       MOV LEDBuf+2, #02H  
       MOV LEDBuf+3, #03H  
       MOV LEDBuf+4, #04H 
       MOV LEDBuf+5, #05H  
DIRLOP:LCALL DisplayLED    
       LJMP DIRLOP        
       END  

⌨️ 快捷键说明

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