8 個LED燈按不同的順序亮起請給你個不同的實驗代碼和詳細步驟!考試要的!!!
/*************************************************************
* 程序名 * 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--);
}
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |