使用单片机驱动蜂鸣器产生警报声
扫描二维码
随时随地手机看文章
//**************************************************
//实验目的:
//熟悉使用单片机驱动蜂鸣器产生警报声
//**************************************************
//**************************************************
//硬件设置:
//1、硬件不需设置
//**************************************************
//**************************************************
//*****************定义头文件**********************
//**************************************************
#include
//**************************************************
//******************定义配置位*********************
//**************************************************
__CONFIG(0x3545);
//FLASH代码不保护,RB6和RB7为调试模式,FLASH不写保护,数据代码不保护
//RB3为数字IO口,低电压复位使能,上电延时开,看门狗开,4M晶体XT振荡器
//**************************************************
//******************定义常量***********************
//**************************************************
#defineucharunsignedchar
#defineuintunsignedint
//***********************************************
//函数名:delayms(uchartime);
//入口参数:time
//出口参数:无
//函数作用:延时
//说明:
//***********************************************
voiddelayms(uchartime)
{
uinti;
while(time--)
{
for(i=93;i>0;i--){;}
}
}
//***********************************************
//函数名:port_init(void);
//入口参数:无
//出口参数:无
//函数作用:端口初始化
//说明:
//***********************************************
voidport_init(void)
{
PORTA=0X00;//RA口输出低电平
ADCON1=0X07;//设置RA口,RE口为普通IO口
TRISA=0X00;//设置RA为输出口,关闭并行口
OPTION=0X8F;//分频给WDT,分频比为128
}
//***********************************************
//函数名:buzzer(void);
//入口参数:无
//出口参数:无
//函数作用:产生警报声
//说明:
//***********************************************
voidbuzzer(void)
{
RA5=1;//RE1输出高电平
delayms(150);
RA5=0;//RE1输出低电平
delayms(50);
RA5=1;//RE1输出高电平
delayms(150);
RA5=0;//RE1输出低电平
}
//***********************************************
//函数名:main(void);
//入口参数:无
//出口参数:无
//函数作用:MAIN函数
//说明:
//***********************************************
voidmain(void)
{
port_init();//调用端口初始化函数
while(1)
{
buzzer();//调用报警函数
delayms(250);//总延时1秒
CLRWDT();//清看门狗
delayms(250);
delayms(250);
delayms(250);
CLRWDT();//清看门狗
}
}