
②闪烁灯(实现P1口八个 LED闪烁)
相关代码
void Main(void)
{
P1 = 0xff;
P2 = 0x00;
P0 = 0x00; //P1打开,P0 .P2口关闭;
while(1)
{
/*下面四行用于控制LED每隔一个亮*/
P1 = 0xaa;
Delay(50);
P1 = 0x55;
Delay(50);
/*下面四行用于控制LED每隔一个亮*/
P1 = 0xcc;
Delay(50);
P1 = 0x33;
Delay(50);
/*下面四行用于控制LED 高四位 或者 低四位亮*/
P1 = 0x0f;
Delay(50);
P1 = 0xf0;
Delay(50);
/*下面八行用于控制LED的两次全亮 全灭*/
P1 = 0x00;
Delay(25);
P1 = 0xff;
Delay(25);
P1 = 0x00;
Delay(25);
P1 = 0xff;
Delay(25);
Delay(200); //延时两秒
}
}
视频上传了结果转码失败~~~~


③八位跑马灯(采用了寄存器存中间数)
org 0000h
ajmp start
org 0030h
start:
mov a,#0ffh ;
clr c ;
mov r2,#08h ;循环八次。
loop: rlc a ;带进位左移。
mov p1,a ;输出到P1口。
call delay ;延时一段时间
djnz r2,loop ;反复循环
mov r2,#07h ;再往回循环。
loop1: rrc a ;带进位右移
mov p1,a ;输出到P1口。
call delay ;延时一段时间
djnz r2,loop1 ;反复循环
jmp start ;重新开始
delay: mov r3,#20 ;延时子程序
d1: mov r4,#20
d2: mov r5,#248
djnz r5,$
djnz r4,d2
djnz r3,d1
ret
end
回复
打赏帖 | |
---|---|
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 |