A. 51單片機控制喇叭
用個定時器,定時半分鍾就可以了!
B. 想做一個基於51單片機的語音控制
51單片機做語音識別基本上不可能,你可以用凌陽單片機做,一套100多,當年畢業設計用凌陽做的成績基本很差,不是設計不好,而是凌陽做得比較完美,把各個部件一組裝,把程序一修改,就可以語音控制了,太簡單了所以得低分。
建議你用凌陽單片機做,網上有專業網站介紹,而且非常簡單。
具體設計太簡單了,還真不好說。
C. 51單片機控制喇叭的程序(c語言)
/************************************************************************
[文件名] C51音樂程序(八月桂花)
[功能] 通過單片機演奏音樂
注意:通過了74HC14控制ULN2003 驅動晶元驅動蜂鳴器 *
/**********************************************************************/
#include <REG52.H>
#include <INTRINS.H>
//本例採用89C52, 晶振為11.0592MHZ
//關於如何編制音樂代碼, 其實十分簡單,各位可以看以下代碼.
//頻率常數即音樂術語中的音調,而節拍常數即音樂術語中的多少拍;
//所以拿出譜子, 試探編吧!
sbit Beep = P1^5 ;
unsigned char n=0; //n為節拍常數變數
unsigned char code music_tab[] ={
0x18, 0x30, 0x1C , 0x10, //格式為: 頻率常數, 節拍常數, 頻率常數, 節拍常數,
0x20, 0x40, 0x1C , 0x10,
0x18, 0x10, 0x20 , 0x10,
0x1C, 0x10, 0x18 , 0x40,
0x1C, 0x20, 0x20 , 0x20,
0x1C, 0x20, 0x18 , 0x20,
0x20, 0x80, 0xFF , 0x20,
0x30, 0x1C, 0x10 , 0x18,
0x20, 0x15, 0x20 , 0x1C,
0x20, 0x20, 0x20 , 0x26,
0x40, 0x20, 0x20 , 0x2B,
0x20, 0x26, 0x20 , 0x20,
0x20, 0x30, 0x80 , 0xFF,
0x20, 0x20, 0x1C , 0x10,
0x18, 0x10, 0x20 , 0x20,
0x26, 0x20, 0x2B , 0x20,
0x30, 0x20, 0x2B , 0x40,
0x20, 0x20, 0x1C , 0x10,
0x18, 0x10, 0x20 , 0x20,
0x26, 0x20, 0x2B , 0x20,
0x30, 0x20, 0x2B , 0x40,
0x20, 0x30, 0x1C , 0x10,
0x18, 0x20, 0x15 , 0x20,
0x1C, 0x20, 0x20 , 0x20,
0x26, 0x40, 0x20 , 0x20,
0x2B, 0x20, 0x26 , 0x20,
0x20, 0x20, 0x30 , 0x80,
0x20, 0x30, 0x1C , 0x10,
0x20, 0x10, 0x1C , 0x10,
0x20, 0x20, 0x26 , 0x20,
0x2B, 0x20, 0x30 , 0x20,
0x2B, 0x40, 0x20 , 0x15,
0x1F, 0x05, 0x20 , 0x10,
0x1C, 0x10, 0x20 , 0x20,
0x26, 0x20, 0x2B , 0x20,
0x30, 0x20, 0x2B , 0x40,
0x20, 0x30, 0x1C , 0x10,
0x18, 0x20, 0x15 , 0x20,
0x1C, 0x20, 0x20 , 0x20,
0x26, 0x40, 0x20 , 0x20,
0x2B, 0x20, 0x26 , 0x20,
0x20, 0x20, 0x30 , 0x30,
0x20, 0x30, 0x1C , 0x10,
0x18, 0x40, 0x1C , 0x20,
0x20, 0x20, 0x26 , 0x40,
0x13, 0x60, 0x18 , 0x20,
0x15, 0x40, 0x13 , 0x40,
0x18, 0x80, 0x00
};
void int0() interrupt 1 //採用中斷0 控制節拍
{ TH0=0xd8;
TL0=0xef;
n--;
}
void delay (unsigned char m) //控制頻率延時
{
unsigned i=3*m;
while(--i);
}
void delayms(unsigned char a) //豪秒延時子程序
{
while(--a); //採用while(--a) 不要採用while(a--); 各位可編譯一下看看匯編結果就知道了!
}
void main()
{ unsigned char p,m; //m為頻率常數變數
unsigned char i=0;
TMOD&=0x0f;
TMOD|=0x01;
TH0=0xd8;TL0=0xef;
IE=0x82;
play:
while(1)
{
a: p=music_tab[i];
if(p==0x00) { i=0, delayms(1000); goto play;} //如果碰到結束符,延時1秒,回到開始再來一遍
else if(p==0xff) { i=i+1;delayms(100),TR0=0; goto a;} //若碰到休止符,延時100ms,繼續取下一音符
else {m=music_tab[i++], n=music_tab[i++];} //取頻率常數 和 節拍常數
TR0=1; //開定時器1
while(n!=0) Beep=~Beep,delay(m); //等待節拍完成, 通過P1口輸出音頻(可多聲道哦!)
TR0=0; //關定時器1
}
}
D. 如何基於51單片機調用by8301-16p語音模塊播報人數,程序怎麼寫
我做過,用數字變數控制語音,1-9 、個、十、百 的語音文件都要做好。然後一位一位的報,連起來就是了
E. 51單片機如何實現語音功能
單片機需要增加語音功能,要麼選擇功能強大stm32之類的晶元,用內部的dac來模擬輸出,要麼就外掛一個語音晶元
語音晶元的作用
1、顧名思義,就在是產品上增加語音播報的功能,實現的也就是把語音播放出來
2、常見的如:停車場報金額、電梯報站、貨車報「左轉彎,請注意」等等,應用非常的廣泛
語音晶元的種類,不過主要的分類基本也就大致三種
1、第一種,稱之為OTP,就是那種SOP8封裝的語音晶元,內置幾段常用的語音,出廠之後就固話死了,不可修改
2、第二種,稱之為flash語音晶元,通常是一個主控晶元外掛一個spiflash,主控晶元是不變的,而flash則是可以重復燒錄的,但是語音往往只支持wav,所以音質會壓縮的很差。代表的如WT588D
3、第三種,就是現在最優秀的KT404A晶元,他是支持MP3解碼,比前面的兩種在技術上是一個跨越,將MP3這種優秀的技術應用於語音晶元上,同時他強大的usb直接虛擬flash成為U盤,這樣更新語音非常方便
您選的單片機有4個串口,隨便拿一個出來控制KT404A就好了
KT404A外掛一個spiflash,通過usb直接更新語音
F. 怎樣用51單片機實現一些情況下的語音提醒。
能夠實現,需要溫度感測器,喇叭,51單片機組成測控系統
G. 有哪位大神知道51單片機蜂鳴器響1秒的c程序怎麼寫
#include<reg51.h>
#define uchar unsigned char
uchar cnt;
sbit fmq=P1^0;
sbit key=P1^4;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>20)
{
TR0=0;
cnt=0;
fmq=1;
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
while(1)
{
if(key==0)
{
while(key==0);
TR0=1;
fmq=0;
}
}
}
H. 用51單片機實現對講機功能
不知道你所做的那一種對講機了,如果是無線對講的話,那就比較復雜了僅靠你的單片機知識是完成不了的,那大部分要靠高頻知識,並且你要確定你的通話頻段,和功率,有空看看高頻知識吧!
I. 求一個51單片機上能用的有源蜂鳴器不同頻率響的匯編程序
有源蜂鳴器都是長鳴固定頻率的,只要加5Ⅴ電壓就響。要按不同頻率發聲,應該用無源蜂鳴器,或小功率的揚聲器,即小喇叭。利用定時器定時,輸出一定頻率的方波信號即可。如1KHz方波,信號周期為1ms,定時0.5ms=500us,假設單片機晶振頻率是12M,機器周期是1us,用定時器T0,定時的初始值,X=65536-500=65036=FE0CH,TH0=FEH,TL0=0CH。
匯編程序:
START:MOV TMOD , #01H
SETB TR0
LOOP:MOV TH0 , #0FEH
MOV TL0 , #0CH
JNB TF0 , $
CLR TF0
CPL P1.7 ; P1.7輸出方波信號
SJMP LOOP
你想要其他頻率的信號,可參照上面的計算過程和程序,自己修改一下就成了。
J. 51單片機用按鍵控制蜂鳴器發出do re mi fa...的聲音,求c語言程序
這幾個音符對應不同的頻率,你可以看下頻率表,定時器定時就能實現這個功能了,剛幫別人做畢業設計,就是做這個的