標籤:
/*----------------------------------------------- 名稱:流水燈 日期:2009.5 修改:無 內容:迴圈點亮P1口對應的8個LED燈,造成迴圈流水點亮的效果------------------------------------------------*/#include<reg52.h> //包含標頭檔,一般情況不需要改動,標頭檔包含特殊功能寄存器的定義/*------------------------------------------------ 延時子程式------------------------------------------------*/void delay(unsigned int cnt) { while(--cnt);}/*------------------------------------------------ 主函數------------------------------------------------*/main(){ bit flag = 0; //設定一個位變數 P1=0x7f; //給初始化值 換算成二進位是0111 1111 while(1) //當為1時 則無限迴圈 當為0時 則一次都不執行 { if (flag == 0) //判斷是否為0 { delay(30000); //延時程式 P1 = P1 >> 1; //左移一位 該語句等效於 P1=P1<<1 P1 |= 0x80; // 1000 0000 if(P1==0xfe) //檢測是否移到最左端?"=="表示檢測符號2端的值是否相等 { flag = 1; } } else { delay(30000); //延時程式 P1 = P1 << 1; //左移一位 該語句等效於 P1=P1<<1 P1 |= 0x01; // 0000 0001 if(P1==0x7f) //檢測是否移到最左端?"=="表示檢測符號2端的值是否相等 { flag = 0; } } }}
51 單片機 跑馬燈