由于郭天祥教程使用的板子和本論壇的板子電路圖不一樣,所以程序也不一樣 本論壇的板子點亮一個燈,必須先使P1^4口為低電平, 而且對應LED燈是:D1燈對應P0^7口 D2燈對應P0^6口 D3燈對應P0^5口 …… D8燈對應P0^0口 這個和郭天祥的板子正好相反 //使LED從D1順序到D8依次亮,實現流水燈 #include<reg52.h> #include<intrins.h>//循環左/右移的頭文件 #define uint unsigned int #define uchar unsigned char uchar temp;//全局變量(8位) sbit deep=P2^2;//蜂鳴器接口 sbit D0=P1^4; /*聲明函數,帶一個參數*/ void delay(uint); void main() { D0=0; deep=0;// 打開蜂鳴器 temp=0x7f;//D1燈亮,D1燈對應P0^7口 //D2燈對應P0^6口 P0=temp;//P0口是LED燈 while(1) { /*將temp變量循環右移一位,注意:郭天祥的是左移,而且temp初始值是0xfe,因為兩個板子LED燈對應的接口不一樣*/ temp=_cror_(temp,1); delay(600); P0=temp;//下一個燈亮 } } void delay(uint z) { uint x,y; for(x=100;x>0;x--) for(y=z;y>0;y--); } |