/************************************************************* * 程序名 * P0口循環左移LED跑馬燈程序 * 編寫人 * 何新建 * 日 期 * 2012-4-26 * 日 志 * 2012-4-26 開始編寫 單片機入門群240646029 *************************************************************/ #include<reg52.h>/*頭文件*/ #include<intrins.h>/*庫函數頭文件*/ #define uint unsigned int /*宏定義 uint 無符號整型變量*/ #define uchar unsigned char /*宏定義 uchar 字符類型變量*/ uchar temp; /*定義無符號字符型變量*/ int a,b,c,d,e; void delay(uint); /*子函數聲明 括號內參數類型,參數多逗號分開*/ void main() /*妹函數 主函數*/ { while(1)/*循環下面花括號內的程序*/ { temp=0xfe; /*初始值賜給變量,高位1111=f低位1110=e*/ P0=temp; /*變量的值賜給P1口,點亮P1.0口LED*/ for(a=0;a<8;a++)/*循環判斷語句,變量a賜初值0,a小于8,運行花括號程序一次,返回a加1,再判斷a是否小于8*/ { /*仍小于8繼續運行花括號內程序,運行1次,a加一次1,當a=8時,循環語句結束,向下運行*/ temp=_crol_(temp,1); /*P1口位循環左移,每次1位*/ delay(600); /*調用延時程序延時*/ P0=temp; /*左移后的值再次賜給P1口*/ } P0=0xff; } } void delay(uint Z) /*延時子函數*/ { uint X,Y; for(X=100;X>0;X--) for(Y=Z;Y>0;Y--); }
|