51微控制器實現流水燈

少年执笔發表於2024-10-02

上程式碼
程式碼如下:

/*
如果需要從左往右將第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埠的輸出,最終實現預期效果。

相關文章