最新整理基于51單片機的電子琴課程設(shè)計_第1頁
最新整理基于51單片機的電子琴課程設(shè)計_第2頁
最新整理基于51單片機的電子琴課程設(shè)計_第3頁
最新整理基于51單片機的電子琴課程設(shè)計_第4頁
最新整理基于51單片機的電子琴課程設(shè)計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、(完整)基于51單片機的電子琴課程設(shè)計(完整)基于51單片機的電子琴課程設(shè)計編輯整理:尊敬的讀者朋友們:這里是精品文檔編輯中心,本文檔內(nèi)容是由我和我的同事精心編輯整理后發(fā)布的,發(fā)布之前我們對 文中內(nèi)容進(jìn)行仔細(xì)校對,但是難免會有疏漏的地方,但是任然希望(完整)基于51單片機的電子琴 課程設(shè)計)的內(nèi)容能夠給您的工作和學(xué)習(xí)帶來便利。同時也真誠的希望收到您的建議和反饋,這將 是我們進(jìn)步的源泉,前進(jìn)的動力。本文可編輯可修改,如果覺得對您有幫助請收藏以便隨時查閱,最后祝您生活愉快業(yè)績進(jìn)步,以 下為(完整)基于51單片機的電子琴課程設(shè)計的全部內(nèi)容。(完整)基于51單片機的電子琴課程設(shè)計摘要本設(shè)計主要研究基于

2、AT89C52單片機的簡易電子琴設(shè)計。它是以單片機作為主控核心,設(shè)置鍵盤、蜂鳴器等外圍器件;另外還用到一些簡 單器件如:NPN型三極管及電阻等。利用按鍵實現(xiàn)音符和音調(diào)的輸入;用NPN型三極 管8550實現(xiàn)低音頻功率放大;最后用蜂鳴器進(jìn)行播放“送別”。本設(shè)計硬件部分主要由最小系統(tǒng),按鍵系統(tǒng)模塊和蜂鳴器模塊組成。其軟件部分 主要有主程序模塊、定時中斷程序、定時計數(shù)程序。(1)最小系統(tǒng):它是單片機應(yīng)用系統(tǒng)的設(shè)計基礎(chǔ)它包括單片機的選擇、時鐘系統(tǒng)設(shè) 計、復(fù)位電路設(shè)計、簡單的I/O 口擴展、掉電保護(hù)等。(2)按鍵系統(tǒng)模塊:本設(shè)計采用10個按鍵,其中7個按鍵用來顯示7個音調(diào),其它3 個按鍵可以進(jìn)行高低中音的

3、切換,并自動播放已存歌曲。(3)蜂鳴器模塊:此電子琴發(fā)音電路是通過三極管驅(qū)動蜂鳴器發(fā)音,經(jīng)過上拉電阻提 高驅(qū)動能力。本次設(shè)計首先對單片機設(shè)計簡易電子琴仔細(xì)分析,接著制作硬件電路和編寫軟件 的程序,最后進(jìn)行軟硬件的調(diào)試運行。并且從原理圖,主要芯片,各模塊的原理和各個 模塊的程序調(diào)試來闡述。利用單片機產(chǎn)生不同頻率來獲得我們要求的音階,實現(xiàn)高、 中、低共21個音符的發(fā)音和音樂播放時的控制,并且能自動播放程序中編排的音樂 系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比高等, 具有一定的使用和參考價值。(完整)基于51單片機的電子琴課程設(shè)計目錄1o概述01 O 1設(shè)計背景01.2

