導航:首頁 > 操作系統 > 單片機發出聲音

單片機發出聲音

發布時間:2022-11-28 04:16:11

『壹』 51單片機松開控鍵響一聲

按鍵的抖動。
按鍵按下時都會發出一聲響,雖然有的按鍵聲音很輕微,但這都是金屬導體碰撞產生的震動,稱這種現象為按鍵的抖動。
如果不對按鍵的抖動進行處理,按鍵就會對系統電路或程序產生意外的干擾。因此,需要對按鍵進行「消抖」。

『貳』 怎樣利用單片機定時器使蜂鳴器發出「叮咚聲」

首先是採用無源的蜂鳴器,先後給蜂鳴器兩個不同的音頻頻率即可產生叮咚聲,至於這兩個頻率是什麼,就得通過實驗來確定了;
而這兩個頻率,用單片機的定時器產生是可行的,設定好分頻值,就可輸出一個音頻信號,改變分頻值,即可得到另一個音頻信號。這中間還需要一個計數器,以便控制及切換兩個頻率的輸出時間,這個可採用另一個定時器來做,或者是通過軟體來完成都可以;

『叄』 51單片機聲音輸出

看你要輸出什麼樣的音頻。
1、如果只是很簡單的像某些有聲賀卡那樣的話,接一個無源喇叭,自己控制I/O輸出一個方波,通過控制方波的頻率來調節音調,然後將不同的頻率組合起來,連續播放就是一首簡單的歌曲。
2、如果要輸出MP3,那就需要一塊音頻解碼晶元,比如VS1003。單片機將存儲在外部存儲器里(比如U盤)的歌曲信息通過介面晶元傳給音頻解碼晶元,解碼之後就能輸出歌曲了。

第二種情況相對比較復雜,涉及到如何高效讀取存儲的歌曲信息和高效傳輸這些信息。

『肆』 我想用單片機做個發聲系統,要求發出0——9和 點的聲音,請問如何實現

這個想法很有意義。

我給樓主支招:
(沒具體試過,但是自我感覺把握性應該是在70%以上)

大概思路如下:
一,用錄音軟體或者自己找找資料,查證0~9所對應的模擬信號
(我想幫你找,但是好像沒找到。所以第一條就需要費點功夫了)
二,把你查閱到的0~9信號進行AD轉換,把對應的數字量保存起來。
三,然後用DA把你保存的數字量選中並輸出,通過揚聲器就可以得到你想要的0~9的聲音了。

一個流程下來,我想你對數模轉換以及采樣什麼的,應該都能熟悉的差不多了
如果想買語音模塊,其原理跟我上述的差不多。
只是,買個語音模塊就只需要觸發信號了。
0~9對應著相應的引腳順序或者相應的編碼地址,然後通過單片機的IO口進行控制就可以了。
這樣的話,好像就沒有意義了。

『伍』 單片機蜂鳴器工作原理是什麼哪位高手可以指教一下

蜂鳴器工作發聲原理:

蜂鳴器的發聲原理由振動裝置和諧振裝置組成,而蜂鳴器又分為無源他激型與有源自激型。

無源他激型蜂鳴器的工作發聲原理是:方波信號輸入諧振裝置轉換為聲音信號輸出。

有源自激型蜂鳴器的工作發聲原理是:直流電源輸入經過振盪系統的放大取樣電路在諧振裝置作用下產生聲音信號。

電路原理:PORTC.3/T0 作為I/O 口通過三極體Q2 來驅動蜂鳴器LS1,而PORTC.2/PWM0 則作為PWM 輸出口通過三極體Q1 來驅動蜂鳴器LS2。另外在PORTA.3 和PORTA.2 分別接了兩個按鍵,一個是PWM 按鍵,是用來控制PWM 輸出口驅動蜂鳴器使用的;另一個是PORT 按鍵,是用來控制I/O 口驅動蜂鳴器使用的。連接按鍵的I/O 口開內部上拉電阻。


(5)單片機發出聲音擴展閱讀:

蜂鳴器的應用領域

蜂鳴器廣泛應用領域:計算機行業(主板蜂鳴器,機箱蜂鳴器,電腦蜂鳴器)列印機(控制板蜂鳴器)、復印機、報警器行業(報警蜂鳴器,警報蜂鳴器)、電子玩具(音樂蜂鳴器)、農業、汽車電子設備行業(車載蜂鳴器,倒車蜂鳴器,汽車蜂鳴器,摩托車蜂鳴器)電話機(環保蜂鳴器)、定時器,空調,醫療設備等電聲行業。

