版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.z---.--總結資料**理工大學?單片機應用與仿真訓練?設計報告模擬電子琴發(fā)聲控制系統(tǒng)姓名:學號:專業(yè)班級:指導教師:所在學院:電氣工程與自動化學院2012年6月27日摘要本設計是一個基于單片機的簡易電子琴,它是以單片機作為主控核心,設置鍵盤、蜂鳴器等外圍器件;另外還用到一些簡單器件如:NPN型三極管及電阻等。利用按鍵實現音符和音調的輸入;用NPN型三極管8550實現低音頻功率放大;最后用蜂鳴器進展播放“世上只有媽媽好〞。本設計硬件局部主要由最小系統(tǒng),按鍵系統(tǒng)模塊、數碼管顯示模塊和蜂鳴器模塊組成。其軟件局部主要有主程序模塊、定時中斷程序、定時計數程序、顯示程序?!?〕最小系統(tǒng):它是單片機應用系統(tǒng)的設計根底。它包括單片機的選擇、時鐘系統(tǒng)設計、復位電路設計、簡單的I/O口擴展、掉電保護等?!?〕按鍵系統(tǒng)模塊:本設計采用10個按鍵,其中7個按鍵用來顯示7個音調,其它3個按鍵可以進展上下中音的切換,并自動播放已存歌曲?!?〕蜂鳴器模塊:此電子琴發(fā)音電路是通過三極管驅動蜂鳴器發(fā)音,經過上拉電阻提高驅動能力。本次設計首先對單片機設計簡易電子琴仔細分析,接著制作硬件電路和編寫軟件的程序,最后進展軟硬件的調試運行。并且從原理圖,主要芯片,各模塊的原理和各個模塊的程序調試來闡述。利用單片機產生不同頻率來獲得我們要求的音階,實現高、中、低共21個音符的發(fā)音和顯示和音樂播放時的控制顯示,并且能自動播放程序中編排的音樂。系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比高等,具有一定的使用和參考價值。目錄TOC\o"1-2"\h\u167851.概述 3142541.1設計背景 346661.2設計意義 3308761.3設計任務 375092.系統(tǒng)總體方案及硬件設計 4147822.1總體設計 4200252.2單片機選型 4305522.3原理框圖 5234432.4顯示局部設計 539352.5按鍵局部設計 577972.6發(fā)音局部設計 7196373.系統(tǒng)軟件設計 8242233.1系統(tǒng)分析 813643.2參數計算 1093573.3程序設計 12211914.Proteus軟件仿真 1547604.1硬件調試 15269064.2軟件調試 15269064.3仿真結果 158714.4結果分析 16317325.課程設計體會 176428參考文獻 1821928附1源程序代碼 1910926附2系統(tǒng)原理圖 241.概述1.1設計背景隨著電子科學技術的飛速開展,電子技術正在逐漸改善著人們的學習、生活、工作,因此開發(fā)本系統(tǒng)希望能夠給人們帶來更多的生活樂趣。基于當前市場上的玩具需求量增大,其中電子琴就是一個很好的應用方面。單片機技術使我們可以利用軟硬件來實現電子琴的功能,從而可以實現電子琴的微型化,可以用作玩具琴、音樂轉盤以及音樂童車等等。并且可以進展一定的功能擴展。鑒于傳統(tǒng)電子琴可以用鍵盤上的“1〞到“A〞鍵演奏從低So到高DO等11個音,從而也可以通過單片機實現對十個按鍵的擴展,實現七個音符鍵的高、中、低21個音調的顯示播放和任意音樂的自動播放。該設計將十個音鍵制作成獨立鍵盤,其中七個為音符鍵,三個為控制鍵,并用數碼管進展顯示,使電子琴的功能更加完美。不但可以實現對按鍵的顯示,而且可以實現對音樂的自動存儲和播放,使該設計功能更加完善。1.2設計意義該設計具有以下優(yōu)點:①可以方便得知播放的音符和音調;②比傳統(tǒng)電子琴功能更完善;③制作簡單,本錢低;1.3設計任務實現電子琴發(fā)聲控制系統(tǒng);要求電路實現如下功能:利用蜂鳴器作為發(fā)聲部件,設置10個按鍵,實現高音、中音、低音的1、2、3、4、5、6、7的發(fā)音。并在存儲一首歌曲的內容,可以實現自動播放。用PROTEUS實現的電子琴仿真設計說明:單片機的工作時鐘頻率為11.0592MHz。2.系統(tǒng)總體方案及硬件設計2.1總體設計采用AT89S52單片機作為主控芯片,設置鍵盤、蜂鳴器等外圍器件,另外還用到一些簡單器件如:NPN型三極管及電阻等。利用按鍵實現音符和音調的輸入;兩位的數碼管進展被操作的按鍵顯示;用NPN型三極管8550實現低音頻功率放大;最后用蜂鳴器發(fā)音。2.2單片機選型硬件電路要以單片機作為主控芯片,實現按鍵輸入音符和音調,兩位數碼管的顯示以及低音頻功率放大和蜂鳴器發(fā)音。針對本設計的功能和用途,采用AT89S51單片機更好,實現功能完全,性價比較高,更適合本設計。時鐘電路單片機內部具有一個高增益反相放大器,用于構成振蕩器。通常在引腳*TALl和*TAL2跨接石英晶體和兩個補償電容構成自激振蕩器,構造圖2中*1、C1、C2。可以根據情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補償電容通常選擇30pF左右的瓷片電容。圖2-1、時鐘電路復位電路單片機小系統(tǒng)常采用上電自動復位和手動按鍵復位兩種方式實現系統(tǒng)的復位操作。上電復位要求接通電源后,自動實現復位操作。手動復位要求在電源接通的條件下,在單片機運行期間,用按鈕開關操作使單片機復位。其構造如以下圖。上電自動復位通過電容C3充電來實現。手動按鍵復位是通過按鍵將電阻R1與VCC接通來實現。圖2-2、復位電路2.3原理框圖本系統(tǒng)有主控芯片89S52、發(fā)音單元、顯示模塊、按鍵模塊組成。LED顯示模塊89S52單片機LED顯示模塊89S52單片機按鍵控制模塊按鍵控制模塊發(fā)音模塊發(fā)音模塊圖2-3、原理框圖2.4按鍵局部設計鍵盤設計鍵盤在單片機應用系統(tǒng)中是一個關鍵的部件,它能實現向計算機輸入數據,傳送命令等功能,是人工干預計算機的主要手段。鍵盤可以分為2類:獨立連接式鍵盤和矩陣式鍵盤。獨立連接式鍵盤獨立式按鍵是直接用I/O口線構成的單個按鍵電路,其特點是每個按鍵單獨占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態(tài)。獨立式按鍵電路配置靈活,軟件構造簡單,但每個按鍵必須占用一根I/O口線,然而,在按鍵較多時,I/O口線浪費較大,不宜采用。獨立式按鍵軟件常采用查詢式構造。先逐位查詢每根I/O口線的輸入狀態(tài),如*一根I/O口線輸入為低電平,則可確認該I/O口線所對應的按鍵已按下,然后,再轉向該鍵的功能處理程序。由于本程序較為簡單,為了使用方便及節(jié)省資源,選擇獨立式鍵盤。以下圖為獨立式鍵盤電路圖:圖2-5、獨立式鍵盤電路圖去抖鍵盤編程中主要考慮去抖動的問題。當測試說明有鍵被按下之后,緊接著就進展去抖動處理。因為鍵是機械開關構造,由于機械觸點的彈性及電壓突跳等原因,在觸點閉合或斷開的瞬間會出現電壓抖動。為保證鍵識別的準確,在電壓信號抖動的情況下不能進展行狀態(tài)輸入。為此需進展去抖動處理。去抖動有硬件和軟件兩種方法。硬件方法就是加去抖動電路,從根本上防止抖動的產生。軟件消抖,在第一次檢測到有鍵按下時,執(zhí)行一段延時程序之后,再檢測此按鍵,如果第二次檢測結果仍為按下狀態(tài),CPU便確認此按鍵己按下,消除了抖動。2.5發(fā)音局部設計如以下圖所示,發(fā)音電路是由蜂鳴器、三極管、上拉電阻構成。由三極管來驅動揚聲器發(fā)音的,同時加上拉電阻增強驅動電流,提高驅動能力。圖2-5、發(fā)音局部電路圖3.系統(tǒng)軟件設計3.1系統(tǒng)分析系統(tǒng)軟件的組成〔1〕鍵盤掃描程序:檢測是否有按鍵按下,有按鍵按下則記錄按下鍵的鍵值,并跳轉至功能轉移程序;無按鍵按下,則返回鍵盤掃描程序繼續(xù)檢測?!?〕功能轉移程序:對檢測到的按鍵值進展判斷,是琴鍵則跳轉至琴鍵處理程序,是功能鍵則跳轉至相應的功能程序,我們設計的功能程序有兩種,即音色調節(jié)功能和自動播放樂曲的功能?!?〕琴鍵處理程序:根據檢測到的按鍵值,查詢音調表,給計時器賦值,使發(fā)出相應頻率的聲音?!?〕自動播放歌曲程序:檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該程序,電子琴會自動播放事先已經存放的歌曲,歌曲播放完畢之后自動返回至鍵盤掃描程序,繼續(xù)等待是否有按鍵按下。系統(tǒng)總體功能流程圖圖3-1、系統(tǒng)總體功能流程圖3.2參數計算發(fā)音原理假設要產生音頻脈沖,只要算出*一音頻的周期〔1/頻率〕,再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將P1.0反相,然后重復計時再反相。就可在P1.0引腳上得到此頻率的脈沖。利用AT89C51的內部定時器使其工作計數器模式〔MODE1〕下,改變計數值TH0及TL0以產生不同頻率的方法產生不同音階。例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計數器計時956μs/1μs=956,每計數956次時將I/O反相,就可得到中音DO〔523Hz〕。計數脈沖值與頻率的關系式是:N=fi÷2÷fr,式中,N是計數值;fi是機器頻率〔晶體振蕩器為12MHz時,其頻率為1MHz〕;fr是想要產生的頻率。其計數初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:設K=65536,fi=1MHz,求中音DO〔261Hz〕。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=65536-500000/523=64580。計算結果〔1〕單片機12MHZ晶振,中音符與計數T0相關的計數值如表所示:音符頻率〔HZ〕計數值〔T值〕音符頻率〔HZ〕計數值〔T值〕低1DO26263628*4FA*74064860*1DO*27763737中5SO78464898低2RE29463835*5SO*83194934*2RE*31163928中6LA88064968低3MI33064021*6LA*93264994低4FA34964103中7SI96865030*4FA*37064185低1DO104665058低5SO39264260*1DO*110965085*5SO*41564331高2RE117565110低6LA44064400*2RE*124565134*6LA*46664463高3MI131865157低7SI49464524高4FA139765178中1DO52364580*4FA*149065198*1DO*55464633高5SO156865217中2RE58764633*5SO*166165235*2RE*62264884高6LA176065252中3MI65964732*6LA*186565268中4FA69864820高7SI196765283采用查表程序進展查表時,可以為這個音符建立一個表格,有助于單片機通過查表的方式來獲得相應的數據:低音0-19之間,中音在20-39之間,高音在40-59之間。用單片機播放音樂,或者彈奏電子琴,實際上是按照特定的頻率,輸出一連串的方波。為了輸出適宜的方波,首先應該知道音符與頻率的關系?!?〕音調數據表曲調值DELAY曲調值DELAY調4/4125ms調4/462ms調3/4187ms調3/494ms調2/4250ms調2/4125ms上表中的頻率數值,有些過多,去掉不常用的黑鍵頻率,只是把白鍵對應的數據存放在單片機中,即可滿足絕大局部的應用需求。定義音調數據表的程序如下:DW63628,63835,64021,64103,64260,64400,6452464580,低音區(qū):1234567
DW64580,64671,64777,64820,64898,64968,6503065058中音區(qū):1234567DW65058,65110,65157,65178,65217,65252,6528365312高音區(qū):1234567把這個數據表,放在程序中,需要播音的時候,就從表中取出一個數據送到定時器,當定時器溢出中斷的時候,再對輸出引腳取反,則,在揚聲器中,即可聽到上表中頻率的聲音。3.3程序設計(1)判斷音階〔高中低音〕子程序在軟件設計中采用yinjie代表音階,如以下圖所示音階Yinjie值高2中1低0初始化狀態(tài)為中音〔yinjie=1〕,電路中設計高、低兩個音階鍵。上電后,假設無按鍵按下,則為中音模式。假設音階鍵被按下,則如下流程圖所示,初始化后進展按鍵掃描,在高音鍵按下,假設初始yinjie不為2,則令yinjie=2,進入高音工作模式,假設初始yinjie為2,則對yinjie進展初始化,即另yinjie=1,重新進入進入中音工作模式,這樣即實現了高音鍵切換高、中音方式的轉換。同理,用低音鍵實現中、低音的切換。圖3-2、判斷音階〔高中低音〕子程序(2)播放子程序〔包括自動播放存儲音樂和按鍵發(fā)音〕本設計共兩種播放模式,包括自動播放存儲音樂和按鍵發(fā)音。上電后,首先開中斷并設定定時器0為工作方式1,當自動播放鍵按下時,進入中斷,根據樂譜在定義的音頻數組中查找相應音律,然后給定時器賦初值,即開場播放音樂。當DO、RE、MI、FA、SO、LA、SI七種音符鍵按下時,根據音階值〔如3.3.1中高中低對應〕和音符值在定義的音頻數組中查找相應音律,然后給定時器賦初值,即按鍵發(fā)音。圖3-3、播放子程序4.Proteus軟件仿真4.1硬件調試硬件調試主要是針對單片機局部進展的調試。在上電之前,先確保電路中不存在斷路或短路情況,這一工作是整個調試工作的第一步,也是非常重要的一個步驟。在這局部調試中主要使用的工具是萬用表,用來完成檢測電路中是否存在斷路或者短路情況的任務。注意焊點之間,確保焊點沒有短接在一起,同時注意焊點的美觀,確保沒有開路以及短路的現象出現。在確保硬件電路正常且無異常情況(斷路或短路)的情況下方可上電調試,上電調試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確,在本次設計中,上電調試主要是檢測單片機控制局部和音頻轉換電路硬件調試。4.2軟件調試調試主要方法和技巧:通常一個調試程序應該具備至少四種性能:跟蹤、斷點、查看變量、更改數值。整個程序是一個主程序調用各個子程序實現功能的過程,要使主程序和整個程序都能平穩(wěn)運行,各個模塊的子程序的正確與平穩(wěn)運行必不可少,所以在軟件調試的最初階段就是把各個子程序模塊進展分別調試。4.3仿真結果〔任舉一例〕圖4-1、低音音符RE仿真圖4.4結果分析根據仿真結果可知,本次課程設計能夠準確并徹底的完成設計要求。左側數碼管可以顯示a、b、c三種結果,分別代表低音、中音和高音。右側數碼管可以顯示1、2、3、4、5、6、7七個數字,分別代表DO、RE、MI、FA、SO、LA、SI七種音符。下面以4.3為例具體進展分析:當系統(tǒng)上電后,假設按下低音鍵〔如圖P3.6〕,,則選定工作方式為低音模式,圖中a即代表低音。P0口連接數碼管段選端,右側數碼管顯示的1即代表DO。兩位數碼管即代表低音DO。5.課程設計體會總體來說,此次單片機課程設計使我們收獲良多,雖然課程設計的過程中遇到了很多困難與問題,但我們最終還是完成了設計的任務及要求。具體來說可以分為以下幾點:第一,不夠細心,不夠嚴謹〔如因為粗心大意而焊錯線〕;第二,因對課本理論的掌握度不夠導致編程出現錯誤;第三,硬件方面,剛開場有的程序模塊不能實現預期的效果,對于有的硬件,在實物制作過程中焊了比較多的排線,同時對于整體各元器件的布局都有很高的要求。不過在向同學請教,各方面都有了不同程度的改善;第四,在做人方面,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力和決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。這次課程設計中,經過我們的努力,在仿真軟件和實物上都實現了高、中、低21個音符的發(fā)聲和音樂的自動播放,使我們有了一定的成就感,也使我們進一步熟悉和掌握了單片機的內部構造和工作原理,了解了單片機應用系統(tǒng)設計的根本方法和步驟,掌握了單片機仿真軟件Proteus的使用方法和鍵盤、顯示器在的單片機控制系統(tǒng)中的應用,同時也掌握了撰寫課程設計報告的方法??傊?,通過這次課程設計,我們都清楚明白了自己的能力有多深,想提高還得歸于多鍛煉,多動手,多向別人學習。參考文獻【1】余發(fā)山、王福忠.單片機原理及應用技術.中國礦業(yè)大學.2008年6月第1版【2】楊凌霄.微型計算機原理與應用,中國礦業(yè)大學.2008年8月第一版【3】康華光.電子技術根底〔數字局部〕,高等教育.第五版【4】*志軍,伊廷輝等.EDA技術與PLD設計人民郵電,2006年2月第1版【5】李朝青.單片機原理及接口技術[M].:航天航空大學出版色,2001.【6】胡漢才.單片機原理及其接口技術[M].:清華大學,2004.【7】彭偉.單片機C語言程序設計實訓100例.電子工業(yè).2009年【8】李建忠.單片機原理及應用.**:**電子科技大學,2002年【9】韓志軍等.單片機應用系統(tǒng)設計[M].機械工業(yè),2004【10】馬忠梅等.單片機的C語言應用程序設計[M].航空航天大學,2006附1源程序代碼*include<reg52.h>*definekeyportP1*defineucharunsignedchar*defineuintunsignedintucharhigh,low; //定時器預裝值的高8位和低8位sbitspeak=P3^0;sbitgao=P3^5;sbitdi=P3^6;sbitzdbf=P3^7;ucharyinjie=1;uchartime;ucharn=0;ucharbo=0;ucharcodefre[][2]={ 0*8c,0*f8, 0*5b,0*f9, 0*15,0*fa, 0*67,0*fa, 0*90,0*fb, 0*ae,0*fb, 0*0c,0*fc,//低音 0*44,0*fc, 0*ac,0*fc, 0*09,0*fd, 0*34,0*fd, 0*82,0*fd, 0*c2,0*fd, 0*06,0*fe,//中音 0*22,0*fe, 0*56,0*fe, 0*85,0*fe, 0*9a,0*fe, 0*c1,0*fe, 0*e4,0*fe, 0*03,0*ff, //高音 };voiddelay(uint);voidITimer0(void);//定時器初始化voidkey(void);voiddt*s(int,int);voidsong(){TH0=high;TL0=low;TR0=1;delay(time*180);}voidyinyue(){ ucharcodehls[]={1,2,4,4,2,3,4,2,1,4,2,8,1,2,4,5,2,3,3,2,1,4,2,8,1,2,4,4,2,3,7,2,1,7,2,4,6,2,3,5,2,1,4,2,4,3,2,3,4,2,1,5,2,8,1,2,4,4,2,3,4,2,1,4,2,8,1,2,4,5,2,3,3,2,1,4,2,8,1,2,4,4,2,3,6,2,1,1,3,4,6,2,3,4,2,1,4,2,8,7,2,4,6,2,3,5,2,1,2,2,4,2,2,4,3,2,4,4,2,3,5,2,1,5,2,8,7,2,4,6,2,3,5,2,1,2,2,4,2,2,4,3,2,4,4,2,3,5,2,8,1,2,4,4,2,3,4,2,1,1,2,4,5,2,3,3,2,1,4,2,8,1,2,4,4,2,3,6,2,1,1,3,4,6,2,3,4,2,1,2,2,4,5,2,3,6,2,1,4,2,8,2,2,4,5,2,3,6,2,1,4,2,8,4,2,8 }; ucharm; n=0;while(n<216) { m=hls[n]+7*(hls[n+1]-1)-1; high=fre[m][1]; low=fre[m][0]; time=hls[n+2]; n=n+3; song(); }} voidmain(void){ ucharnum; ITimer0(); speak=0; while(1) { key(); switch(keyport) { case0*fe:num=1;break; case0*fd:num=2;break; case0*fb:num=3;break;case0*f7:num=4;break;case0*ef:num=5;break;case0*df:num=6;break;case0*bf:num=7;break;case0*7f:num=8;break;default:num=0;break; } if(num==0) { TR0=0; speak=0; } else { high=fre[7*yinjie+num-1][1]; low=fre[7*yinjie+num-1][0]; TR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版通訊器材購銷合同3篇
- 2025年度大型活動場地租賃及服務合同4篇
- 2025年PVC管道產品檢測與質量保證服務合同范本3篇
- 2025年消防給水系統(tǒng)設備及工程安全防護合同3篇
- 2025年度餐飲股份合作人力資源合作協(xié)議3篇
- 2024版跨國投資風險共保協(xié)議版B版
- 二零二五版國有控股企業(yè)股權置換與混合所有制改革合同3篇
- 2025年度消防安全通道維護外包服務合同3篇
- 2024移動支付技術服務合同
- 2024版暫定協(xié)議總價協(xié)議樣本版B版
- 副廠長競聘演講稿
- 高二物理題庫及答案
- 2024年河北省廊坊市廣陽區(qū)中考一模道德與法治試題
- 電影項目策劃書
- 產業(yè)園區(qū)金融綜合服務創(chuàng)新藍皮書(2024.1)
- 高一數學單元練習卷
- 國際標準IQ測試題及答案樣本
- 美容院管理制度章程
- 職業(yè)發(fā)展展示園林
- 統(tǒng)編版六年級下冊語文1-6單元習作課件
- 社會安全風險評估模型的研究
評論
0/150
提交評論