4、設(shè)計意義01o 3設(shè)計任務(wù)02系統(tǒng)總體方案及硬件設(shè)計12O 1總體設(shè)計1方案一:采用單個的邏輯器件組合 1方案二:用VHDL語言編程來實現(xiàn) 12O 2單片機選型22. 3單片機的最小工作系統(tǒng)22o 3o 1時鐘電路22o 3o 2復(fù)位電路32.4原理框圖32o 5按鍵部分設(shè)計42o 5.1操作鍵設(shè)計42O 5. 2鍵盤設(shè)計42. 5.3去抖動52O 6發(fā)音部分設(shè)計63. 系統(tǒng)軟件設(shè)計63. 1系統(tǒng)分析63o 1.1系統(tǒng)軟件的組成63o 1o 2系統(tǒng)總體功能流程圖7(完整)基于51單片機的電子琴課程設(shè)計3o 2參數(shù)計算83o 2o 1發(fā)音原理83. 2. 2計算舉例83. 2. 3計算結(jié)果83.

5、 3程序設(shè)計103o 3.1判斷音階(高中低音)子程序 103o 3.2播放子程序(包括自動播放存儲音樂和按鍵發(fā)音).124. Proteus軟件仿真 134.1硬件調(diào)試134.2軟件調(diào)試134.3仿真結(jié)果(任舉一例) 144o 4結(jié)果分析145。課程設(shè)計體會 15參考文獻(xiàn)16附1源程序代碼17附2 系統(tǒng)原理圖25(完整)基于51單片機的電子琴課程設(shè)計仁概述1 1設(shè)計背景隨著電子科學(xué)技術(shù)的飛速發(fā)展,電子技術(shù)正在逐漸改善著人們的學(xué)習(xí)、生活、工 作,因此開發(fā)本系統(tǒng)希望能夠給人們帶來更多的生活樂趣?;诋?dāng)前市場上的玩具需求量增大,其中電子琴就是一個很好的應(yīng)用方面。單片 機技術(shù)使我們可以利用軟硬件來實

6、現(xiàn)電子琴的功能,從而可以實現(xiàn)電子琴的微型化, 可以用作玩具琴、音樂轉(zhuǎn)盤以及音樂童車等等。并且可以進(jìn)行一定的功能擴展。鑒于 傳統(tǒng)電子琴可以用鍵盤上的到“A”鍵演奏從低So到高DO等門個音,從而也可 以通過單片機實現(xiàn)對十個按鍵的擴展,實現(xiàn)七個音符鍵的高、中、低21個音調(diào)的顯 示播放和任意音樂的自動播放。該設(shè)計將十個音鍵制作成獨立鍵盤,其中七個為音符 鍵,三個為控制鍵,使電子琴的功能更加完美。不但可以實現(xiàn)對按鍵的控制,而且可以 實現(xiàn)對音樂的自動存儲和播放,使該設(shè)計功能更加完善.1.2設(shè)計意義該設(shè)計具有以下優(yōu)點: 可以方便更換音符和音調(diào); 比傳統(tǒng)電子琴功能更完善; 制作簡單,成本低;1.3設(shè)計任務(wù)實現(xiàn)

7、電子琴發(fā)聲控制系統(tǒng);要求電路實現(xiàn)如下功能: 利用蜂鳴器作為發(fā)聲部件,設(shè)置10個按鍵,實現(xiàn)高音、中音、低音的仁2、3、4、5、 6、7的發(fā)音。并在存儲一首歌曲的內(nèi)容,可以實現(xiàn)自動播放.用PROTEUS實現(xiàn)的電子琴仿真設(shè)計說明:單片機的工作時鐘頻率為11.0592MHz.#(完整)基于51單片機的電子琴課程設(shè)計2o系統(tǒng)總體方案及硬件設(shè)計2o 1總體設(shè)計實現(xiàn)本次設(shè)計的方案有多種,下面比較說明一下最佳方案的選擇。方案一:采用單個的邏輯器件組合音樂是有由不同的音階組成的,而不同的音階又是由不同的頻率發(fā)出的,那么利 用不同的頻率,就可以發(fā)出不同的音樂了.我們知道計數(shù)器8253可以產(chǎn)生任意頻率的方波頻率信號

