健康.華美-時尚討論區's Archiver

iatricwwe2395 發表於 2013-2-21 21:22

單片機演奏音樂

利用單片機演奏音樂大概是單片機愛好者感興趣的問題之一。這裏我們用網站提供的實驗板來做這個實驗,並且瞭解單片機演奏音樂的基本原理,和相關的根源程式。

  首先來完成必要的硬體部分,硬體部分比較簡單,如下圖:

  

  AT89C51單片機的P2.5口控制一個8550的三極管,三極管控制電磁蜂鳴器的電源通斷。

  我們知道,聲音的頻譜範圍約在幾十到幾千赫茲,若能利用程式來控制單處機某個口線的高電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭就能發出一定頻率的聲音,若再利用延時程式控制“高”“低”電平的持續時間,就能改變輸出頻率,從而改變音調。

  例如,要產生200HZ的音頻信號,200HZ音頻的變化週期為1/200秒,即5ms。這樣,當P2.5的高電平或低電平的持續時間為2.5ms時就能發出200HZ的音調。

  樂曲中,每一音符對應著確定的頻率,我們將每一音符的時間常數和其相應的節拍常數作為一組,按順序將樂曲中的所有常數排列成一個表,然後由查表程式依次取出,產生音符並控制節奏,就可以實現演奏效果。

  此外,結束符和體止符可以分別用代碼00H和FFH來表示,若查表結果為00H,則表示曲子終了;若查表結果為FFH,則產生相應的停頓效果。

  為了產生手彈的節奏感,在某些音符(例如兩個相同音符)音插入一個時間單位的頻率略有不同的音符。

頁: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.