⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sound.c

📁 一个倒车雷达的程序 使用的是AVR单片机。 在include.h文件里面定义 #define CPU_F 4 //4MHZ 定义外晶振的频率 #define GOOD //40K
💻 C
字号:

/*******************************/
/*          产生声音模块       */
/*******************************/
#include "include.h"
void mute(uchar temp_bit)
{
	if(temp_bit)
	{
		mute_on;//BEEP 设为输出
		Beep_off;//BEEP 低电平
	}
	else
	{
		Beep_off;  //BEEP 高电平
		mute_on;  //BEEP 设为输入
	}
}

/*******************************/
/*  产生一定频率的音频 BEEP   */
/*******************************/

void beep0(uint temp1,uint temp2,uint temp3)
{
	mute(0);
	for(uint y=0;y<temp1;y++)
        {	
             for(uint i=0;i<temp2;i++)
               {
                  if(i<temp3)Beep_on;
                  else Beep_off;
               }
        }
      mute(1);
}

void end_TG(void)
{
     delayms(30);
     CBI_TG1;CBI_TG2;
     CBI_TG3;CBI_TG4;
}

/*******************************/
/**        倒车语音报警       **/
/*******************************/

void sound(uchar tem_data)
{
      if(tem_data<5) tem_data=0;
      Sound_out;

      if(!Busy&&(key==2||key==3))
        {
          if(tem_data!=old_tem_data)
            {
              once++;
              if(once>1)
                {
                 old_tem_data=tem_data;once=50;
                // if(tem_data==20){mute(0);SBI_TG1;end_TG();}	   
                 if(tem_data==15){mute(0);SBI_TG2;end_TG();}       //2	 
                 if(tem_data==12){mute(0);SBI_TG3;end_TG();}       //3	
                 if(tem_data==10){mute(0);SBI_TG4;end_TG();}       //4	 
                 if(tem_data==8){mute(0);SBI_TG1;SBI_TG2;end_TG();}//1  2
                 if(tem_data==6){mute(0);SBI_TG2;SBI_TG3;end_TG();}//2  3
                 if(tem_data==5){mute(0);SBI_TG3;SBI_TG4;end_TG();}//3  4
                 if(tem_data==0){mute(0);SBI_TG1;SBI_TG4;end_TG();}//1  4 
                }
             }
           else once=0;
        }
      if(!Busy&&(key==1||key==3))
	{
		Beep_out;
		Sound_off;
		if(tem_data>=10&&tem_data<16)if(TIME==0){beep1();TIME=180;} 
		if(tem_data>=6&&tem_data<10)if(TIME==0){beep2();TIME=55;}   
		if(tem_data>=4&&tem_data<6)if(TIME==0){beep3();TIME=40;}   
		if(tem_data==0)beep4();
		Sound_out;
		mute(1);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -