資料介紹
我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單處機某個口線的“高”電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調。例如,要產生200Hz的音頻信號,按圖1接入喇叭(若屬臨時實驗,也可將喇叭直接接在P1口線上),實驗程序為:其中子程序DEL為延時子程序,當R3為1時,延時時間約為20us,R3中存放延時常數,對200HZ音頻,其周期為1/200秒,即5ms。這樣,當P1.4的高電平或低電平的持續(xù)時間為2.5ms,即R3的時間常數取2500/20=125(7DH)時,就能發(fā)出200HZ的音調。將上述程序鍵入學習機,并不斷修改R3的常數可以感到音調的變化。樂曲中,每一音符對應著確定的頻率,表1給出C調時各音符頻率及其相應的時間常數。讀者可以根據表1所提供的常數,將其16進制代碼送入R3,反復練習體會。根據表1可以奏出音符。僅這還不夠,要準確奏出一首曲子,必須準確地控制樂曲節(jié)奏,即一音符的持續(xù)時間。音符的節(jié)拍我們可以用定時器T0來控制,送入不同的初值,就可以產生不同的定時時間。便如某歌曲的節(jié)奏為每分鐘94拍,即一拍為0.64秒。其它節(jié)拍與時間的對應關系見表2。但時,由于T0的最大定時時間只能為131毫秒,因此不可能直接用改變T0的時間初值來實現不同節(jié)拍。我們可以用T0來產生10毫秒的時間基準,然后設置一個中斷計數器,通過判別中斷計數器的值來控制節(jié)拍時間的長短。表2中也給出了各種節(jié)拍所對應的時間常數。例如對1/4拍音符,定時時間為0.16秒,相應的時間常數為16(即10H);對3拍音符,定時時間為1.92秒,相應時間長數為192(即C0H)。我們將每一音符的時間常數和其相應的節(jié)拍常數作為一組,按順序將樂曲中的所有常數排列成一個表,然后由查表程序依次取出,產生音符并控制節(jié)奏,就可以實現演奏效果。此外,結束符和體止符可以分別用代碼00H和FFH來表示,若查表結果為00H,則表示曲子終了;若查表結果為FFH,則產生相應的停頓效果。為了產生手彈的節(jié)奏感,在某些音符(例如兩個相同音符)音插入一個時間單位的頻率略有不同的音符。程序框圖如圖2所示。下面給出程序序請單,可直接在TD-III型學習機上演奏,對其它不同型號的學習機,只需相應地改變一下地址即可。本程序演奏的是民歌“八月桂花遍地開”,C調,節(jié)奏為94拍/分。讀者也可以自行找出一首歌,按表1和表2給定的常數,將樂曲翻譯成碼表輸入機器,而程序不變。本實驗方法簡便,即使不懂音樂的人,將一首陌生的曲子翻譯成代碼也是易事,和著機器的演奏學唱一首歌曲,其趣味無窮。硬件連接說明:隨便找一個仿真機或者什么單片機實驗板,只要能工作的就行,將程序輸入,運行,然后找個音箱(你計算機旁邊應當就有一對吧)撥出插頭,插頭的前端接在P1。0上,后面部分找根線接單片機的地,就應當有聲了,然后怎么改進硬件連接就是你的事了。(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 51單片機串行通信的原理解析資料下載
- 使用單片機實現按鍵選播電子音樂的程序和仿真資料免費下載 27次下載
- 使用單片機實現按鍵控制定時器選播多段音樂的程序和仿真資料免費下載 16次下載
- 使用單片機實現音樂播放器的程序免費下載 45次下載
- 使用單片機設計音樂程序的資料說明 0次下載
- 使用51單片機自制音樂盒的詳細資料和程序及電路圖免費下載
- 51單片機匯編語言教程之音樂程序設計的詳細資料說明 4次下載
- 如何使用單片機進行蜂鳴器演奏音樂的程序資料免費下載 9次下載
- 使用單片機進行音樂盒的設計資料合集免費下載 49次下載
- 使用單片機實現音樂播放器的源代碼程序免費下載
- 51單片機的五個匯編音樂程序資料免費下載 21次下載
- 使用51單片機設計的C語言音樂程序代碼資料免費下載 17次下載
- 使用C51單片機進行演奏生日快樂音樂程序的詳細資料免費下載 20次下載
- 蜂鳴器播放音樂程序 34次下載
- 單片機音樂程序教程
- 單片機里的程序是如何運行? 4550次閱讀
- 單片機的主程序是如何執(zhí)行的 1w次閱讀
- 一文解析單片機晶振腳的原理 4397次閱讀
- 如何自制一個AVR單片機ISP下載線 4228次閱讀
- 如何對STC單片機進行免掉電下載 2237次閱讀
- 單片機對音樂程序的設計原理解析 1383次閱讀
- 單片機音樂程序的設計原理解析 3899次閱讀
- 51單片機的工作流程及原理解析 5.8w次閱讀
- 基于Proteus單片機的音樂演奏實現系統 5631次閱讀
- 怎么讀取單片機程序_單片機程序是如何執(zhí)行的_如何讀懂單片機程序 7.6w次閱讀
- ch340g單片機下載程序電路原理 7.9w次閱讀
- 針對常用51單片機下載程序問題做下詳解 1.5w次閱讀
- ARDUINO IDE編寫和AVR單片機程序的下載 1w次閱讀
- STC單片機程序燒錄與ISP下載相關知識 1w次閱讀
- 單片機學習知識點全攻略(完結篇) 2.9w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論