8、,因此,我們只要把一首 歌曲的音階對應(yīng)頻率與計數(shù)器的頻率對應(yīng)起來就可通過計數(shù)器產(chǎn)生音樂了。根據(jù)本實 驗要求,采用8279將鍵掃得到的鍵值通過查表得到相應(yīng)的8253的頻率值,將從8253 得到相對應(yīng)的按鍵彈奏信號經(jīng)過LM386進(jìn)行放大,再用喇叭輸出,就實現(xiàn)了簡易電子 琴的基本功能,也就完成了實驗的要求。方案二:用VHDL語言編程來實現(xiàn)系統(tǒng)整體基本原理圖如下:FENPINCLK13削$T0匹OODC(4 01IM0CXC7. .OMICHTOMCOCl- OJAUTO:-OLKCLK:-AVTOIMDCXOC7-砒一圖K系統(tǒng)整體基本原理圖利用我們實驗室先進(jìn)的數(shù)字電路實驗設(shè)備,我們可以采用VHDL語

9、言編程來實現(xiàn)。 我們可以通過VDHL語言,對實驗原理圖的各個部分進(jìn)行設(shè)計,通過編譯,可以在計算 機上下載此實驗原理圖,利用電路學(xué)習(xí)機上的芯片。我們很快就可以設(shè)計出一個簡單 的電子琴。并實現(xiàn)其功能。方案三:采用AT89S52單片機作為主控芯片,設(shè)置鍵盤、蜂鳴器等外圍器件,另 外還用到一些簡單器件如:NPN型三極管及電阻等利用按鍵實現(xiàn)音符和音調(diào)的輸入; 用NPN型三極管8550實現(xiàn)低音頻功率放大;最后用蜂鳴器發(fā)音。(完整)基于51單片機的電子琴課程設(shè)計三種方案的比較:方案一采用單個的邏輯器件組合實現(xiàn)。這樣雖然比較直觀,邏輯器件分工鮮明, 思路也比清晰,一目了然,但是由于元器件種類、個數(shù)繁多,而過于

10、復(fù)雜的硬件電路 也容易引起系統(tǒng)的精度不高、體積過大等不利因素。例如七個不同的音符是由七個不 同的頻率來控制發(fā)出的,所用儀器之多顯而易見。方案二采用VHDL語言編程來實現(xiàn) 電子琴的各項功能。系統(tǒng)主要由電子琴發(fā)聲模塊、選擇控制模塊和儲存器模塊組成。 和方案一相比較,方案二就顯得比較籠統(tǒng),雖然我們可以看到用超高速硬件描述語言 VHDL的優(yōu)勢,但本質(zhì)上它只是把整個系統(tǒng)分為了若干個模塊,而不牽涉到具體的硬件 電路。方案三與前兩種方案相比,主控芯片采用AT89S52單片機,它是大規(guī)模集成電 路技術(shù)發(fā)展的產(chǎn)物,具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應(yīng)用廣泛 的特點。同時具有強大的控制功能和靈活的編

11、程實現(xiàn)特性,由于本設(shè)計主要用于人們 娛樂方面,因此在設(shè)計上盡量使其安全以及簡單易操作。而第三種方案具有經(jīng)濟可行 性、技術(shù)可行性、實物應(yīng)用性。綜上所述,本次課程設(shè)計采用第三種方案。2O 2單片機選型硬件電路要以單片機作為主控芯片,實現(xiàn)按鍵輸入音符和音調(diào),兩位數(shù)碼管的顯 示以及低音頻功率放大和蜂鳴器發(fā)音。針對本設(shè)計的功能和用途,采用AT89S51單片 機更好,實現(xiàn)功能完全,性價比較高,更適合本設(shè)計.2O 3單片機的最小工作系統(tǒng)單片機加上適當(dāng)?shù)耐鈬骷蛻?yīng)用程序,構(gòu)成的應(yīng)用系統(tǒng)稱為最小系統(tǒng)。2.3.1時鐘電路單片機內(nèi)部具有一個高增益反相放大器,用于構(gòu)成振蕩器通常在引腳XTALI和 XTAL2跨接石英

