蜂鸣器简易版

void BeepInit() //端口初始化
{
GPIO_InitTypeDef GPIO_InitStructure; //GPIO初始化结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); //

/*  ÅäÖÃGPIOµÄģʽºÍIO¿Ú */
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;		//Ñ¡ÔñÄãÒªÉèÖõÄIO¿Ú
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;		  //ÉèÖÃÍÆÍìÊä³öģʽ
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;	  //ÉèÖô«ÊäËÙÂÊ
GPIO_Init(GPIOC,&GPIO_InitStructure); 	 /* ³õʼ»¯GPIO */

}

void sound1()  //救护车报警
{
	u32 i=5000;
	while(i--)			   //
		GPIO_SetBits(GPIOA,GPIO_Pin_8);		 
		delay(i);
		GPIO_ResetBits(GPIOA,GPIO_Pin_8);	
		delay(i--);
	}	

void sound2()  //电动车报警
{
	u32 i=1000;
	while(i--)					//
	{
		GPIO_SetBits(GPIOA,GPIO_Pin_8);	   //IO¿ÚÊä³ö¸ßµçƽ
		delay(i);
		GPIO_ResetBits(GPIOA,GPIO_Pin_8);	//IO¿ÚÊä³öµÍµçƽ
		delay(i--);
	}	
}}



void BeepKey()
{
	while(1)
	{
		if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0)	  //
			{
				//delay_ms(10); //Ïû¶¶´¦Àí
				if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0)	 //判断按钮是否按下
				{
					sound1()  ;				
				}
				while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0); //等待按钮是否按下
			
			if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0)	  //Åжϰ´¼üPE1ÊÇ·ñ°´ÏÂ
			{
				//delay_ms(10); //Ïû¶¶´¦Àí
				if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0)	 //ÔÙ´ÎÅжϰ´¼üPE1ÊÇ·ñ°´ÏÂ
				{
					sound2();				
				}
				while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0); //µÈ´ý°´¼üËÉ¿ª
			}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值