|
- /**************************************************************************************
- 實(shí)驗(yàn)名稱:蜂鳴器實(shí)驗(yàn)
- 接線說明:
- 實(shí)驗(yàn)現(xiàn)象:下載程序后蜂鳴器發(fā)出聲音,一段時間后關(guān)閉
- 注意事項(xiàng):
- ***************************************************************************************/
- #include "reg52.h"
- typedef unsigned int u16; //對系統(tǒng)默認(rèn)數(shù)據(jù)類型進(jìn)行重定義
- typedef unsigned char u8;
- sbit BEEP=P2^5; //將P2.5管腳定義為BEEP
- /*******************************************************************************
- * 函 數(shù) 名 : delay_10us
- * 函數(shù)功能 : 延時函數(shù),ten_us=1時,大約延時10us
- * 輸 入 : ten_us
- * 輸 出 : 無
- *******************************************************************************/
- void delay_10us(u16 ten_us)
- {
- while(ten_us--);
- }
- /*******************************************************************************
- * 函 數(shù) 名 : main
- * 函數(shù)功能 : 主函數(shù)
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main()
- {
- u16 i=2000;
- while(1)
- {
- while(i--)//循環(huán)2000次
- {
- BEEP=!BEEP;//產(chǎn)生一定頻率的脈沖信號
- delay_10us(100);
- }
- i=0;//清零
- BEEP=1;//關(guān)閉蜂鳴器,關(guān)閉第六個LED.因?yàn)锽EEP是由P2^5引腳控制,P2^5同時控制LED6,對于蜂鳴器BEEP為高電平還是低電平都沒有關(guān)系,因?yàn)橹挥忻}沖信號才能使無源蜂鳴器工作。將BEEP設(shè)置為高電平,是因?yàn)镻2^5默認(rèn)輸出的就是高電平。
- }
- }
復(fù)制代碼
|
|