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

📄 liushuideng.asm

📁 这是我最近一段时间编的一些弹片机的小程序,上面有大量的注释,一般都会看懂
💻 ASM
字号:
org 0000h
jmp 40h
org 40h
start:;acall dandltor
      ;acall dandrtol
      ;acall duodltor
      ;acall duodrtor
      ;mov r4,#4
      ;acall duodltor_cl
      ;acall duodltor_cm
      ;acall duodrtol_cl
      ;acall duodrtol_cm
      ;jmp start
         
;*********************************************************************
;子程序:duodrtol    duod代表多灯,rtol代表从右至左
;功能:实现多灯从右至左依次全亮,循环3次
;*********************************************************************
duodrtol:
         mov r0,#24
initval2:mov a,#7fh
         mov p0,a
rgtolf2: dec r0
         acall delay1s
         mov r1,a
         rr a           ;向左移位使LED循环点亮
         anl a,r1
         mov p0,a
         jz initval2     ;累加器为零的跳转
         cjne r0,#00h,rgtolf2
         ret
;*********************************************************************
;子程序:duodltor    duod代表多灯,ltor代表从左至右
;功能:实现多灯从左至右依次全亮,循环3次
;*********************************************************************
duodltor:
         mov r0,#24
initval1:mov a,#0feh
         mov p0,a         
lftorg1:dec r0
        acall delay1s
        mov r1,a        ;R1用于保存移位前的p0值
        rl a            ;向左移位使LED循环点亮
        anl a,r1
        mov p0,a
        jz initval1      ;累加器为零的跳转
        cjne r0,#00h,lftorg1
        ret

;**********************************************************************
;子程序:dandltor   dand代表单灯,ltor代表从左到右
;功能:实现单灯从左至右依次点亮3次
;无参数输入
;**********************************************************************
dandltor:
         mov a,#0feh
         mov r0,#24
lftorg:dec r0
       mov p0,a
       acall delay1s
       rl a         ;向左移位使LED循环点亮
       cjne r0,#00h,lftorg
       ret
;**********************************************************************
;子程序:dandrtol   dand代表单灯,rtol表示从右到左
;功能:实现单灯从右到左依次点亮3次
;无参数输入
;**********************************************************************
dandrtol:
         mov a,#7fh
         mov r0,#24
rgtolf:dec r0
       mov p0,a
       acall delay1s
       rr a          ;向右移位使LED循环点亮
       cjne r0,#00h,rgtolf
       ret
;***********************************************************
;子程序:delay1s
;功能:延时1s
;***********************************************************
delay1s:mov r7,#100               ;R7存放计数循环值
delay10ms:                      ;延时10ms
      mov tmod,#10h            ;T1工作在定时方式1
      mov th1,#0d8h
      mov tl1,#0f0h
      setb tr1                ;启动T1工作
      djnz r7,delay10ms
      ret
end

⌨️ 快捷键说明

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