❶ 單片機C語言編程:讓8個LED流水燈以0.2s時間間隔從左到右依次點亮然後重復實現
#include<reg52.h>
#include<intrins.h>
void delay(unsigned int z );
void main()
{
unsigned int a;
unsigned char b=0xfe;
for(a=0;a<8;a++)
{
P1=b;//P1口接8個LED燈
delay(200);
b=_crol_ (b,1);
}
}
void delay(unsigned int z)
{
unsigned int i;
for(;z>0;z--) //延遲時間自己算吧
for(i=110;i>0;i--);
}
用匯編寫這個容易點
main: mov a,#0feh
mov r0,#8
loop: mov p1,a
acall delay
rl a
djnz r0,loop
delay:mov r6,#0ffh
loop1: mov r7,#01h
djnz r7,$
djnz r6,loop1
ret
end
好像是這樣,延遲時間可能不太准,也是P1口接8個LED燈
❷ 單片機led左右燈實驗:要求: 八個LED燈依次向左再向右,循環點亮,間隔閃爍
你現在的程序就有問題啊。我給你改改吧。一會兒給你發程序附件。你要的就是流水燈程序唄,就是先從左向右依次點亮led燈然後在從右向左依次點亮對吧。
程序已經給你傳到附件裡面了,用電腦下載吧,傳的c程序你可以直接用。有什麼不懂的再問我吧。(你的編程風格很有問題啊,程序寫的一坨,層次不清晰沒有標注,我初學的時候也犯了這樣的錯誤,將來你寫大篇幅的程序的時候會出現一堆問題的,清晰地編程風格非常重要,僅僅是建議。)