導航:首頁 > 操作系統 > 基於51單片機的喊話器

基於51單片機的喊話器

發布時間:2022-08-31 05:27:47

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語言程序

這幾個音符對應不同的頻率,你可以看下頻率表,定時器定時就能實現這個功能了,剛幫別人做畢業設計,就是做這個的

閱讀全文

與基於51單片機的喊話器相關的資料

熱點內容
程序員可以干什麼 瀏覽:70
績效考核權重分配演算法 瀏覽:524
android應用logo 瀏覽:898
光遇安卓服墓土商店什麼時候開 瀏覽:566
月收益翻倍的源碼 瀏覽:636
asop源碼放在哪裡 瀏覽:988
電腦伺服器密碼怎麼找 瀏覽:574
jdp轉換pdf 瀏覽:749
把pdf導入iphone 瀏覽:508
米哈游租賃的雲伺服器是哪個 瀏覽:524
android直接打電話 瀏覽:1016
ubuntu停止命令 瀏覽:283
cnc攻絲編程 瀏覽:869
換個手機號碼app怎麼注冊 瀏覽:320
怎麼下載小猴口算app 瀏覽:115
輕鏈app的貨怎麼樣 瀏覽:625
電腦里的u盤如何加密 瀏覽:370
我的世界全部版本伺服器下載地址 瀏覽:50
交換原理pdf 瀏覽:229
菜鳥驛站app怎麼邀請新人 瀏覽:448