『陸』 單片機如何實現讓蜂鳴器發出兩種不同的聲音!

輸出不同頻率的方波信號來驅動蜂鳴器即可發出N多種的聲音。
用一個小的C程序來給你演示一下:
while(1)
{
P0^0=1;
delayms(50);
P0^0=0;
delayms(50);
}
改變delayms()函數據的參數即可改變延時的時間,就可以改變P0.0口輸出的方波的頻率,驅動蜂鳴器後就能發出不同的聲音了

『柒』 怎樣使單片機發出聲音

...這恐怕有難度``
單單讓他發出聲音那很簡單``
只要一個51片+一個喇叭就可以
發音原理就是利用聲音的頻率``就是說用51控制一個腳發出一個20~20KHZ的方波就可以讓喇叭產生同樣頻率的震動``從而發出聲音.(人耳能聽到的頻率范圍是20~20KHZ).
但要發出兩段錄制好的聲音,這就很有難度了.除非你能把這段聲音轉化成相應的機器碼`讓CPU直接處理.

『捌』 單片機播放音樂的原理

單片機發音原理:利用定時器或PWM功能,輸出PWM,經一級有源濾波後放大驅動揚聲器。
單片機演奏音樂基本是單音頻率,它不包含相應幅度的諧波頻率,
也就是說不能象電子琴那樣能奏出多種音色的聲音,但一定要弄清楚兩個概念即可,也就是「音調」和「節拍」 。音調 表示一個音符唱多高的頻率。節拍 表示一個音符唱多長的時間
1.要生產音頻脈沖,只要算出某一音頻的周期(1/頻率),然後將此周期除以2,即為半周期的時間.利用定時器計時這個半周期時間,每當計時到後就將輸出脈沖的I/O反相,然後重復計時此半周期時間再對I/O反相,就可在I/O腳上得到此頻率的脈沖。

2. 利用8051的內部定時器使用其工作在計數器模式MODE1下,改變計數值THO及TLO以產生不同頻率的方法。

『玖』 怎樣控制51單片機的蜂鳴器發出不同頻率的聲音

用定時器來產生頻率,如產生100Hz的聲音。x0dx0a思路:x0dx0a100Hz即每秒變換200次,每次的時間就是1/200秒=0.005秒=5毫秒。x0dx0a計算定時器的初值:TH0 = 0x0EE; TL0 = 0x00;x0dx0a x0dx0a#include x0dx0asbit BEEP=P0^0;//蜂鳴器引腳x0dx0avoid main(void)x0dx0a{x0dx0a//初始化定時器(晶振:11.0592MHz,12T)x0dx0a TMOD = 0x01;x0dx0a TH0 = 0x0EE;//5毫秒中斷一次x0dx0a TL0 = 0x00;x0dx0a EA = 1;//開總中斷x0dx0a ET0 = 1;;//開中斷x0dx0a TR0 = 1;//啟動定時器x0dx0a while(1);//死循環等蜂鳴器響。x0dx0a}x0dx0avoid Timer0Interrupt(void) interrupt 1x0dx0a{x0dx0a TH0 = 0x0EE;x0dx0a TL0 = 0x00;x0dx0a BEEP=!BEEP;//變換一次蜂鳴器x0dx0a}

『拾』 c51單片機怎麼編程讓蜂鳴器發出嘟嘟嘟的聲

你可以在 網路 上搜索 「單片機播放音樂」,你會得到很多答案,也能比較深刻解決這個問題。
單片機發聲音,是編程 在 接有 蜂鳴器 的埠 間歇的輸出某種頻率的脈沖。
單片機在埠輸出頻率脈沖的最簡單的方法 是使用 延時。

void beep()
{
unsigned char i,j,k;
for(i=0;i<18;i++)
{
for(j=0;j<250;j++)
{
for(k=0;k<120;k++) ;
SPK=!SPK;//發聲音
}
for(j=0;j<130;j++)
{
for(k=0;k<120;k++) ; //間歇時間
}
}
}

閱讀全文

與單片機發出聲音相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163