English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

#include
sbit wled = P3^7;
/*-----------------------------*/
delay(int d)
{
int i, j;
for(i=0; i for(j=0; j<200; j++) ;
}
/*-----------------------------*/
led_r()
{
char i, c;

P0=0x00;
delay(100);
c=1; /* 0000 0001 */
for(i=0; i<8; i++)
{
P0=c;
delay(100);
c=c<<1;
}
}
/*----------------------*/
led_l()
{
char i, c;

P0=0x00;
delay(100);
c=0x80; /* 1000 000 */
for(i=0; i<8; i++)
{
P0=c;
delay(100);
c=c>>1;
}
}
/*----------------------*/
main()
{
while(1)
{
if(wled==0)
{
led_l();
led_r();
}
else
{
P0=~P1;
}
}
}

老師給的~有些看得懂有些看不懂~謝謝大家

2007-06-28 14:13:03 · 1 個解答 · 發問者 理想爆爆頭 7 in 電腦與網際網路 程式設計

1 個解答

程式會控制LED的亮燈,先從右邊跑到左邊( led_l 函數的效果 ),接著從左邊再跑回右邊( led_r 函數的效果 ).

以1代表亮燈,0代表熄燈的話,就是會控制8個led依序亮燈如下:

0000 0001
0000 0010
0000 0100
0000 1000
0001 0000
0010 0000
0100 0000
1000 0000
0100 0000
0010 0000
0001 0000
0000 1000
0000 0100
0000 0010
0000 0001

2007-06-28 19:52:14 · answer #1 · answered by light_tseng 5 · 0 0

fedest.com, questions and answers