簡易電子琴設計電路圖(一)
電子琴穩定的+5V電源的電路如圖所示。
電子琴電源電路
電路工作原理:集成塊ICCA6722是該電源電路的核心元件。它能輸出精確而穩定的+5V直流電壓。從IC第1腳輸人+9V直流電壓,經IC內電路穩壓后,由其第6腳和第8腳輸出+5V電壓。電壓VDD為ROM、RAM以及CPU中的部分電路供電(CPU中其他電路的工作電壓也由VDD供給)。電壓V(A)DD用于電子琴中模擬電路的小信號部分。電壓V(D)DD供電子琴中其他數字電路使用。開關晶體管V受控于IC第3腳。V導通時,輸出VCC(+9V)電壓,為兩路功率放大器供電。C點接受來自CPU的自動電源控制信號。VDD電壓不受C點電平控制,電子琴接通電源時,IC輸出VDD電壓,CPU中的部分電路工作,使C點為高電平(+5V)。該高電平送入IC第10腳,不僅控制IC第6腳輸出V(A)DD電壓和V(D)DD電壓,并且使IC第3腳輸出控制信號,開關管V導通,輸出VCC電壓。若在17min內未彈奏電子琴,CPU會發生指令,使C點自動變為低電平,切斷V(A)DD、V(DDD和Vcc三路電壓的輸出。
二極管VD1、VD2可防止因外接電源正、負極接反而損壞電路元件。二極管VD3能保證當外接電源斷電時,自動切換為機內電池供電。
簡易電子琴設計電路圖(二)
簡易電子琴設計電路圖(三)
SPCE061A做的小型電子琴
我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制 單片機 某個端口的“高”電平或低電平,則在該端口上就能產生一定頻率的矩形波,接上喇叭就能發出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續時間,就能改變輸出頻率,從而改變音調。樂曲中,每一音符對應著確定的頻率,這個小制做是采用凌陽SPCE061A的DAC輸出來實現,具體做法是,先建立一個有兩百個數據的音頻數據表,當按不同的按鍵即以不同的頻率往DAC上送數據,從而達到輸出不同音符的目的,為了達到電子琴的效果,當然還得在程序方面稍作修飾了,下面將就具體硬件電路進行說明。
鍵盤控制電路:
在這里采用矩陣式排列鍵盤,如圖所示,這樣可以合理應用硬件資源,把16只按鍵排列成4*4矩陣形式,用一個8位I/O口控制如圖所示。把鍵盤上的行和列分別接在IOA0~IOA3和IOA4~IOA7上。
圖 按鍵控制電路
先置IOA0~IOA3為帶數據緩存器的高電平輸出,置IOA4~IOA7為帶下拉電阻的輸管腳,此時若有鍵按下,取IOA4~IOA7的數據將得到一個值,把此值保存下來,再置IOA4~IOA7為帶數據反相器的高電平輸出,置IOA0~IOA3為帶下拉電阻的輸入管腳,此時若鍵仍沒彈起,取IOA0~IOA3的數據將得到另一個值,把這兩個值組合就可得知是哪個鍵按下了,再通過匹配得到鍵值,實際上在這個小設計中只用到了8個按鍵,但考慮到為廣大電子愛好者自由發揮預留了八個按鍵,您可以自己設計加入別的音符或是別的好玩的啊。
音頻放大電路:
凌陽SPCE061A 單片機 自帶雙通道DAC音頻輸出, DAC1、DAC2轉換輸出的模擬量電流信號分別通過AUD1和AUD2管腳輸出, DAC輸出為電流型輸出,經LM396音頻放大,即可驅動喇叭放音,放大電路如圖三(只列出了DAC1,DAC2類似)。在DAC1、DAC2后面接一個簡單的音頻放大電路和喇叭就能實現語音播報功能,這為單片機的音頻設計提供了極大方便,音頻的具體功能主要通過程序來實現。
簡易電子琴設計電路圖(四)
簡易電子琴設計電路圖(五)
25鍵多功能電子琴電路圖
簡易電子琴設計電路圖(六)
通過單片機實現電子琴演奏,實質就是將不同按鍵和特定頻率的方波信號對應起來,以方波信號驅動蜂鳴器發出樂音。下面簡單介紹一下樂音的特性。樂音實際上是有固定頻率的信號。在音樂理論中,把一組音按音調高低的次序排列起來就成為音節,也就是1、2、3、4、5、6、7和高音1。高音1的頻率正好是中音1頻率的2倍,而且音節中各音的頻率跟1的頻率之比都是整數之比。
為了發出某一特定頻率的樂音,可以控制單片機的一個I/O口產生該頻率的方波信號,經過電流放大后驅動蜂鳴器發出該樂音。對于方波的產生,可以啟用單片機的一個定時器進行計時,產生溢出中斷。中斷發生時,將輸出引腳的電平取反,然后重新載入計數器初始值。
因此,正確的設置定時器的工作模式和初始計數值是發出樂音的基礎。例如中音1,其頻率是523Hz,則周期為T=l/523=1912μs,半個周期為956μs。根據單片機計數器計數的機器周期,就可以算出計數器的預置初始值應為多少。例如,假設采用的單片機的一個計數周期需要12個時鐘周期,當采用12MHz晶振時,一個計數周期即lμs。要定時956μs,只需設置其計數初值為計數最大計數值減去956。對應不同的按鍵,調節Tl的溢出時間,即可輸出不同頻率的樂音,這樣就實現了簡易電子琴的設計。
形成每個樂音音高的頻率是固定的,下表列出了一個8度以及其上下共16個音的音名、頻率及定時器Tl初值對照(設晶體頻率為12MHz)。
該簡易電子琴的硬件電路設計較簡單,通過Pl口進行按鍵掃描,從P0.1口輸出方波信號,經三極管放大后驅動蜂鳴器發出聲響。系統硬件電路如下圖所示。
簡易電子琴設計電路圖(七)
時鐘電路
本系統的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。
MCS-51內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容CX1和CX2構成并聯諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩定性、起振的快速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為16PF。
復位電路
在復位電路方案挑選的時候有兩種選擇的,上電復位和按扭復位,上電復位是利用電容充電來實現的,而按扭復位是電源對外節電容的充電使RST為高電平,復位松開后,電容通過下拉電阻放電,使RST恢復低電平。為了制作軟件的方便我們還是選擇用按扭復位,因為它比較直觀。
鍵盤彈奏
本系統利用P1為按鍵接入口,琴鍵輸入是通過獨立式鍵盤來完成的。由于89C51單片機的八位I/O口足以能實現控制各音階的輸出,并且獨立式鍵盤的編程容易易懂,結構簡單,實現起來方便,而且每個按鍵單獨占有一根I/O接口線,每個I/O口的工作狀態互不影響,所以采用獨立式鍵盤。利用靜態掃描的方法,在P0口輸出,當每次按下一個琴鍵,在共陽極數碼管顯示相對應的鍵碼號,這樣可以使彈奏者清楚知道自己彈奏的音譜。
揚聲器電路
揚聲器發生原理:只要讓揚聲器(speaker)通過會產生大小變化的電流,就能使揚聲器發出聲音。因此,若以程序不斷地輸出1-》0-》1-》0-》。就可令揚聲器發出聲音。對檢測到得按鍵值進行判斷后,是琴鍵則跳轉至琴鍵處理程序,根據檢測到得按鍵值,查詢音律表,給計時器賦值,使發出相應頻率的聲音。檢測到按鍵按下的是自動播放歌曲功能鍵后執行該程序,揚聲器會自動播放事先已經存放好的歌曲,直到歌曲播放完畢。
總電路圖
簡易電子琴設計電路圖(八)
基本樂理知識
音調主要由聲音的頻率決定,樂音(復音)的音調更復雜些,一般可認為主要由基音的頻率來決定。也即一定頻率的聲音對應特定的樂音。在以C調為基準音的八度音階中,所對應的頻率如表1所示。如果能夠通過某種電路結構產生特定頻率的波形信號,再通過揚聲器轉換為聲音信號,就能制作出簡易的樂音發生器,再結合電子琴的一般結構,就可實現電子琴的制作了。
設計電路圖如圖所示。
圖即是八音階微型電子琴的原理電路圖,8個開關對應著電子琴8個音階琴鍵,使用時只能同時閉合一個開關。
在實際電路中,為達到起振條件AF》1,常用兩個二極管與電阻并聯,可實現類似于熱敏電阻的功效。另外需要說明的是,理論上電路的初始信號是由環境噪聲及電路本身的電壓提供的。實際操作時,為使現象更明顯,也可通過對電路中的電容充電來實現。
另外,電路中的運算放大器芯片LM324工作電壓要求是±5V,所以還需要用7809穩壓管、整流橋等元器件制作帶負電源的電源電路,同電子琴電路一塊整合到電路板上,制作成可直接使用的完整成品。
評論