②闪烁灯(实现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
回复
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |