
②闪烁灯(实现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
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 | |
【分享评测,赢取加热台】教你五分钟本地部署蒸馏版本的DeepSeekR1-7B被打赏12分 | |
【换取手持示波器】蓝牙音箱更换电池被打赏8分 | |
【换取手持示波器】鼠标更换微动开关被打赏10分 | |
【我要开发板】4.传感器移植被打赏50分 | |
【换取手持数字示波器】RISC-VGCC使用-fno-omit-frame-pointer编译选项实现栈回溯被打赏29分 | |
【分享评测,赢取加热台】+开关电源简述被打赏7分 | |
STM32WBA55ADC采集电池电压任务2被打赏1分 |