12、晶體和兩個補償電容構(gòu)成自激振蕩器,結(jié)構(gòu)圖2中X1. C1. C2O可以 根據(jù)情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補償電容通常選擇30pF左 右的瓷片電容。#(完整)基于51單片機的電子琴課程設(shè)計圖2、時鐘電路2. 3. 2復(fù)位電路單片機小系統(tǒng)常采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實現(xiàn)系統(tǒng)的復(fù)位操 作。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。手動復(fù)位要求在電源接通的條件 下,在單片機運行期間,用按鈕開關(guān)操作使單片機復(fù)位。其結(jié)構(gòu)如下圖上電自動復(fù)位 通過電容C3充電來實現(xiàn)。手動按鍵復(fù)位是通過按鍵將電阻R1與VCC接通來實現(xiàn)。圖3、復(fù)位電路2. 4原理框圖本系統(tǒng)有主控芯片89

13、S52、發(fā)音單元、顯示模塊、按鍵模塊組成。(完整)基于51單片機的電子琴課程設(shè)計#發(fā)音單元按鋌模塊89S52單片機圖4、原理框圖2.5按鍵部分設(shè)計2o 5.1操作鍵設(shè)計常用的按鍵有三種:機械觸點式按鍵、導(dǎo)電橡膠式和柔性按鍵(又稱觸摸式鍵盤) 機械觸點式按鍵是利用機械彈性使鍵復(fù)位,手感明顯,連線清晰,工藝簡單, 適合單件制造。但是觸點處易侵入灰塵而導(dǎo)致接觸不良,體積相對較大。導(dǎo)電橡膠按鍵是利用橡膠的彈性來復(fù)位,通過壓制的方法把面板上所有的按 鍵制成一塊,體積小,裝配方便,適合批量生產(chǎn)但是時間長了,橡膠老化而使彈力下 降,同時易侵入灰塵。柔性按鍵是近年來迅速發(fā)展的一種新型按鍵,可以分為凸球型和平面

14、型兩 種。柔性按鍵最大特點是防塵、防潮、耐蝕,外形美觀,裝嵌方便。而且外形和面板 的布局、色彩、鍵距可按照整機的要求來設(shè)計。但是由于客觀條件與經(jīng)濟能力有限,本系統(tǒng)采用機械觸點式按鍵。2.5o 2鍵盤設(shè)計鍵盤在單片機應(yīng)用系統(tǒng)中是一個關(guān)鍵的部件,它能實現(xiàn)向計算機輸入數(shù)據(jù),傳送 命令等功能,是人工干預(yù)計算機的主要手段。(完整)基于51單片機的電子琴課程設(shè)計 鍵盤可以分為2類:獨立連接式鍵盤和矩陣式鍵盤.(1)矩陣式鍵盤單片機系統(tǒng)中,若按鍵較多時,通常采用矩陣式(也稱行列式)鍵盤。矩陣式鍵盤 由行線和列線組成,按鍵位于行、列線的交叉點上。顯然,在按鍵數(shù)量較多時,矩陣 式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多

15、I/O 口。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V 上.當(dāng)無鍵按下時,行線處于高電平狀態(tài);當(dāng)有鍵按下時,行、列線將導(dǎo)通,此時,行 線電平將由與此行線相連的列線電平?jīng)Q定。這是識別按鍵是否按下的關(guān)鍵。(2) 獨立連接式鍵盤獨立式按鍵是直接用I/O 口線構(gòu)成的單個按鍵電路,其特點是每個按鍵單獨占用 一根I/O 口線,每個按鍵的工作不會影響其它I/O 口線的狀態(tài).獨立式按鍵電路配置 靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O 口線,然而,在按鍵較多時,I/O 口線浪費較大,不宜采用。獨立式按鍵軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根I/O 口線的輸入狀態(tài),如某 一

