標(biāo)題: 請問怎么按鍵控制蜂鳴器音量大小啊 [打印本頁]

作者: sanqisang    時(shí)間: 2018-7-9 11:33
標(biāo)題: 請問怎么按鍵控制蜂鳴器音量大小啊
百度搜遍了也沒找到例子。。。。有沒有大神教教啊最簡單的例子也可以。
聽說無源的不能控制?那有源的呢

作者: hayden    時(shí)間: 2018-7-9 12:13
用PWM可調(diào)占空比控制音量。
作者: canw    時(shí)間: 2018-7-9 12:53
有源無源的貌似都無法控制音量。
作者: sanqisang    時(shí)間: 2018-7-9 13:14
hayden 發(fā)表于 2018-7-9 12:13
用PWM可調(diào)占空比控制音量。

程序不太會(huì)寫....
作者: lzts88    時(shí)間: 2018-7-9 13:30
不能控制音量。音量大小是硬指標(biāo),參數(shù)定死的
作者: zsyzdx    時(shí)間: 2018-7-9 13:50
有源的可以的,控制電壓就行了!!
作者: yayay    時(shí)間: 2018-7-9 14:00
想辦法控制電流啊 電流控制音量啊
作者: 盤盤盤    時(shí)間: 2018-7-9 14:17
貌似無法控制哎
作者: 上善-若水    時(shí)間: 2018-7-9 15:23
1.可以用計(jì)數(shù)器然后控制三極管和蜂鳴器,可以簡單用單片機(jī)實(shí)現(xiàn)計(jì)數(shù)功能,然后通過不同的電阻網(wǎng)絡(luò)來調(diào)節(jié)電流。
2.用單片機(jī)輸出pwm控制三極管然后控制蜂鳴器。僅供參考
#include<reg51.h>
#define uchar unsigned char
#define uint  unsigned int  
uchar count;
sbit  PWM=P2^0;
sbit  zz=P1^0;
uchar N=0;

void delay(uint k)
{  uchar i,j;
   for(i=0;i<k;i++)
    {for(j=0;j<121;j++)
        {;}
     }
}  

void T0_init()
{  TMOD=0x01;
   TH0=(65536-1000)/256;  
   TL0=(65536-1000)%256;  
   ET0=1;  
   TR0=1;
   EA=1;
}  

void time0(void) interrupt 1 using 1
{ TH0=(65536-1000)/256;  
  TL0=(65536-1000)%256;  
  count++;  
  if(count<=N) PWM=0;  
  else PWM=1;
  if(count>=100)
   count=0;
}

void main(void)
{
  T0_init();
   while(1)
    { if(!zz)          
     {delay(100);
            if(!zz)
                  {N=N+1;
                     if(N>100)
                           N=0;
                   }
          }  
          delay(100);
           }
            }





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1