上程式碼
程式碼如下:
/*
如果需要從左往右將第6行,第22行temp改成0x80
將第26行<<改成>>
*/
include <REGX51.H> //引用51庫
unsigned char temp=0x01; //定義一個無符號字元變數temp,初始值為0x01(二進位制為0000 0001),用於控制LED的狀態。
unsigned int c=0,i=0;
void delay(unsigned int t) //延遲函式
{
for(c=0;c<t;c++);
}
void main() //主函式
{
for(i=0;i<=8;i++)
{
if(i==8) //如果燈到8重新開始迴圈
{
i=0;
temp=0x01;
}
P1 = ~ temp; //取反
temp=temp<<1;//進行位移
delay(50000);//延時函式
}
}
總結
程式碼演示了一個簡單的LED流水燈效果,透過延時函式和左移操作更新temp的值來控制P1埠的輸出,最終實現預期效果。