




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目 錄一、設計電子琴的作用與目的1二、電子琴設計要求1三、電子琴設計所用設備及軟件2四、電子琴系統(tǒng)設計方案2五、電子琴系統(tǒng)硬件設計35.1 琴鍵控制電路35.1.1 矩陣式鍵盤35.1.2 獨立式鍵盤45.1.3 方案比較45.2 數(shù)碼管顯示電路55.2.1 led數(shù)碼管顯示原理55.2.2 led數(shù)碼管靜態(tài)顯示55.2.3 led數(shù)碼管動態(tài)顯示65.2.4 方案比較75.3 音頻功放電路75.4 時鐘-復位電路85.4.1 時鐘電路85.4.2 復位電路85.5 電源電路95.6 整體電路10六、電子琴系統(tǒng)軟件設計106.1 系統(tǒng)硬件接口定義106.2 主函數(shù)106.3 初始化函數(shù)116.4
2、 數(shù)碼管顯示函數(shù)116.5 中斷函數(shù)116.6 鍵值掃描函數(shù)126.7 音頻處理函數(shù)13七、電子琴設計調試147.1 調試工具147.2 調試結果147.3 電子琴設計中的問題及解決方法15八、電子琴設計總結15參考文獻17附錄1:電子琴系統(tǒng)原理圖18附錄2:源程序19基于51單片機的電子琴設計在電子音樂領域,電子音調作為現(xiàn)代電子科技與音樂結合的產(chǎn)物,它在現(xiàn)代音樂中扮演著重要的角色。目前,由于電子音樂的普及,電子音調合成器(合成器實際上就是一臺聲音的頻率合成儀,可以制作各種聲音,改變各種音色)可以解決相當一部分的歌唱及舞廳的伴奏問題。其中,電子琴就是一種新型的鍵盤電子樂器。一、設計電子琴的作用
3、與目的音樂教育是學校美育的主要途徑和最重要內容,它在陶冶情操、提高素養(yǎng)、開發(fā)智力,特別是在培養(yǎng)學生創(chuàng)新精神和實踐能力方面發(fā)揮著獨特的作用。近年來,我國音樂教育在理論與實踐上都取得了有目共睹的成績,探索并形成了具有中國特色的、較為完整的音樂教育教學體系。但我國音樂教育的改革力度離素質教育發(fā)展的要求還存在一定距離。如今,電子琴作為電子時代的新產(chǎn)物以其獨特的功能和巨大的兼容性被人們廣泛的接受和推崇。而在課堂教學方面,它擁有其它樂器無法比擬的兩個瞬間:瞬間多元素思維的特殊的彈奏方法;瞬間多聲部(包括多音色 )展示的樂隊音響效果的特點。結合電子琴自身強大的功能及獨特的優(yōu)點來進行音樂教育的實施,這樣就應該
4、大力推廣電子琴進入音樂教室,讓電子琴教學在音樂教育中發(fā)揮巨大的作用?,F(xiàn)代樂器中,電子琴是高新科技在音樂領域的一個代表,體現(xiàn)了人類電子技術和藝術的完美結合。電子琴自動伴奏的穩(wěn)定性、準確性,以及鮮明的強弱規(guī)律、隨人設置的速度要求,都更便于人們由易到難、深入淺出的準確掌握歌曲節(jié)奏和樂曲風格,對其節(jié)奏的穩(wěn)定性和準確性訓練能起到非常大的作用。電子琴所包含的巨量的音樂信息和強大的音樂表現(xiàn)力可以幫助音樂教學更好地貫徹和落實素質教育,更有效地提高人們的音樂素質和能力。目前,市場上的電子琴可謂琳瑯滿目,功能也是越來越完備。以單片機作為主控核心,設計并制作的電子琴系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單、軟件功能完善、
5、控制系統(tǒng)可靠、性價比較高等,具有一定的實用與參考價值。這就為電子琴的普及提供了方便。二、電子琴設計要求本設計主要是用at89c51單片機為核心控制元件,設計一臺電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有8個按鍵和1個復位按鍵。本系統(tǒng)主要是完成2大功能:音樂自動播放、電子琴彈奏。關于聲音的處理,使用單片機c語言,利用定時器來控制頻率,而每個音符的符號只是存在自定義的表中??傊?,本設計的電子琴有以下要求:(1)用鍵盤作出電子琴的按鍵,共7個,每鍵代表1個音符。各音符按照符合電子 琴的按鍵順序排列;(2)達到電子琴的基本功能,可以用彈奏出簡單的樂曲;(3)
6、不彈奏時,利用功能鍵可以播放內置音樂。三、電子琴設計所用設備及軟件 本設計除了需要計算機,還會用到三款軟件:作圖軟件protel99se、仿真軟件proteus、編程軟件keil uvision4。關于這三種軟件的簡介如表1所示。表1 軟件簡介軟件名稱軟件圖標主要特點作用備注protel99seprotel99se是pc環(huán)境下以獨特設計管理和協(xié)作技術為核心的印制電路板設計軟件系統(tǒng),是基于windows 95/98/2000/nt的全32位eda設計系統(tǒng)。它主要采用了smartdoc技術、smarttool技術、smartteam技術。繪制電路圖和pcb板proteusproteus軟件具有其它
7、eda工具軟件的功能,諸如:原理布圖、pcb自動或人工布線、spice電路仿真。除此之外還有一些革命性的特點:互動的電路仿真、仿真處理器及其外圍電路。數(shù)字電路仿真keil uvision4uvision4在uvision3 ide的基礎上,增加了更多大眾化的功能:多顯示器和靈活的窗口管理系統(tǒng);系統(tǒng)瀏覽器窗口的顯示設備外設寄存器信息;調試還原視圖創(chuàng)建并保存多個調試窗口布局;多項目工作區(qū)簡化與眾多的項目。編寫程序四、電子琴系統(tǒng)設計方案本系統(tǒng)采用at89c51為主控芯片,因其精度較高,操作比較靈活,輸入電路和輸出電路由芯片來進行處理,電路的系統(tǒng)的穩(wěn)定性高,功耗小。其中,輸入電路有8個獨立按鍵,通過按
8、鍵隨意按下所要表達的音符,作為電平送給主體電路,中央處理器通過識別,解碼輸出音符,在揚聲器中發(fā)出有效的聲音。由于需要顯示的信息不多,顯示電路未采用液晶屏顯示,而是使用數(shù)碼管顯示電路負責顯示按下的琴鍵所對應的鍵值,這樣既節(jié)省了成本了,又降低了編程難度。時 鐘復位電路琴 鍵控制電路音 頻功放電路數(shù)碼管顯示電路 51單片機圖1 基于51單片機的電子琴電路的原理框圖如圖1所示基于單片機at89c51的電子琴電路,它主要由琴鍵控制電路、數(shù)碼管顯示電路、音頻功放電路、時鐘-復位電路和電源電路五部分所構成。五、電子琴系統(tǒng)硬件設計基于單片機at89c51的電子琴電路由琴鍵控制電路、數(shù)碼管顯示電路、音頻功放電路
9、、時鐘-復位電路和電源電路五部分所構成。琴鍵控制電路采用了8輸入與門芯片cd4068b,收集8個獨立按鍵的開關狀態(tài)信號,并觸發(fā)單片機的外部中斷來處理;而數(shù)碼管顯示電路負責顯示按下的琴鍵所對應的鍵值;同時,音頻功放電路也會播放琴鍵對應的音調;電源電路為整個電路提供能源。5.1 琴鍵控制電路琴鍵控制電路作為人機聯(lián)系的輸入部分,也是間接控制數(shù)碼顯示和音頻功放的重要組成部分。鍵盤按照連接方式可以分為獨立式和矩陣式鍵盤兩類。5.1.1 矩陣式鍵盤矩陣式(也稱行列式)鍵盤由行線和列線組成,按鍵位于行、列的交叉點上。由于矩陣式鍵盤中行、列線為多鍵共用,各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號配合,才
10、能確定閉合鍵位置。相對于獨立式鍵盤而言,軟件上編程會稍微復雜些。如圖2所示為4x4矩陣式鍵盤電路,由一個4x4的行、列結構可以構成一個16個按鍵鍵盤,再結合芯片74ls20來觸發(fā)中斷。在按鍵數(shù)目較多的場合,要節(jié)省較多的i/o口線。圖2 矩陣式鍵盤電路矩陣中無按鍵按下時,行線為高電平;當有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線的電平也為高,這是識別按鍵是否按下的關鍵所在。5.1.2 獨立式鍵盤圖3 獨立式鍵盤電路獨立式鍵盤的特點是一鍵一線,各鍵相互獨立,每個鍵各接一條i/o口線,通過檢測i/o輸入線的電平狀態(tài),可判
11、斷出被按下的按鍵。顯而易見,這樣電路簡單,各條檢測線獨立,識別按下按鍵的軟件編寫簡單。適用于鍵盤按鍵數(shù)目較少的場合,不適用于鍵盤按鍵數(shù)目較多的場合,因為將占用較多的i/o口線。獨立式鍵盤電路如圖3所示,8個獨立按鍵分別對應一個i/o口線,當某一按鍵按下時,對應的檢測線就變成了低電平,與其它按鍵相連的檢測線仍為高電平,只需讀入i/o輸入線的狀態(tài),判別哪一條i/o輸入線為低電平,很容易識別哪個鍵被按下。同時采用了8輸入與門芯片cd4068b,收集8個獨立按鍵的開關狀態(tài)信號,并觸發(fā)單片機的外部中斷來處理,大大提高了單片機cpu的利用率。5.1.3 方案比較對于以上兩種電路的的優(yōu)缺點比較如表2所示。由
12、于此次設計的琴鍵控制電路需要8個按鍵,故單純從i/o口線的占用的角度比較,獨立式需要占用8條i/o口線,而矩陣式卻只需6條。但是從程序編寫的難易程度來看,若使用矩陣鍵盤電路來設計會比獨立式鍵盤電路難一些,故選擇獨立式鍵盤電路比較合理。表2 獨立式和矩陣式的的優(yōu)缺點比較鍵盤類型優(yōu)點缺點獨立式編程簡單一鍵一線,占用i/o口線多矩陣式占用i/o口線較少,尤其是在按鍵數(shù)目多的時候優(yōu)勢明顯編程比較復雜5.2 數(shù)碼管顯示電路5.2.1 led數(shù)碼管顯示原理圖4 八段led數(shù)碼管結構及外形led(light emitting diode)發(fā)光二極管縮寫。led數(shù)碼管是由發(fā)光二極管構成的。常見的led數(shù)碼管為
13、“8”字型的,共計8段。它由七個條形發(fā)光二極管和一個小圓點發(fā)光二極管組成,每一段對應一個發(fā)光二極管。一般來說分共陽極和共陰極兩種接法,如圖4所示為八段led數(shù)碼管結構及外形。共陽極led數(shù)碼管的發(fā)光二極管的陽極連接在一起,公共陽極接正電壓,當某個發(fā)光二極管的陰極接低電平時,發(fā)光二極管被點亮,相應的段被顯示。反之,共陰極發(fā)光二極管的陰極連在一起,通常公共陰極接地。當陽極為高電平時,發(fā)光二極管點亮。 led數(shù)碼管的a至g七個發(fā)光二極管因接得電壓不同而導致不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼,如表3所示為八段led數(shù)碼管的字形碼表。表3 八段led數(shù)碼管的字形碼表顯示字符共陰極共陽
14、極顯示字符共陰極共陽極03fhc0hb7ch83h106hf9hc39hc6h258ha4hd5eha1h34fhb0he79h86h466h99hf71h8eh56dh92hh76h89h67dh82hl38hc7h707hf8hp73h8ch87fh80hu3ehc1h967h90h.80h7fha77h88h5.2.2 led數(shù)碼管靜態(tài)顯示靜態(tài)顯示方式即無論多少位led數(shù)碼管,同時處于顯示狀態(tài)。各位的共陰極(或共陽極)連接在一起并接地(或接+5v);每位的段碼線(adp)分別與一個8位的i/o口鎖存器輸出相連。如果送往各個led數(shù)碼管所顯示字符的段碼一經(jīng)確定,則相應i/o口鎖存器鎖存的段
15、碼輸出將維持不變,直到送入另一個字符的段碼為止。由此可知:靜態(tài)顯示方式的顯示無閃爍,亮度都較高,軟件控制比較容易。另外,在顯示位數(shù)較多的情況下,所需的電流比較大,對電源的要求也就隨之增高,這時一般都采用動態(tài)顯示方式。如圖5所示為四位七段數(shù)碼管靜態(tài)顯示電路。圖5 四位七段數(shù)碼管靜態(tài)顯示電路5.2.3 led數(shù)碼管動態(tài)顯示靜態(tài)顯示方式就是無論在任何時刻只有一個led數(shù)碼管處于顯示狀態(tài),即單片機采用“掃描”方式控制各個數(shù)碼管輪流顯示。在多位led顯示時,為簡化硬件電路,通常將所有顯示位的段碼線的相應段并聯(lián)在一起,由一個8位i/o口控制,而各位的共陽極或共陰極分別由相應的i/o線控制,形成各位的分時選
16、通。如圖6所示為四位七段數(shù)碼管動態(tài)顯示電路。圖6 四位七段數(shù)碼管動態(tài)顯示電路動態(tài)顯示的優(yōu)點是硬件電路簡單,顯示器越多,優(yōu)勢越明顯。缺點是顯示亮度不如靜態(tài)顯示的亮度高。如果“掃描”速率較低,會出現(xiàn)閃爍現(xiàn)象。5.2.4 方案比較對于以上兩種數(shù)碼管驅動電路的的優(yōu)缺點比較如表4所示。由于靜態(tài)驅動方式的顯示無閃爍,亮度較高,編程簡單,加上本次設計的數(shù)碼管顯示電路只需要1個數(shù)碼管,故選擇靜態(tài)驅動方式來顯示數(shù)碼管更為合理。如圖7所示為數(shù)碼管顯示電路,采用靜態(tài)驅動方式和共陽極接法,滿足本次設計要求。表4 兩種數(shù)碼管驅動電路的的優(yōu)缺點比較驅動方式優(yōu)點缺點靜態(tài)顯示顯示無閃爍,亮度較高,編程簡單數(shù)碼管越多,所需的電
17、流越大,電源的要求越高動態(tài)顯示電路簡單,數(shù)碼管越多,優(yōu)勢越明顯不如靜態(tài)顯示的亮度高,可能出現(xiàn)閃爍現(xiàn)象圖7 數(shù)碼管顯示電路圖8 音頻功放電路5.3 音頻功放電路如圖8所示音頻功放電路,它主要由音頻集成功放芯片lm386和揚聲器組成。其中,lm386作為一種音頻集成功放,具有自身功耗低、電壓增益可調整、電源電壓范圍大、外接元件少和諧波失真小等優(yōu)點,廣泛應用于錄音機和收音機之中。電位器rp是用來調節(jié)聲音的大小。5.4 時鐘-復位電路5.4.1 時鐘電路時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式,一種是內部時鐘方式,另一種是外部時鐘方式。圖9 時
18、鐘電路at89c51內部有一個用于構成振蕩器的高增益反相放大器,輸入端為芯片引腳xtal1,輸出端為引腳xtal2。這兩個引腳跨接石英晶體振蕩器和微調電容,構成一個穩(wěn)定的自激振蕩器,圖9是at89s51內部時鐘方式的電路,c1和c2的典型值通常選擇為30pf,石英晶體常選6mhz或12mhz的。本設計采用內部時鐘方式做時鐘電路。5.4.2 復位電路單片機的初始化操作,給復位腳rst加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就使at89c51復位。這些操作都是由復位電路來實現(xiàn)。在單片機的實用系統(tǒng)中,一般有兩種復位操作形式:上電復位和手動復位。圖10 復位電路上電復位在單片機系統(tǒng)每次通電
19、時執(zhí)行。上電時,電容c 充電加給rst引腳一個短的高電平信號,此信號隨著vcc對電容c 的充電過程而逐漸回落,即rst引腳上的高電平持續(xù)時間取決于電容c 充電時間。為保證系統(tǒng)可靠復位,rst引腳上的高電平必須維持足夠長的時間。手動復位在系統(tǒng)出現(xiàn)操作錯誤或程序運行出錯時使用。在單片機系統(tǒng)運行過程中,按下復位鍵,高電平輸入rst引腳,單片機被強制執(zhí)行復位操作,系統(tǒng)可以退出錯誤運行狀態(tài),恢復正常工作。由于本設計的需要,同時采用這兩種復位方式,如圖10所示復位電路。5.5 電源電路當今社會大到超級計算機、小到袖珍計算器,所有的電子設備都必須在電源電路的支持下才能正常工作。直流穩(wěn)壓電源在電源技術中占有十
20、分重要的地位。直流電源電路由降壓變壓器、全波整流、濾波、穩(wěn)壓電路構成,其組成結構如圖11所示。圖11 直流電源電路組成結構圖變壓器整流電路濾波電路穩(wěn)壓電路220v50hz根據(jù)設計需要做+5v和+12v直流穩(wěn)壓電源電路,其電路圖如圖12和13所示。交流電壓通過變壓器t1降壓得到,然后由v7v10四個整流二極管組成的電橋進行整流得到直流電壓,再經(jīng)由電解電容和非極性電容構成的濾波網(wǎng)絡和三端穩(wěn)壓器lm7812和lm7805的穩(wěn)壓作用后,分別輸出+12v和+5v的直流電壓。理論計算如下: 對a點有:(5-1)的壓降為(5-2)(5-3)由式(5-1)、(5-2)、(5-3)可得:(5-4)圖12 12v
21、轉5v電源電路圖若要求將220v交流電壓轉換成直流電壓,由式(5-4)可知:變壓器t1的變比為。圖13 220v轉12v電源電路圖5.6 整體電路基于單片機at89c51的電子琴電路由琴鍵控制電路、數(shù)碼管顯示電路、音頻功放電路、時鐘-復位電路和電源電路五部分所構成。琴鍵控制電路采用了8輸入與門芯片cd4068b,收集8個獨立按鍵的開關狀態(tài)信號,并觸發(fā)單片機的外部中斷來處理;而數(shù)碼管顯示電路負責顯示按下的琴鍵所對應的鍵值;同時,音頻功放電路也會播放琴鍵對應的音調;電源電路為整個電路提供能源。整體電路圖見附錄1。六、電子琴系統(tǒng)軟件設計系統(tǒng)功能的實現(xiàn)一般包括硬件部分和軟件部分,一旦硬件確定下來,軟件
22、要實現(xiàn)的功能也隨之確定。而為使編程思路清晰,應先繪制程序流程圖。6.1 系統(tǒng)硬件接口定義系統(tǒng)硬件接口定義如表5所示。表5 系統(tǒng)硬件接口定義引腳號引腳名接口說明備注3932p0.0p0.7數(shù)碼管與單片機通信口18p1.0p1.7獨立按鍵接口12int0外部中斷源輸入端10p3.0控制蜂鳴器圖14 主函數(shù)流程圖開始數(shù)碼管顯示初始化音頻處理6.2 主函數(shù)主函數(shù)流程圖如圖14所示。利用模塊化的思想,主函數(shù)只執(zhí)行初始化函數(shù)、音頻處理函數(shù)和數(shù)碼管顯示函數(shù)。另外,鍵碼的識別與刷新是通過中斷函數(shù)來完成。void main( )init( );while(1)初始化開始結束圖15 初始化流程圖關閉數(shù)碼管外部中斷
23、邊沿觸發(fā)允許外部中斷開總中斷關閉定時器允許定時器中斷定時器工作方式sound_player();/音頻處理函數(shù)led_display();/數(shù)碼管顯示鍵值6.3 初始化函數(shù)初始化的流程框圖如圖15所示。該函數(shù)對所需的i/o口、外部中斷0、定時器0以及數(shù)碼管進行初始化配置。 void init(void)p0 = 0xff;/先將p0口置為1,即關閉數(shù)碼管speaker = 0;it0 = 1;/外部中斷0邊沿觸發(fā)ex0 = 1;/外部中斷0允許tmod = 0x01;/定時器方式1et0 = 1;/定時器0中斷允許tr0 = 0;/關定時器0ea = 1;/開總中斷ynn執(zhí)行代碼1y功能鍵鍵碼
24、?數(shù)碼顯示開始結束音調鍵鍵碼?圖16 數(shù)碼顯示流程圖執(zhí)行代碼2 6.4 數(shù)碼管顯示函數(shù)數(shù)碼顯示的流程框圖如圖16所示。此函數(shù)根據(jù)鍵值掃描函數(shù)讀取的鍵碼,結合數(shù)碼管顯示出來。若判斷是音調鍵將會顯示數(shù)字17其中之一;若判斷是功能鍵將會顯示字母a、b、c其中之一。void led_display(void)if(keycode0 & keycode8)p0 = tablekeycode;/dosi七個音調鍵分別顯示17else if(keycode = 8)p0 = tabletime + 9;/特殊功能鍵分別顯示a、b、ctr0 = 0; /關定時器06.5 中斷函數(shù)中斷函數(shù)用到了外部中斷和定時器
25、中斷。鍵盤中斷的流程框圖如圖17所示,當按鍵按下時,外部信號觸發(fā)外部中斷,執(zhí)行鍵值掃描函數(shù),讀取對應的鍵值。定時中斷的流程框圖如圖18所示,定時器溢出中斷后,進行重裝載初值,同時執(zhí)行相應的音頻控制操作。鍵盤中斷開始鍵值掃描圖17 鍵盤中斷流程圖結束重裝初值定時中斷開始結束圖18 定時中斷流程圖p3.0取反6.6 鍵值掃描函數(shù)圖19 按鍵被按下時電壓的變化由于本設計采用的是接觸開關式按鍵,故不可避免存在機械抖動。按鍵被按下是,其觸點電壓變化過程如圖19所示。這種抖動會使系統(tǒng)處于不穩(wěn)定狀態(tài),故需要進行消抖處理。抖動時間的長短和按鍵的機械特性有關,一般為510ms。通常手動按下鍵然后立即釋放,這個操
26、作中穩(wěn)定閉合的時間超過20ms,因此單片機在檢測按鍵是否按下時都需要加上去抖動操作,有專門的去抖動電路或則芯片,但同用軟件延時的方法也能輕易解決抖動問題,沒必要添加多余的硬件。本設計是用軟件消抖方法編寫一個消抖程序。當按鍵按下去后,首先對其進行連續(xù)兩次取樣,如果兩次都為低電平,則輸出低電平;如果其中有一次高電平,則輸出高電平。鍵盤的每一行通過一個上拉電阻接高電平,當按鍵按下時,對應的i/o口線被拉低。如表6所示按鍵編碼關系表。鍵值掃描函數(shù)的流程圖如圖20所示。表6 按鍵編碼關系表按鍵名稱鍵碼(十六進制)按鍵名稱鍵碼(十六進制)k10xfek50xefk20xfdk60xdfk30xfbk70x
27、bfk40xf7k80x7f按鍵掃描開始有按鍵按下?有按鍵按下?按鍵釋放?執(zhí)行相應代碼延時10ms結束nyyynn圖20 鍵值掃描流程圖void key_scan(void)uint key;key = p1; /讀取p1口狀態(tài)switch(key)/鍵值 case 0xfe: /dodelayms(10);/消抖if(key = 0xfe)keycode = 1;while(p1 != 0xff); /等待按鍵釋放break; 6.7 音頻處理函數(shù)樂曲由一些不同的音階構成,而每個音階對應著不同的頻率,即利用單片機的定時器來產(chǎn)生所需要方波頻率信號的組合,可構成所想要的樂曲。本系統(tǒng)設計單片機配有
28、12mhz晶振,利用at89c51的內部定時器使其工作定時器模式的工作方式1下,其對應的定時器初值計算公式為:式中t為定時時間,是所需頻率的倒數(shù)。如表7所示為所需頻率對應的定時器初值表(簡稱頻率-初值表)。如圖21所示音頻處理函數(shù)的流程圖。表7 頻率-初值表音調簡譜(鍵值)頻率(hz)定時器初值(16進制)備注do15230fbe9h此處的定時器初值是在工作方式1和12mhz晶振時算得的re25870fc5fhmi36590fcc1hfa46980fcefhso57540fd45hla68800fd92hsi79880fdd6hvoid sound_player(void)if(flag =
29、0) /dosi七個音調鍵ynn單個音調播放y功能鍵鍵碼?音頻處理開始結束音調鍵鍵碼?圖21 音頻處理流程圖樂曲播放flag = 1; switch(keycode) case 1: /doth0code = 0xfb;tl0code = 0xe9;th0 = th0code;/置初值tl0 = tl0code; tr0 = 1; /開定時器0speaker = speaker;break; 七、電子琴系統(tǒng)調試由于沒有硬件設備,所以無法進行硬件調試,但這并不妨礙軟件調試。利用仿真軟件proteus和編程軟件keil uvision4進行調試程序。7.1 調試工具proteus軟件是英國labc
30、enter electronics公司研發(fā)的eda工具軟件。它是一個集模擬電路、數(shù)字電路、模/數(shù)混合電路以及多種微控制器系統(tǒng)為一體的系統(tǒng)設計和仿真平臺。是目前同類軟件中最先進、最完整的電子類仿真平臺之一。它真正實現(xiàn)了在計算機上完成從原理圖、電路分析與仿真、單片機代碼調試與仿真、系統(tǒng)測試與功能驗證到pcb板生成的完整的電子產(chǎn)品研發(fā)過程。最新的keil uvision4 ide,旨在提高開發(fā)人員的生產(chǎn)力,實現(xiàn)更快,更有效的程序開發(fā)。keil uvision4引入了靈活的窗口管理系統(tǒng),能夠拖放到視圖內的任何地方,包括支持多顯示器窗口。keil uvision4在keil uvision3 ide的基
31、礎上,增加了更多大眾化的功能:多顯示器和靈活的窗口管理系統(tǒng);系統(tǒng)瀏覽器窗口的顯示設備外設寄存器信息;調試還原視圖創(chuàng)建并保存多個調試窗口布局;多項目工作區(qū)簡化與眾多的項目。7.2 調試結果利用proteus對電路進行仿真分析,電子琴電路的仿真電路圖如圖22所示。由于音頻功放電路采用了lm386芯片,使得音頻放大更加的穩(wěn)定和沒有雜音,進一步達到了實驗效果。但也一定瑕疵,按鍵按下后,延遲一會才有聲音。調試結果與設計的基本一致,如表8所示。表8 調試結果按鍵編號發(fā)聲音調數(shù)碼顯示內容備注s1do1s2re2s3mi3s4fa4s5so5s6la6s7si7s8播放樂曲13中之一a或b或c按8鍵切換播放樂
32、曲13圖22 電子琴電路仿真圖7.3 電子琴設計中的問題及解決方法電子琴的設計并非一帆風順,在這期間遇到了很多問題,下面談幾個關鍵的問題。首先是數(shù)碼管顯示亂碼的問題,原本以為是數(shù)碼管字形碼表的代碼有錯,檢查幾遍發(fā)現(xiàn)代碼沒錯,后來結合硬件圖一看,才知道硬件圖中數(shù)碼管是共陽極接法,軟件中的數(shù)碼管字形碼表是共陰極的。其二是按鍵引入中斷檢測時遇到的問題,要求8個按鍵任意鍵按都觸發(fā)外部中斷0,結果不經(jīng)思索就選用了一塊8輸入或門芯片,導致怎么按鍵盤都無法進入中斷函數(shù),于是懷疑是程序有錯,浪費了很多時間,最終發(fā)現(xiàn)是硬件邏輯錯誤,應該用與門才對。其三是揚聲器發(fā)出的音調不對,甚至沒有聲音,這個問題主要是功放模塊
33、沒有與揚聲器共地。八、電子琴設計總結 在電子音樂領域,電子音調作為現(xiàn)代電子科技與音樂結合的產(chǎn)物,它在現(xiàn)代音樂中扮演著重要的角色。目前,由于電子音樂的普及,電子琴就是一種新型的電子樂器。本設計基于單片機at89c51的電子琴電路由琴鍵控制電路、數(shù)碼管顯示電路、音頻功放電路、時鐘-復位電路和電源電路五部分所構成。琴鍵控制電路采用了8輸入與門芯片cd4068b,收集8個獨立按鍵的開關狀態(tài)信號,并觸發(fā)單片機的外部中斷來處理;而數(shù)碼管顯示電路負責顯示按下的琴鍵所對應的鍵值;同時,音頻功放電路也會播放琴鍵對應的音調;電源電路為整個電路提供能源。電子琴的設計并非一帆風順,在這期間遇到了很多問題,下面談幾個關
34、鍵的問題。首先是數(shù)碼管顯示亂碼的問題,原本以為是數(shù)碼管字形碼表的代碼有錯,檢查幾遍發(fā)現(xiàn)代碼沒錯,后來結合硬件圖一看,才知道硬件圖中數(shù)碼管是共陽極接法,軟件中的數(shù)碼管字形碼表是共陰極的。其二是按鍵引入中斷檢測時遇到的問題,要求8個按鍵任意鍵按都觸發(fā)外部中斷0,結果不經(jīng)思索就選用了一塊8輸入或門芯片,導致怎么按鍵盤都無法進入中斷函數(shù),于是懷疑是程序有錯,浪費了很多時間,最終發(fā)現(xiàn)是硬件邏輯錯誤,應該用與門才對。其三是揚聲器發(fā)出的音調不對,甚至沒有聲音,這個問題主要是功放模塊沒有與揚聲器共地。通過這次課程設計,感覺收獲頗多。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作,基本掌握了prote
35、l99se原理圖的方法以及怎么利用proteus進行數(shù)字電路仿真。除此之外,對51系單片機的接口有了更深層次的理解,熟悉了一些單片機常用的外圍電路引腳和連接方法,諸如led數(shù)碼管、鍵盤等等。在軟件方面,通過對外部中斷、定時器/計數(shù)器、i/o的使用,使得c語言編程能力也有了較大的進步。參考文獻1袁東.51單片機應用開發(fā)實戰(zhàn)手冊m.北京:電子工業(yè)出版社,2011.2沈紅衛(wèi).基于單片機的智能系統(tǒng)設計與實現(xiàn)m.北京:電子工業(yè)出版社,2005.3蘇麗萍.電子技術基礎m.西安:西安電子科技大學出版社,2002.4曾屹,彭楚武.單片機原理與應用(第2版)m.長沙:中南大學出版社,2009.5林立.單片機原理
36、及應用基于proteus和keil cm.北京:電子工業(yè)出版社,2009.6彭偉.單片機c語言程序設計實訓100例m.北京:電子工業(yè)出版社,2009.7顧濱,趙偉軍,諸杭.protel99se實用教程(第3版)m.北京:人民郵電出版社,2013.8王為青,程國剛.單片機keil cx51應用開發(fā)技術.m.北京:人民郵電出版社,2007.9單丹,馬淑云.基于at89c51單片機電子琴的設計j.中國高新技術企業(yè),2002,(10), 6-7.10石鑫.基于89c51單片機簡易電子琴的設計j.農(nóng)業(yè)裝備技術,2010,(5),59-61.11任肖麗,王驥.基于stc89c51單片機的電子琴設計j.電子
37、元器件應用,2010,(7), 27-31.12周潤景.proteus入門實用教程m.北京:機械工業(yè)出版社,2007.13 http:/ .14 .附錄1:電子琴系統(tǒng)原理圖附錄2:源程序#include#define uint unsigned int #define uchar unsigned char void init(void);/初始化void key_scan(void);/鍵值掃描void delayms(uint z);/延時void led_display(void);/數(shù)碼顯示void sound
38、_player(void);/音頻處理uint keycode;/鍵值uint time = 0; uint flag = 0;uint th0code,tl0code; sbit speaker = p30; /揚聲器控制引腳uint num = 0;uchar code table= /數(shù)碼管共陰碼表0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code music1_tab= /曲譜1碼表0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf
39、8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;uint code music2_tab=/曲譜2碼表64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178;uchar code music3_tab= /曲譜3碼表0x64,0x42,0x62,0x98,0x74,0x92,0x72,0x68,0x64,0x22,0x32,0x44,0x32,0x22,0x3c,0x64,0x42,0x62,0x94,0x04,0x82,0
40、x74,0x94,0x68,0x64,0x32,0x42,0x54,0x04,0x12,0x2c,0x74,0x94,0x98,0x84,0x72,0x82,0x98,0x72,0x82,0x92,0x72,0x72,0x62,0x42,0x22,0x3c,0x64,0x42,0x62,0x94,0x04,0x82,0x74,0x94,0x68,0x64,0x32,0x42,0x54,0x04,0x12,0x2c,0x00; /* 主函數(shù)*/void main()init();while(1)sound_player();/音頻處理函數(shù)led_display();/數(shù)碼管顯示鍵值/* 初始化函
41、數(shù)*/void init(void)p0 = 0xff;/先將p0口置為1speaker = 0;it0 = 1;/外部中斷0邊沿觸發(fā)ex0 = 1;/外部中斷0允許tmod = 0x01;/定時器方式1et0 = 1;/定時器0中斷允許tr0 = 0;/關定時器0ea = 1;/開總中斷/* 音頻處理函數(shù)*/void sound_player(void)if(flag = 0) /dosi七個音調鍵flag = 1; switch(keycode) case 1: /doth0code = 0xfb;tl0code = 0xe9;th0 = th0code;/置初值tl0 = tl0code; tr0 = 1; /開定時器0speaker = speaker;break; case 2: /reth0code = 0xfc;tl0code = 0x5c;th0 = th0code;/置初值tl0 = tl0code; tr0 = 1; /開
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西北大學《口腔醫(yī)學臨床前技能訓練(二)》2023-2024學年第二學期期末試卷
- 浙江汽車職業(yè)技術學院《數(shù)據(jù)分析與應用》2023-2024學年第二學期期末試卷
- 青島黃海學院《入侵檢測與入侵防御》2023-2024學年第二學期期末試卷
- 山東勝利職業(yè)學院《供應鏈與物流概論》2023-2024學年第二學期期末試卷
- 甘肅省定西市漳縣2025屆五年級數(shù)學第二學期期末統(tǒng)考模擬試題含答案
- 廣東茂名健康職業(yè)學院《高等藥理學(雙語)》2023-2024學年第二學期期末試卷
- 古希臘哲學和中國哲學
- 功放高頻移相
- 公共交通服務規(guī)范管理制度
- 工程項目成本控制的原則
- 火災自動報警系統(tǒng)施工過程檢查記錄
- TD/T 1069-2022 國土空間生態(tài)保護修復工程驗收規(guī)范(正式版)
- 踝關節(jié)扭傷康復治療
- FZ∕T 01085-2018 粘合襯剝離強力試驗方法
- 白龍江引水工程環(huán)境影響報告書(公示版)
- 《短視頻拍攝與制作》課件-3短視頻中期拍攝
- 瀏陽煙花術語大全
- 居民心理健康知識講座課件
- 2024年英語專業(yè)四級考試真題及詳細答案
- 成語故事葉公好龍
- MHT:中小學生心理健康檢測(含量表與評分說明)
評論
0/150
提交評論