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