用單片機播放音樂,或者彈奏電子琴,實際上是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應該知道音符與頻率的關系。
1.音名
從常見的電子琴的鍵盤談起。
在下表中,可以看到一列黑白相間的琴鍵(示意)。主要分成低音、中音和高音三個區域,每個區域都有12個琴鍵。其中的白鍵,簡譜音符標為1、2、3、4、5、6、7,大家一般都讀成哆、來、咪、發、嗦、拉、西。
2.頻率
注意看一下幾個6(拉)的頻率,它們是整數,容易看出規律――是成2倍的關系。其它的音符,也有同樣的規律。這些頻率,如220、440等,它們在琴鍵上的位置是世界統一的,無論是鋼琴、手風琴,還是電子琴,都是一樣的。
包括黑鍵和白鍵在內的全部音符的頻率數值,是成“等比數列”的關系,它們之間有個公比,可以按照“2倍”的規律推算出來。
已知最低音的6(拉)的頻率是220,設公比為q,那么:7的頻率就是220*q*q 。
乘了兩個q,是因為6、7之間隔了個黑鍵。以此類推,兩個6之間,共有12個琴鍵,所以:
低音區的6(拉)的頻率就是:220*q*q*q*q*q*q*q*q*q*q*q*q = 440。
馬上就可以看出,12個q相乘,等于: 440 / 220 = 2。
那么就可以求出公比:q = 2的12次方根 = 1.059463094。
用這個公比,和已知的220進行計算,可以得出全部琴鍵所對應的頻率,如下表中所示。
3.定時初值
頻率的倒數是周期,用單片機輸出方波,應該在半個周期的時刻,將輸出取反。
設單片機的晶振為12MHz,那么定時器將在1us進行一次加一,加到65536就會出現中斷。據此,就可計算出定時器定時半個周期所需的初值,如下表中所示。
?
4.音調數據表
單片機發出不同頻率的方波,人聽起來,就是不同的音調。
上表中的頻率數值,有些過多,去掉不常用的黑鍵頻率,只是把白鍵對應的數據存放在單片機中,即可滿足絕大部分的應用需求。把下面這個數據表,放在程序中,需要播音的時候,就從表中取出一個數據送到定時器,當定時器溢出中斷的時候,再對輸出引腳取反,那么,在揚聲器中,即可聽到上表中頻率的聲音。
定義音調數據表的程序如下:
DW 63625, 63833, 64019, 64104, 64260, 64400, 64524 ;低音區:1 2 3 4 5 6 7
DW 64580, 64685, 64778, 64820, 64898, 64968, 65030 ;中音區:1 2 3 4 5 6 7
DW 65058, 65110, 65157, 65178, 65217, 65252, 65283 ;高音區:1 2 3 4 5 6 7
DW 65297 ;超高音:1
?
單片機播放音樂解析
- 單片機(619327)
- 音樂播放(10382)
相關推薦
51單片機播放音樂程序
`51單片機播放音樂程序,這是用程序來實現播放《世上只有媽媽好》,代碼和原理圖都有,可以參考一下。如果積分不夠,可以到某寶搜索 51/AVR單片機最小系統板,找到下圖那個進入有鏈接下載。希望對大家有用,同時非常渴望能提一些寶貴意見給我。謝謝支持。`
2017-09-23 14:12:43
單片機播放音樂
嗯。小女子在做一個升降旗系統的畢設,然后有個音樂播放模塊要求實現不妨至少3首不同且完整的歌有什么好的方法么?求電路圖和源程序以下是郵箱:382723900@qq.com
2012-11-26 11:01:23
單片機播放音樂的秘密
本帖最后由 eehome 于 2013-1-5 10:02 編輯
用單片機播放音樂,或者彈奏電子琴,實際上是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應該知道音符與頻率的關系
2012-03-29 17:08:36
播放音樂蜂鳴器提示音相關資料分享
蜂鳴器提示音 播放音樂蜂鳴器提示音播放音樂蜂鳴器提示音Buzzer.c#include//蜂鳴器端口***it Buzzer=P0^6;/***@brief 蜂鳴器的私有延遲函數 100us一個周期
2022-01-19 07:30:28
Arduino按鍵控制MP3模塊隨機播放音樂的方法
設計者:STCode (公眾號同名)1)功能描述這個設計主要是通過按鍵來控制播放音樂,主要涉及到的內容有按鍵和YX5300 MP3音樂模塊的使用,通過按壓按鍵來達到隨機播放音樂曲目的目的。2
2022-02-15 07:34:42
DAQmx播放音樂信號如何設置播放進度
用DAQmx播放音樂信號時,如何隨意設置播放進度,不知道如何中斷正在進行的DAQ任務,然后設置音樂進度后,又該如何開始DAQ任務,求大神指教!
2015-10-12 19:42:57
DAQmx播放音樂信號如何設置播放進度
用DAQmx播放音樂信號時,如何隨意設置播放進度,不知道如何中斷正在進行的DAQ任務,然后設置音樂進度后,又該如何開始DAQ任務,求大神指教!
2015-10-14 19:44:00
STM32控制蜂鳴器播放音樂的原理是什么?
STM32控制蜂鳴器播放音樂的原理是什么?如何使用通用定時器TIM4實現無中斷的微秒級延時函數?如何使用系統滴答時鐘Systick實現帶有中斷的輸出控制?
2021-11-16 07:23:58
fpga播放音樂斷斷續續
我想問一下,如果用fpga板外接揚聲器,播放音樂,播放的聲音斷斷續續,突然播放了一段然后又沒聲了又突然播放一段,這種情況怎么解決?是什么原因呢
2020-06-26 17:42:03
imx6ul evk播放音樂有噪音怎么解決?
我使用 imx6ul evk 和 yocto,
當我像這樣播放音樂時
# gst-play xxx.mp3
而且聽起來有噪音。
怎么解決??
2023-04-23 07:25:20
了解蜂鳴器可以播放音樂的原理
一.音樂播放原理蜂鳴器分為有源和無源,經測試均可正常播放音樂。(網上有些回答說有源不可播放)首先需要了解蜂鳴器可以播放音樂的原理。音樂中不同的音調實際上是發聲體震動的速度(即頻率)不同。所以要讓蜂鳴
2021-11-22 07:17:46
關于用51單片機播放音樂的問題!!!急~~~~
在做一個電子萬年歷,想播放一段音樂當做鬧鈴鈴聲,但播放音樂的時候,lcd顯示屏上的時間(秒鐘)就不動了(但實際上時間是在走動的),音樂停后才能正常顯示走動。例如我設置鬧鐘為9:30,設置為響1分鐘
2014-04-01 13:11:37
基于單片機mp3音樂播放器設計資料分享
并可自行完成音頻解碼數據處理,最后送揚聲器或耳機進行播放。通過自定義鍵盤設定,當有鍵按下時,能控制歌曲的播放或音量,并通過LCD來顯示播放音樂的時間等。主要由51單片機+MP3?播放模塊(自帶3W功放)+3W音樂喇叭+U盤插口+SD卡+耳機接口+按鍵+液晶顯示屏;如圖:二.設計功能(1)讀取U盤或SD卡
2022-02-07 06:34:02
想通過過DA轉換,用單片機播放音樂,可是音質很差,有什么可以改進的方法嗎?
想通過過DA轉換,用單片機播放音樂,可是音質很差,有什么可以改進的方法嗎?請盡量描述的詳細一點,謝謝
2017-04-04 10:59:47
求助,用蜂鳴器播放音樂的時候如何同時播放兩段音樂?
我用 PWM 控制的音樂播放,可以按照樂譜播放音符但現在有個需求,是在播放背景音樂的時候同時疊加一個前景音樂進去?各位有什么好的思路嗎?
2023-02-13 08:56:49
求助,用蜂鳴器播放音樂的時候如何同時播放兩段音樂?
我用 PWM 控制的音樂播放,可以按照樂譜播放音符但現在有個需求,是在播放背景音樂的時候同時疊加一個前景音樂進去?各位有什么好的思路嗎?
2023-03-06 07:44:32
用UCOS實現一邊播放音樂一邊觸摸,為什么會有卡頓的現象
用UCOS實現一邊播放音樂一邊觸摸,為什莫播放音樂會有卡頓的現象? 圖片中任務一是觸摸屏,任務二是播放音樂。
2020-05-20 09:57:36
用stc52單片機做的利用蜂鳴播放音樂資源占用大嗎?
用stc52單片機做的利用蜂鳴器播放音樂,很耗單片機資源嗎?為什么放我在播放的時候,單片機好像反應不過來了,我做用ds18b20檢測溫度報警,已經實現了,但我覺得蜂鳴太單調,我就想播放音樂來好聽點
2016-10-14 22:34:37
請教高手:如何實現編程播放音樂?
老請高手:如何實現編程播放音樂?比如我們用51單片機可以作蜂鳴器發聲實驗,我想怎么能讓他播放音樂?比如有些禮盒打開就播放音樂,不知道那個是怎么實現控制的?!謝謝!
2012-07-18 10:44:18
請問是什么原因導致unity 3d播放音樂失敗了呢
我們用的是3288 5.1 reload版本,在耳機孔插入耳機或其它外接的音箱。開發板玩游戲或者播放其它音視頻都可以正常播放聲音,硬件是沒有問題的。但是unity 3d播放音樂失敗了,我們使用測試
2022-07-01 09:32:35
那種手摸上去就有電流產生從而播放音樂的玩具原理是什么?
`那種手摸上去就有電流產生從而播放音樂的玩具原理是什么呀?給小孩修玩具,實在不知道哪里壞了,打開開關就反復播放音樂的開頭,不需要觸摸了`
2016-09-08 09:15:50
用PIC單片機實現音樂播放的實例程序
PIC單片機實現音樂播放的實例程序********************************* PIC單片機實現音樂播放 *********************************
2009-01-16 11:33:112192
使用51單片機進行播放音樂蜂鳴器的詳細資料合集免費下載
本文檔的主要內容詳細介紹的是使用51單片機進行播放音樂蜂鳴器的詳細資料合集免費下載內容包括了:1.原理,2.蜂鳴器,3.樂譜轉成循環次數,4.單片機,5.代碼仿真電路圖
2019-06-14 17:44:0014
基于單片機的音樂播放器的設計
設計簡介:本設計是基于單片機的音樂播放器,主要實現以下功能:可實現LCD12864顯示歌曲的名字和時間以及歌曲序號; 可實現通過語音模塊控制歌曲的播放以及聲音的大小; 可實現通過按鍵控制音樂的播放
2021-11-12 16:51:0041
單片機應用系統設計技術——播放音樂
播放音樂一、實驗目的二、實驗內容三、實驗步驟四、C代碼如下五、實驗結果六、實驗體會一、實驗目的1.用面包板焊-塊PIC單片機最小系統,包括晶振,復位電路,按鈕,LED燈。2.自主添加新模塊。3.
2021-11-16 16:36:021
基于51單片機的音樂播放器
基于51單片機的音樂播放器音樂播放器摘要1、引言2、總體設計方案2.1、設計思路2.2、方案確立2.3、設計原理分析2.4、音樂播放器控制電路設計三、程序代碼摘要本次設計的題目是基于STC89C52
2021-11-21 11:21:03111
51單片機(二十七)—— 蜂鳴器播放音樂
1、實驗原理介紹 蜂鳴器是電路中經常使用的發聲器件,我們一般使用蜂鳴器發出“嘀嘀”的聲音,用它作為提示音。有沒有想過用蜂鳴器還可以播放音樂呢? 本文使用蜂鳴器來播放音樂。為了深入
2021-11-22 17:21:0712
紅外無線控制單片機播放圖片與音樂
紅外無線控制單片機播放圖片與音樂通過無線紅外模塊來控制51單片機來實現圖片、音樂自由切換。系統概要圖:音樂播放程序:音樂播放流程圖如3-2-1所示分析音樂播放的過程,其為不同頻率聲音的組合,當一組
2021-11-23 16:22:4913
51單片機實驗-蜂鳴器播放音樂
51單片機實驗-蜂鳴器播放音樂題目:編程實現利用單片機使蜂鳴器播放“茉莉花”的樂曲。學校單片機時寫的,利用單片機控制蜂鳴器播放樂曲,開發板上的蜂鳴器可以用三極管驅動,需要根據樂譜來設置當前節拍的發聲
2021-11-23 16:23:0940
基于單片機mp3音樂播放器設計
并可自行完成音頻解碼數據處理,最后送揚聲器或耳機進行播放。通過自定義鍵盤設定,當有鍵按下時,能控制歌曲的播放或音量,并通過LCD來顯示播放音樂的時間等。主要由51單片機+MP3?播放模塊(自帶3W功放)+3W音樂喇叭+U盤插口+SD卡+耳機接口
2021-12-04 10:36:1349
Arduino按鍵控制MP3模塊隨機播放音樂(YX5300 MP3音樂模塊)
設計者:STCode (公眾號同名)1)功能描述這個設計主要是通過按鍵來控制播放音樂,主要涉及到的內容有按鍵和YX5300 MP3音樂模塊的使用,通過按壓按鍵來達到隨機播放音樂曲目的目的
2021-12-16 16:53:3616
基于51單片機的播放音樂實驗設計資料源程序文件
基于51單片機的播放音樂實驗設計資料源程序文件
經常看到一些剛學單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這
樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機演奏音樂比較
2023-04-27 15:06:251
基于51單片機的單片機播放音樂實驗設計資料源程序
經常看到一些剛學單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這
樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機演奏音樂比較有興
趣而又不知其解的朋友能有所啟迪。
一般說來
2023-04-26 15:38:170
評論
查看更多