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

📄 6位8段数码管显示-程序.asm

📁 用汇编语言编写的6位8段数码管显示程序与MS-51单片机实验系统配合使用
💻 ASM
字号:
OUTBIT   equ 0e101h  ; 位控制口
CLK164   equ 0e102h  ; 段控制口(接164时钟位)
DAT164   equ 0e102h  ; 段控制口(接164数据位)
IN       equ 0e103h  ; 键盘读入口
LEDBuf   equ   60h     ; 显示缓冲,可随意指定
Num      equ   70h     ; 显示的数据
DelayT   equ   75h     ;
      

  org   0000h
       ljmp  Start
LEDMAP:              ; 八段管显示码
       db    3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
       

Start: mov dptr,#0e100h;初始化8155
       mov a,#03h;控制字03H,表A、B口作为输出
       movx @dptr,a
       mov   Num, #0
MLoop:
       inc   Num
       mov   A, Num
       mov B, A
       mov   R0, #LEDBuf
FillBuf:              ;填充缓冲区
       mov   a, b
       anl   a, #0fh;屏蔽高四位,因为只能显示0~F,或见P215
       mov   dptr, #LEDMap;查段码表
       movc  a, @a+dptr    ; 数字转换成显示码
       mov   @r0,a         ; 显示在码填入显示缓冲
       inc   r0
       inc   b
       cjne  r0, #LEDBuf+6, FillBuf
       mov   DelayT,#30
DispAgain:
       call  DisplayLED    ; 显示
       djnz  DelayT,DispAgain
       ljmp  MLoop
       END


Delay:               ; 延时子程序
       mov   r7, #0
DelayLoop:
      djnz  r7, DelayLoop
       djnz  r6, DelayLoop
       ret
DisplayLED:
       mov   r0, #LEDBuf
       mov   r1, #6          ; 共6个八段管
       mov   r2, #00100000b  ; 从左边开始显示
Loop:
       mov   dptr, #OUTBIT
       mov   a, #00h
       movx  @dptr, a        ; 关所有八段管
       mov   a, @r0
       mov   B, #8           ; 送164
DLP:
       rlc   a
       mov   r3, a
       mov   acc.0, c
       ANL   A, #0FDH;将PB1清0
       mov   dptr, #DAT164
       movx  @dptr, a
       mov   dptr, #CLK164;送PB1一高一低电平
       ORL a,#02h  ;将PB1置1
       movx  @dptr, a
       ANL  a,#0fDh  ;将PB1置0
       movx  @dptr, a;
       mov   a, r3
       djnz  B, DLP
       mov   dptr, #OUTBIT
       mov   a, r2;    输出位选通信号
       movx  @dptr, a       
       mov   r6, #1; 显示一位八段管
       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

⌨️ 快捷键说明

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