16、根I/O 口線輸入為低電平,則可確認(rèn)該I/O 口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn) 向該鍵的功能處理程序。由于本程序較為簡單,為了使用方便及節(jié)省資源,選擇獨立式 鍵盤下圖為獨立式鍵盤電路圖:2.5o 3去抖動鍵盤編程中主要考慮去抖動的問題。當(dāng)測試表明有鍵被按下之后,緊接著就進(jìn)行去抖動處理因為鍵是機械開關(guān)結(jié)構(gòu),(完整)基于51單片機的電子琴課程設(shè)計由于機械觸點的彈性及電壓突跳等原因,在觸點閉合或斷開的瞬間會出現(xiàn)電壓抖動。 為保證鍵識別的準(zhǔn)確,在電壓信號抖動的情況下不能進(jìn)行行狀態(tài)輸入為此需進(jìn)行去 抖動處理。去抖動有硬件和軟件兩種方法.硬件方法就是加去抖動電路,從根本上避 免抖動的產(chǎn)生。軟件消抖,在第

17、一次檢測到有鍵按下時,執(zhí)行一段延時程序之后,再 檢測此按鍵,如果第二次檢測結(jié)果仍為按下狀態(tài),CPU便確認(rèn)此按鍵己按下,消除了抖 動。2. 6發(fā)音部分設(shè)計如下圖所示,發(fā)音電路是由蜂鳴器、三極管、上拉電阻構(gòu)成。由三極管來驅(qū)動揚 聲器發(fā)音的,同時加上拉電阻增強驅(qū)動電流,提高驅(qū)動能力。圖7、發(fā)音部分電路圖3。系統(tǒng)軟件設(shè)計3. 1系統(tǒng)分析3.1o 1系統(tǒng)軟件的組成(1) 鍵盤掃描程序:檢測是否有按鍵按下,有按鍵按下則記錄按下鍵的鍵值, 并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無按鍵按下,則返回鍵盤掃描程序繼續(xù)檢測。(2) 功能轉(zhuǎn)移程序:對檢測到的按鍵值進(jìn)行判斷,是琴鍵則跳轉(zhuǎn)至琴鍵處理程 序,是功能鍵則跳轉(zhuǎn)至相應(yīng)的功能程序

18、,我們設(shè)計的功能程序有兩種,即音色調(diào)節(jié)功能 和自動播放樂曲的功能。9(完整)基于51單片機的電子琴課程設(shè)計(3) 琴鍵處理程序:根據(jù)檢測到的按鍵值,查詢音調(diào)表,給計時器賦值,使發(fā)出 相應(yīng)頻率的聲音。(4) 自動播放歌曲程序:檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該程 序,電子琴會自動播放事先已經(jīng)存放的歌曲,歌曲播放完畢之后自動返回至鍵盤掃描 程序,繼續(xù)等待是否有按鍵按下。3o 1o 2系統(tǒng)總體功能流程圖關(guān)閉聲音(完整)基于51單片機的電子琴課程設(shè)計3o 2參數(shù)計算3o 2O 1發(fā)音原理若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(頻率),再將此周期除以2,即 為半周期的時間。利用定時器計時半周

19、期時間,每當(dāng)計時終止后就將P1.0反相,然 后重復(fù)計時再反相。就可在円。0引腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定 時器使其工作計數(shù)器模式(M0DE1)下,改變計數(shù)值THO及TLO以產(chǎn)生不同頻率的方法 產(chǎn)生不同音階。3o 2.2計算舉例例如,頻率為523H乙其周期T = 1/523 = 1912 us,因此只要令計數(shù)器計時 956rs/1 ps=956,每計數(shù)956次時將I/O反相,就可得到中音DO (523Hz)。計數(shù)脈 沖值與頻率的關(guān)系式是:N = fi2fr,式中,N是計數(shù)值;fi是機器頻率(晶體振 蕩器為12MHz時,其頻率為1MHz); fr是想要產(chǎn)生的頻率。其計數(shù)初值T的

