//**************************************************
//實驗目的:
//熟悉使用單片機驅動蜂鳴器產(chǎn)生警報聲
//**************************************************
//**************************************************
//硬件設置:
//1、硬件不需設置
//**************************************************
//**************************************************
//*****************定義頭文件**********************
//**************************************************
#include
//**************************************************
//******************定義配置位*********************
//**************************************************
__CONFIG(0x3545);
//FLASH代碼不保護,RB6和RB7為調(diào)試模式,F(xiàn)LASH不寫保護,數(shù)據(jù)代碼不保護
//RB3為數(shù)字IO口,低電壓復位使能,上電延時開,看門狗開,4M晶體XT振蕩器
//**************************************************
//******************定義常量***********************
//**************************************************
#defineucharunsignedchar
#defineuintunsignedint
//***********************************************
//函數(shù)名:delayms(uchartime);
//入口參數(shù):time
//出口參數(shù):無
//函數(shù)作用:延時
//說明:
//***********************************************
voiddelayms(uchartime)
{
uinti;
while(time--)
{
for(i=93;i>0;i--){;}
}
}
//***********************************************
//函數(shù)名:port_init(void);
//入口參數(shù):無
//出口參數(shù):無
//函數(shù)作用:端口初始化
//說明:
//***********************************************
voidport_init(void)
{
PORTA=0X00;//RA口輸出低電平
ADCON1=0X07;//設置RA口,RE口為普通IO口
TRISA=0X00;//設置RA為輸出口,關閉并行口
OPTION=0X8F;//分頻給WDT,分頻比為128
}
//***********************************************
//函數(shù)名:buzzer(void);
//入口參數(shù):無
//出口參數(shù):無
//函數(shù)作用:產(chǎn)生警報聲
//說明:
//***********************************************
voidbuzzer(void)
{
RA5=1;//RE1輸出高電平
delayms(150);
RA5=0;//RE1輸出低電平
delayms(50);
RA5=1;//RE1輸出高電平
delayms(150);
RA5=0;//RE1輸出低電平
}
//***********************************************
//函數(shù)名:main(void);
//入口參數(shù):無
//出口參數(shù):無
//函數(shù)作用:MAIN函數(shù)
//說明:
//***********************************************
voidmain(void)
{
port_init();//調(diào)用端口初始化函數(shù)
while(1)
{
buzzer();//調(diào)用報警函數(shù)
delayms(250);//總延時1秒
CLRWDT();//清看門狗
delayms(250);
delayms(250);
delayms(250);
CLRWDT();//清看門狗
}
}