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

📄 led自检.asm

📁 (1)完成键盘
💻 ASM
字号:
;-----------led自检---------
;雪
 ;使用:r0-r3
 ;注意没有设置堆栈
 ;---------------------
     led0 equ 30h      ;显示缓冲区 (7段码)LED0--LED7
     led1 equ 31h      ;显示的高位--低位
     led2 equ 32h
     led3 equ 33h
     led4 equ 34h
self_check: mov b,#0   ;B寄存器赋值,作用是给A寄存器换值(A寄存器使用率太高)
     mov  r1,#8h       ;设定循环次数
zj:  mov  r0,#led0
     mov  dptr,#showtab
     mov  a,b
     movc  a,@a+dptr
     mov  @r0,a         ;r0放字段码
     inc  r0
     mov  @r0,a
     inc  r0
     mov  @r0,a
     inc  r0
     mov  @r0,a
     inc  r0
     mov  @r0,a
    lcall display
     inc  b
     djnz r1,zj
     ajmp self_check
display: push  a
         push  psw
         clr   rs0
         clr   rs1
         mov   a,led0
         mov   p0,a
         lcall sel1
         lcall ledys
         mov   p0,led1
         lcall sel2
         lcall ledys
         mov   p0,led2
         lcall sel3
         lcall ledys
         mov   p0,led3
         lcall sel4
         lcall ledys
         mov   p0,led4
         lcall sel5
         lcall ledys
         pop   psw
         pop   a
         ret
  ledys: mov  r2,#0a0h    ;延时
     dd:    mov r4,#7h

    dd0:  mov  r3,#0a0h
   dd1 : djnz r3,dd1
         djnz r4,dd0
         djnz r2,dd
         ret
 sel1:  clr  p2.7       ;位选
        clr  p2.6
        clr  p2.5
        ret
 sel2:  clr  p2.5
        clr  p2.6
        setb p2.7
        ret
 sel3:  clr  p2.7
        setb p2.6
        clr  p2.5
        ret
 sel4:  clr  p2.5
        setb p2.6
        setb p2.7
        ret
 sel5:  setb p2.5
        clr  p2.6
        clr  p2.7
        ret
showtab: db  01h,02h,04h,08h,10h,20h,40h,80h ;字段码
         end

⌨️ 快捷键说明

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