20、求法如下: T = 65536-N = 65536-f i-?24-fr例如:設(shè) K = 65536, fi=1MHz,求中音 DO (261 Hz) o T = 65536-N = 65536- f i ?24-fr = 65536-100000024-fr = 65536-500000/fr,中音 DO 的 T = 65536- 500000/523=64580 o 3o 2。3計算結(jié)果(1)單片機12MHZ晶振,中音符與計數(shù)T0相關(guān)的計數(shù)值如表所示:音符頻率(HZ)計數(shù)值(T音符頻率(HZ)計數(shù)值(T(完整)基刁F51單片機的電子琴課程設(shè)計值)值)低1D026263628#4FA #74

21、064860#1D0#27763737中5S078464898低2RE29463835#5S0#83194934#2RE#31163928中6LA88064968低3MI33064021#6LA#93264994低4FA34964103中7SI96865030#4FA#37064185低1D0104665058低so39264260110965085#5S0#41564331高2RE117565110低6LA44064400#2RE#124565134#6LA#46664463高3MI131865157低7SI49464524高4FA139765178中1D052364580#4FA#1490

22、65198# 1D0#55464633高5S0156865217中2RE58764633#5S0#166165235#2RE#62264884咼6LA176065252中3MI65964732#6LA#186565268中4FA69864820高7SI196765283采用查表程序進(jìn)行查表時,可以為這個音符建立一個表格,有助于單片機通過查表的 方式來獲得相應(yīng)的數(shù)據(jù):低音0 19之間,中音在20-39之間,高音在40-59之間. 用單片機播放音樂,或者彈奏電子琴,實際上是按照特定的頻率,輸岀一連串的方波。 為了輸出合適的方波,首先應(yīng)該知道音符與頻率的關(guān)系。(完整)基于51單片機的電子琴課程設(shè)計(

23、2)音調(diào)數(shù)據(jù)表曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms上表中的頻率數(shù)值,有些過多,去掉不常用的黑鍵頻率,只是把白鍵對應(yīng)的數(shù)據(jù)存 放在單片機中,即可滿足絕大部分的應(yīng)用需求。定義音調(diào)數(shù)據(jù)表的程序如下:DW 63628, 63835, 64021, 64103,64260, 64400, 64524 ; 64580,低音區(qū):1 2 3 4 5 6 7DW 64580, 64671, 64777, 64820, 64898, 64968, 65030 65058 中音區(qū)2 3 4 5 6 7DW 65058

24、, 65110, 65157, 65178, 65217, 65252, 65283 65312 高音區(qū):1 2 3 4 5 6 7 把這個數(shù)據(jù)表,放在程序中,需要播音的時候,就從表中取出一個數(shù)據(jù)送到定時 器,當(dāng)定時器溢出中斷的時候,再對輸出引腳取反,那么,在揚聲器中,即可聽到上表 中頻率的聲音。3. 3程序設(shè)計3O 3. 1判斷音階(高中低音)子程序在軟件設(shè)計中采用yinjie代表音階,如下圖所示音階Yinjie 值高2中1低0初始化狀態(tài)為中音(yinjieh),電路中設(shè)計高、低兩個音階鍵.上電后,若無按(完整)基于51單片機的電子琴課程設(shè)計鍵按下,則為中音模式。若音階鍵被按下,則如下流程圖

