//==聲明區(qū)========================================
#include //定義8051暫存器之標頭檔, P2-17~19
sbitbuzzer = P3^7;//聲明蜂鳴器的位置
sbitrelay = P3^6;//聲明繼電器的位置
void delay(int);//聲明延遲函數
void pulse_BZ(int,int,int);//聲明蜂鳴器發(fā)聲函數
void pulse_RL(int,int,int);//聲明繼電器控制函數
//==主程序========================================
main()//主程序開始
{while(1)//無窮循環(huán),程序一直跑*/
{pulse_RL(10,2000,2000);
//繼電器使燈亮滅各10次,各2000 0.5m=1s
pulse_BZ(100,1,1);
//蜂鳴器第1聲嗶,約100*(0.5m+0.5m)=0.1s
delay(200);//延遲200 0.5ms=0.1s
pulse_BZ(100,1,1);
//蜂鳴器第2聲嗶,約100*(0.5m+0.5m)=0.1s
delay(200);//延遲200 0.5ms=0.1s
}//while循環(huán)結束
}//主程序結束
//==副程序=========================================
//延遲函數開始,延遲約x*0.5ms/
void delay(int x)//延遲函數開始
{int i,j;//聲明整數變量i,j
for (i=0;i計數x次,延遲約x 0.5ms
for (j=0;j<60;j++); //計數60次,延遲約0.5ms
}//延遲函數結束
void pulse_BZ(int count,int TH,int TL)//蜂鳴器發(fā)聲函數開始
{int i;//聲明整數變量i/
for(i=0;i計數count次
{buzzer=1;//輸出高態(tài)
delay(TH);//延遲TH 0.5ms
buzzer=0;//輸出低態(tài)
delay(TL);//延遲TL 0.5ms
}//for循環(huán)結束
}//蜂鳴器發(fā)聲函數結束
void pulse_RL(int count,int TH,int TL) //繼電器控制函數開始
{int i;//聲明整數變量i
for(i=0;i計數count次
{relay=1;//輸出高態(tài),繼電器激磁(燈亮)
delay(TH);//延遲TH 0.5ms
relay=0;//輸出低態(tài),繼電器消磁(燈滅)
delay(TL);//延遲TL 0.5ms
}//for循環(huán)結束
}//繼電器控制函數結束思考``````