单片机 > 单片机程序设计 > 详情

使用单片机驱动蜂鸣器产生警报声

发布时间:2025-12-12 发布时间:
|

//************************************************** 
//实验目的: 
//熟悉使用单片机驱动蜂鸣器产生警报声 
//************************************************** 

//************************************************** 
//硬件设置: 
//1、硬件不需设置 
//************************************************** 

//************************************************** 
//*****************定义头文件********************** 
//************************************************** 
#include 

//************************************************** 
//******************定义配置位********************* 
//************************************************** 
__CONFIG(0x3545);        
//FLASH代码不保护,RB6和RB7为调试模式,FLASH不写保护,数据代码不保护 
//RB3为数字IO口,低电压复位使能,上电延时开,看门狗开,4M晶体XT振荡器 

//************************************************** 
//******************定义常量*********************** 
//************************************************** 
#define uchar unsigned char 
#define uint  unsigned int 

//*********************************************** 
//函 数 名:delayms(uchar time); 
//入口参数:time 
//出口参数:无 
//函数作用:延时 
//说    明: 
//*********************************************** 
void delayms(uchar time) 

  uint i; 
  while(time--) 
  { 
    for(i=93;i>0;i--){;} 
  } 


//*********************************************** 
//函 数 名:port_init(void); 
//入口参数:无 
//出口参数:无 
//函数作用:端口初始化 
//说    明: 
//*********************************************** 
void port_init(void) 

  PORTA=0X00;  //RA口输出低电平 
  ADCON1=0X07; //设置RA口,RE口为普通IO口 
  TRISA=0X00;  //设置RA为输出口,关闭并行口 
  OPTION=0X8F; //分频给WDT,分频比为128 


//*********************************************** 
//函 数 名:buzzer(void); 
//入口参数:无 
//出口参数:无 
//函数作用:产生警报声 
//说    明: 
//*********************************************** 
void buzzer(void) 

  RA5=1;         //RE1输出高电平 
  delayms(150); 
  RA5=0;         //RE1输出低电平 
  delayms(50); 
  RA5=1;         //RE1输出高电平 
  delayms(150); 
  RA5=0;         //RE1输出低电平 


//*********************************************** 
//函 数 名:main(void); 
//入口参数:无 
//出口参数:无 
//函数作用:MAIN函数 
//说    明: 
//*********************************************** 
void main(void) 

  port_init();      //调用端口初始化函数 
  while(1) 
  { 
    buzzer();      //调用报警函数 
    delayms(250);  //总延时1秒 
    CLRWDT();      //清看门狗 
    delayms(250); 
    delayms(250); 
    delayms(250); 
    CLRWDT();      //清看门狗 
  } 
}

关键字:单片机  驱动蜂鸣器  警报声

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
快速学Arm(9)--处理器的状态,模式以及概括了解内部寄存器