25、所示,初始化后進(jìn)行按鍵掃描,在高音鍵按下,若初始yinjie不為2,則另yinjie二2,進(jìn)入高音工作模式,若初始yinj ie為2,則對yinjie進(jìn)行初始化,即另yinj ieh,重新進(jìn)入進(jìn)入中音工作模式,這樣即實現(xiàn)了高音鍵切換高、中音方式的轉(zhuǎn)換。同理,用低音鍵實現(xiàn)中、低音的切換。圖9、判斷音階(高中低音)子程序(完整)基于51單片機的電子琴課程設(shè)計3.3O 2播放子程序(包括自動播放存儲音樂和按鍵發(fā)音)本設(shè)計共兩種播放模式,包括自動播放存儲音樂和按鍵發(fā)音上電后,首先開中斷 并設(shè)定定時器0為工作方式1,當(dāng)自動播放鍵按下時,進(jìn)入中斷,根據(jù)樂譜在定義的 音頻數(shù)組中查找相應(yīng)音律,然后給定時器賦初

26、值,即開始播放音樂當(dāng)DO、RE、Ml、 FA、SO、LA、SI七種音符鍵按下時,根據(jù)音階值(如3。3.1中高中低對應(yīng))和音符值 在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時器賦初值,即按鍵發(fā)音。播放音樂(完整)基于51單片機的電子琴課程設(shè)計(完整)基于51單片機的電子琴課程設(shè)計圖2、播放子程序4o Proteus軟件仿真4O 1硬件調(diào)試硬件調(diào)試主要是針對單片機部分進(jìn)行的調(diào)試。在上電之前,先確保電路中不存在斷路或短路情況,這一工作是整個調(diào)試工作的第 一步,也是非常重要的一個步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完 成檢測電路中是否存在斷路或者短路情況的任務(wù)。注意焊點之間,確保焊點沒有短接

27、 在一起,同時注意焊點的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn).在確保硬件電路正常且無異常情況(斷路或短路)的情況下方可上電調(diào)試,上電調(diào) 試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確,在本次設(shè)計中,上電調(diào)試 主要是檢測單片機控制部分、音頻轉(zhuǎn)換電路硬件調(diào)試。鍵盤單片機控制部分調(diào)試:上電后,隨機按動鍵盤可以發(fā)現(xiàn)各個按鍵對應(yīng)的音正 確。4. 2軟件調(diào)試調(diào)試主要方法和技巧:通常一個調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點、 查看變量、更改數(shù)值。整個程序是一個主程序調(diào)用各個子程序?qū)崿F(xiàn)功能的過程,要使 主程序和整個程序都能平穩(wěn)運行,各個模塊的子程序的正確與平穩(wěn)運行必不可少,所 以在軟件調(diào)試的最初階段

28、就是把各個子程序模塊進(jìn)行分別調(diào)試。4O 3仿真結(jié)果(任舉一例)圖10、低音音符D0仿真圖4O 4結(jié)果分析根據(jù)仿真結(jié)果可知,本次課程設(shè)計能夠準(zhǔn)確并徹底的完成設(shè)計要求。分別按下左側(cè) 的七個按鍵,蜂鳴管會依次發(fā)出DO、RE、Ml、FA、SO、LA、SI七種音符右側(cè)前兩個 按鍵可以改變音調(diào),能夠進(jìn)行高、中、低音的自由切換。最下面的按鍵是預(yù)存音樂“送 別”的控制開關(guān),可以進(jìn)行音樂的播放與暫停.(完整)基于51單片機的電子琴課程設(shè)計5。課程設(shè)計體會總體來說,此次單片機課程設(shè)計使我們收獲良多,雖然課程設(shè)計的過程中遇到了很 多困難與問題,但我們最終還是完成了設(shè)計的任務(wù)及要求。具體來說可以分為以下幾 點:第一,

29、不夠細(xì)心,不夠嚴(yán)謹(jǐn)(如因為粗心大意而焊錯線);第二,因?qū)φn本理論的 掌握度不夠?qū)е戮幊坛霈F(xiàn)錯誤;第三,硬件方面,剛開始有的程序模塊不能實現(xiàn)預(yù)期 的效果,對于有的硬件,在實物制作過程中焊了比較多的排線,同時對于整體各元器 件的布局都有很高的要求。不過在向同學(xué)請教,各方面都有了不同程度的改善;第四, 在做人方面,我認(rèn)識到,無論做什么事情,只要你足夠堅強,有足夠的毅力和決心, 有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。這次課程設(shè)計中,經(jīng)過我們的努力,在仿真軟件和實物上都實現(xiàn)了高、中、低21 個音符的發(fā)聲和音樂的自動播放,使我們有了一定的成就感,也使我們進(jìn)一步熟悉和 掌握了單片機的內(nèi)部結(jié)構(gòu)和工作原理

