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

📄 buz.c

📁 AD转换代码 HDG12864L-6 LCD: 128x64 Grighic
💻 C
字号:
//实验目的:熟悉用单片机产生声音的方法
//硬件要求:拨码开关S10的第3位置ON,其他位置OFF
#include<pic.h>
 __CONFIG(0x1832);        
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
#define  buz  RC2                              //定义声音控制脚

//------------------------------------------------------
//延时函数
void sounddelay0(unsigned char delay_count)
{
  unsigned char i;                            //定义循环变量
  for(i=delay_count;i>0;i--);                 //根据频率决定延时时间
}

//------------------------------------------------------
//发声函数
void sound200ms()
{
  unsigned char fre_repeat,s_max,s_min,i,j;
//同一频率重复次数,最高频率,最低频率,循环变量i,j
  fre_repeat=4;                              //同一频率循环4次
  s_max=0x93;                                //声音最高频率
  s_min=0x47;                                //声音最低频率
  for(i=s_max-s_min;i>0;i--)                 //输出最高频率与最低频率内的每一个频率的声音
     {
         for(j=fre_repeat;j>0;j--)           //每个声音循环4次
            {
                buz=1;                       //输出声音
                sounddelay0(s_min+i);        //延长一段时间
                buz=0;                       //关闭声音
                sounddelay0(s_min+i);        //延长一段时间
             }
      }
}

//-------------------------------------------------------
//主函数
void main()
{
   TRISC=0;                                  //设置C口为输出
   sound200ms();                             //调用发声函数
}

              
  

⌨️ 快捷键说明

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