標題: 蜂鳴器簡單唱歌單片機程序 不知為何蜂鳴器只在一個頻率上響 [打印本頁]

作者: 靜水流深zw    時間: 2017-3-24 17:58
標題: 蜂鳴器簡單唱歌單片機程序 不知為何蜂鳴器只在一個頻率上響
用兩個定時器控制蜂鳴器。思路如下:定時器1控制頻率,定時器0控制時間?墒菍嶋H蜂鳴器只在一個頻率上響。
#include<reg52.h>
sbit buzzer=P2^3;
int a[5]={220,550,1100,3300,5500};
int k=0,count=0;
void main()
{
TMOD=0x11;
TL1=(65536-a[k])%256;
TH1=(65536-a[k])/256;
TL0=(65536-45872)%256;
TH0=(65536-45872)/256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void adc() interrupt 1
{
count++;
TL0=(65536-45872)%256;
TH0=(65536-45872)/256;
if(count==20)
{
  count=0;
   k++;
  if(k==5)
   k=0;
  }
  
}
void abc() interrupt 3
{
  TL1=(65536-a[k])%256;
  TH1=(65536-a[k])/256;
  buzzer=~buzzer;
}

作者: 靜水流深zw    時間: 2017-3-24 17:59
#在這里快速回復#在線等
作者: 歸依龍井    時間: 2017-3-25 16:59
你的蜂鳴器是有源的還是?

作者: lids    時間: 2017-3-27 10:02
要用無源蜂鳴器才行,有源蜂鳴器內(nèi)部有振蕩電路,只在一個固定的頻率發(fā)聲




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