30、,了解了單片機應(yīng)用系統(tǒng)設(shè)計的基本方法和步 驟,掌握了單片機仿真軟件Proteus的使用方法和鍵盤、顯示器在的單片機控制系 統(tǒng)中的應(yīng)用,同時也掌握了撰寫課程設(shè)計報告的方法。總之,通過這次課程設(shè)計,我 們都清楚明白了自己的能力有多深,想提高還得歸于多鍛煉,多動手,多向別人學(xué)習(xí)。(完整)基于51單片機的電子琴課程設(shè)計參考文獻(xiàn)【1】徐泳龍單片機及原理及應(yīng)用北京:機械工業(yè)出版社,20132 胡學(xué)海單片機原理及應(yīng)用系統(tǒng)設(shè)計北京:北京電子工業(yè)出版社,20053 高偉。AT89單片機原理及應(yīng)用北京:國防工業(yè)岀版社,20081附1源程序代碼#include #def i ne keyport P1#def i

31、ne uchar uns i gned char#def i ne uint uns i gned irrtuchar high, low;定時器預(yù)裝值的高8位和低8位sb it speak=P30;sb it gao=P35;sbit di=P36;sbit zdb仁P37;uchar y i n j i e=1;uchar time;uchar n=0;uchar bo=0;uchar code fre 2 = 0x8c, 0xf8,0x5b, 0xf9,0x15, Oxfa,0x67, Oxfa,0x90,Oxfb,0xaey Oxfb,0x0c, Oxfct低音(完整)基于51單片機的

32、電子琴課程設(shè)計0x44, Oxfc,Oxac, Oxfc,0x09, Oxfd,0x34, Oxfd,0x82,Oxfd,0xc2, Oxfd,0x06, Oxfe,中音0x22, Oxfe,0x56, Oxfe,0x85, Oxfe,0x9a, Oxfe,0xc1, Oxfe,0xe4, Oxfe,0x03, Oxff,/高音;void delay (uint );void ITimerO (void);/定時器初始化void key (void);void dtxs(int, irrt);void song()THO=high;TLO=Iow;TRO=1;delay(time*240);v

33、oid yinyue()uchar codehls= 5,2,2, 3, 2,1, 5, 2,1, 1, 3,4, 6,2, 2, 1,3, 2, 5,2,4, 5,2, 2,1,2, 1,2,2,1 ,3. 2,2 , 2, 2,1,1, 2,1 ,2, 2,6, 5, 2,2, 3, 2,1, 5, 2,1,1,3, 3, 7,2, 1, 6,2,2, 1, 3,2, 5, 2,4, 5,2, 2,2, 2,1, 3,2, 1, 4,2, 3, 7, 1,1, 1,2, 6, 6, 2,2, 1,3.2,1, 3, 4,7, 2, 2, 6, 2, 1, 7,2,1,1,3,4 , 6.2, 1,7, 2,1, 1,3, 1 , 6,2,1, 6,2, 1 , 5,2,1 ,3,2,1, 1, 2, 1, 2,2,6, 5, 2, 2, 3, 2,1,1, 2.1, 1,3,3, 7,2, 1,6, 2, 2, 1.3, 2, 5,2, 4, 5,2,2,2,2,1, 3,2, 1,4,2,3,7, 1, 1, 1,2,6;uchar m;n=0;whi le(n174)m=hls n+7* (hlsn+1-1) 1;high=fre m 1 ;low=fre m0;ti me=hIs n+2;(完整)基于51單片機的電

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論