汇编言语程序实现P1口连接的8个发光二极管,从左至右,再从右至左依次闪烁,亮200ms,灭200ms,周而复始,循环不息,以主程序+调用延时子程序的方式实现。
时间: 2024-06-13 08:08:19 浏览: 132
congzuodaoyou-led_P0口的8个LED从左到右循环依次点亮_
5星 · 资源好评率100%
```assembly
ORG 0000H
MOV P1,#00H ;P1口输出低电平
MOV R0,#08H ;R0寄存器存储8,即8个LED灯
BACK: MOV A,P1 ;将P1口的值赋给累加器A
RLC A ;将A左移一位,最高位存入CY标志位,最低位存入A
MOV P1,A ;将A的值赋给P1口
ACALL DELAY ;调用延时子程序
CPL P1.0 ;P1.0取反
DJNZ R0,BACK ;R0减1,如果不为0,跳转到BACK标签处
SJMP BACK ;无条件跳转到BACK标签处
DELAY: MOV R1,#0FFH ;R1寄存器存储255,即延时的时间
AGAIN: MOV R2,#0FFH ;R2寄存器存储255,即延时的时间
HERE: DJNZ R2,HERE ;R2减1,如果不为0,跳转到HERE标签处
DJNZ R1,AGAIN ;R1减1,如果不为0,跳转到AGAIN标签处
RET ;返回主程序
END
```
阅读全文