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