新建 文本文档 (3).txt

来自「C51单片机实验 6LED显示数字」· 文本 代码 · 共 56 行

TXT
56
字号
      ORG   0000H
       LJMP  MAIN
;============================================
       ORG   0100H
MAIN:  MOV   SP,   #100
       MOV   R0,   #30H     ;初始化显示存储区首地址                             
       MOV   R2,   #01H     ;初始化LED位选变量                                  

       MOV   30H,  #00H
       MOV   31H,  #01H
       MOV   32H,  #02H
       MOV   33H,  #03H
       MOV   34H,  #04H
       MOV   35H,  #05H

LOOP:  LCALL LED            ;调用LED扫描程序
       LCALL DELAY          ;调用延时称序
       LJMP  LOOP
;============================================
;************ 动态扫描显示程序 **************
; P0   LED段码接口
; P1   LED位选接口
; R2   记录当前要显示的LED位置
; R0   指向显示存储区(即存储要显示的数的地址)
;============================================
LED:   MOV   A,    @R0
       MOV   DPTR, #GTAB
       MOVC  A,    @A+DPTR
       MOV   P0,   A
       MOV   P1,   R2
       MOV   A,    R2
       RL    A
       MOV   R2,   A
       CJNE  A,    #40H,  L0
       MOV   R2,   #01H
L0:    INC   R0
       CJNE  R0,   #36H,  RETURN
       MOV   R0,   #30H
RETURN: RET
;==========================================
;************* 5ms延时程序 ****************
;占用R6,R7两个通用寄存器
;==========================================
DELAY: MOV   R6,  #5
L1:    MOV   R7,  #100
       DJNZ  R7,  $                                
       DJNZ  R6,  L1
       RET
;==========================================
;LED段码表
GTAB:  DB 3FH,06H,5BH,4FH,66H,6DH      ;0,1,2,3,4,5
       DB 7DH,07H,7FH,6FH,77H,7CH      ;6,7,8,9,A,B
       DB 58H,5EH,7BH,71H,00H,40H      ;C,D,E,F, ,-
;==========================================
       END

⌨️ 快捷键说明

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