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

下載本文檔

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

文檔簡介

1、河南理工大學(xué)河南理工大學(xué)河南理工大學(xué)單片機應(yīng)用與仿真訓(xùn)練單片機應(yīng)用與仿真訓(xùn)練設(shè)計報告設(shè)計報告題目題目: :基于單片機的電子琴設(shè)計基于單片機的電子琴設(shè)計姓 名: 盧曉飛 田三龍 學(xué) 號:0916303069 0916303063 專業(yè)班級: 09 電氣六班 指導(dǎo)老師: 高如新 所在學(xué)院:電氣工程與自動化學(xué)院2012 年 6 月 27 日摘摘 要要 本設(shè)計是一個基于單片機的簡易電子琴,它是以單片機作為主控核心,設(shè)置鍵盤、蜂鳴器等外圍器件;另外還用到一些簡單器件如:兩位數(shù)碼管,和npn 型三極管及電阻等。利用按鍵實現(xiàn)音符和音調(diào)的輸入;兩位的數(shù)碼管進(jìn)行被操作的按鍵顯示;用 npn 型三極管 8550

2、實現(xiàn)低音頻功率放大;最后用蜂鳴器進(jìn)行播放“結(jié)婚進(jìn)行曲” 。本設(shè)計硬件部分主要由最小系統(tǒng),按鍵系統(tǒng)模塊、數(shù)碼管顯示模塊和蜂鳴器模塊組成。其軟件部分主要有主程序模塊、定時中斷程序、定時計數(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)數(shù)碼管顯示模塊:sm420562 段選端接在單片機的 p0 口,兩個位選端分別接在 p20 和 p21。(4)蜂鳴器模塊

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)可靠,性價比高等,具有一定的使用和參考價值。目目 錄錄1.1.概述概述.4 41.1 設(shè)計背景.41.2 設(shè)計意義.41.3 設(shè)計任務(wù) .42.2.系統(tǒng)總體方案

4、及硬件設(shè)計系統(tǒng)總體方案及硬件設(shè)計.5 52.1 總體設(shè)計.52.2 單片機選型.52.3 原理框圖 .62.4 顯示部分設(shè)計.72.5 按鍵部分設(shè)計 .82.6 發(fā)音部分設(shè)計.93.3.系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計.11113.1 系統(tǒng)分析.113.2 參數(shù)計算 .133.3 程序設(shè)計.154.4. proteusproteus 軟件仿真軟件仿真 .18184.1 硬件調(diào)試.184.2 軟件調(diào)試 .184.4 結(jié)果分析 .195.5. 課程設(shè)計體會課程設(shè)計體會.2020參考文獻(xiàn)參考文獻(xiàn).2121附附 1 1 源程序代碼源程序代碼 .2222附附 2 2 系統(tǒng)原理圖系統(tǒng)原理圖 .27271.1.概述

5、概述1.1 設(shè)計背景隨著電子科學(xué)技術(shù)的飛速發(fā)展,電子技術(shù)正在逐漸改善著人們的學(xué)習(xí)、生活、工作,因此開發(fā)本系統(tǒng)希望能夠給人們帶來更多的生活樂趣?;诋?dāng)前市場上的玩具需求量增大,其中電子琴就是一個很好的應(yīng)用方面。單片機技術(shù)使我們可以利用軟硬件來實現(xiàn)電子琴的功能,從而可以實現(xiàn)電子琴的微型化,可以用作玩具琴、音樂轉(zhuǎn)盤以及音樂童車等等。并且可以進(jìn)行一定的功能擴展。鑒于傳統(tǒng)電子琴可以用鍵盤上的“1”到“a”鍵演奏從低 so 到高do 等 11 個音,從而也可以通過單片機實現(xiàn)對十個按鍵的擴展,實現(xiàn)七個音符鍵的高、中、低 21 個音調(diào)的顯示播放和任意音樂的自動播放。該設(shè)計將十個音鍵制作成獨立鍵盤,其中七個為音

6、符鍵,三個為控制鍵,并用數(shù)碼管進(jìn)行顯示,使電子琴的功能更加完美。不但可以實現(xiàn)對按鍵的顯示,而且可以實現(xiàn)對音樂的自動存儲和播放,使該設(shè)計功能更加完善。1.2 設(shè)計意義該設(shè)計具有以下優(yōu)點:可以方便得知播放的音符和音調(diào);比傳統(tǒng)電子琴功能更完善;制作簡單,成本低;1.3 設(shè)計任務(wù) 實現(xiàn)電子琴發(fā)聲控制系統(tǒng);要求電路實現(xiàn)如下功能:利用蜂鳴器作為發(fā)聲部件,兩個數(shù)碼管作為顯示部件,設(shè)置 10 個按鍵,實現(xiàn)高音、中音、低音的 1、2、3、4、5、6、7 的發(fā)音。并在存儲一首歌曲的內(nèi)容,可以實現(xiàn)自動播放。 用 proteus 實現(xiàn)的電子琴仿真設(shè)計說明:單片機的工作時鐘頻率為 11.0592mhz。2.系統(tǒng)總體方案

7、及硬件設(shè)計系統(tǒng)總體方案及硬件設(shè)計2.1 總體設(shè)計 采用 at89s52 單片機作為主控芯片,設(shè)置鍵盤、蜂鳴器等外圍器件,另外還用到一些簡單器件如:兩位數(shù)碼管,和 npn 型三極管及電阻等。利用按鍵實現(xiàn)音符和音調(diào)的輸入;兩位的數(shù)碼管進(jìn)行被操作的按鍵顯示;用 npn 型三極管8550 實現(xiàn)低音頻功率放大;最后用蜂鳴器發(fā)音。2.2 單片機選型硬件電路要以單片機作為主控芯片,實現(xiàn)按鍵輸入音符和音調(diào),兩位數(shù)碼管的顯示以及低音頻功率放大和蜂鳴器發(fā)音。針對本設(shè)計的功能和用途,采用at89s51 單片機更好,實現(xiàn)功能完全,性價比較高,更適合本設(shè)計。 時鐘電路 單片機內(nèi)部具有一個高增益反相放大器,用于構(gòu)成振蕩器

8、。通常在引腳xtall 和 xtal2 跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,結(jié)構(gòu)圖 2 中x1、c1、c2??梢愿鶕?jù)情況選擇 6mhz、12mhz 或 24mhz 等頻率的石英晶體,補償電容通常選擇 30pf 左右的瓷片電容。圖 2-1、時鐘電路復(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)。圖 2-2、復(fù)位電路2.3 原理框

9、圖 本系統(tǒng)有主控芯片 89s52、發(fā)音單元、顯示模塊、按鍵模塊組成。 圖 2-3、原理框圖89s52單片機發(fā)音模塊led 顯示模塊按鍵控制模塊2.4 顯示部分設(shè)計數(shù)碼顯示方式數(shù)碼顯示有靜態(tài)顯示方式與動態(tài)顯示方式兩種。工作在靜態(tài)顯示方式時,數(shù)碼管的位線與電源一直相連,數(shù)碼管中的二極管均處于通電狀態(tài),即在靜態(tài)工作方式下,顯示電路中數(shù)碼管的位選線是同時選通,而數(shù)碼管的段選線是獨立輸入。工作在動態(tài)顯示方式時,數(shù)碼管的位線在掃描控制電路的控制下按設(shè)定順序?qū)?,即電路中的?shù)碼管是逐個接通電源,數(shù)碼管的段選線以并聯(lián)方式與譯碼電路聯(lián)接,即在動態(tài)工作方式下,數(shù)碼管不是同時導(dǎo)通顯示而是按照設(shè)定順序分時導(dǎo)通顯示。八

10、位數(shù)碼管的結(jié)構(gòu)本次課程設(shè)計的顯示電路采用兩位數(shù)碼管進(jìn)行顯示,由于此設(shè)計采用的是共陰極的,使用時不加限流電阻。為了顯示字符,要為 led 顯示器段碼,除了組成 8 字形的字符的 7 段,另加上 1 個小數(shù)點位,共計 8 段, 因此提供給 led 顯示器的顯示段碼為 1 個字節(jié)。 圖 2-4、數(shù)碼管電路2.5 按鍵部分設(shè)計鍵盤設(shè)計鍵盤在單片機應(yīng)用系統(tǒng)中是一個關(guān)鍵的部件,它能實現(xiàn)向計算機輸入數(shù)據(jù),傳送命令等功能,是人工干預(yù)計算機的主要手段。鍵盤可以分為 2 類:獨立連接式鍵盤和矩陣式鍵盤。獨立連接式鍵盤獨立式按鍵是直接用 i/o 口線構(gòu)成的單個按鍵電路,其特點是每個按鍵單獨占用一根 i/o 口線,每

11、個按鍵的工作不會影響其它 i/o 口線的狀態(tài)。獨立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根 i/o 口線,然而,在按鍵較多時,i/o 口線浪費較大,不宜采用。獨立式按鍵軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根 i/o 口線的輸入狀態(tài),如某一根 i/o 口線輸入為低電平,則可確認(rèn)該 i/o 口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。由于本程序較為簡單,為了使用方便及節(jié)省資源,選擇獨立式鍵盤。下圖為獨立式鍵盤電路圖: 圖 2-5、獨立式鍵盤電路圖去抖鍵盤編程中主要考慮去抖動的問題。當(dāng)測試表明有鍵被按下之后,緊接著就進(jìn)行去抖動處理。因為鍵是機械開關(guān)結(jié)構(gòu),由于機械觸點的彈性及

12、電壓突跳等原因,在觸點閉合或斷開的瞬間會出現(xiàn)電壓抖動。為保證鍵識別的準(zhǔn)確,在電壓信號抖動的情況下不能進(jìn)行行狀態(tài)輸入。為此需進(jìn)行去抖動處理。去抖動有硬件和軟件兩種方法。硬件方法就是加去抖動電路,從根本上避免抖動的產(chǎn)生。軟件消抖,在第一次檢測到有鍵按下時,執(zhí)行一段延時程序之后,再檢測此按鍵,如果第二次檢測結(jié)果仍為按下狀態(tài),cpu 便確認(rèn)此按鍵己按下,消除了抖動。2.6 發(fā)音部分設(shè)計如下圖所示,發(fā)音電路是由蜂鳴器、三極管、上拉電阻構(gòu)成。由三極管來驅(qū)動揚聲器發(fā)音的,同時加上拉電阻增強驅(qū)動電流,提高驅(qū)動能力。圖 2-6、發(fā)音部分電路圖3.3.系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計3.1 系統(tǒng)分析系統(tǒng)軟件的組成 (1)

13、鍵盤掃描程序:檢測是否有按鍵按下,有按鍵按下則記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無按鍵按下,則返回鍵盤掃描程序繼續(xù)檢測。 (2)功能轉(zhuǎn)移程序:對檢測到的按鍵值進(jìn)行判斷,是琴鍵則跳轉(zhuǎn)至琴鍵處理程序,是功能鍵則跳轉(zhuǎn)至相應(yīng)的功能程序,我們設(shè)計的功能程序有兩種,即音色調(diào)節(jié)功能和自動播放樂曲的功能。 (3)琴鍵處理程序:根據(jù)檢測到的按鍵值,查詢音調(diào)表,給計時器賦值,使發(fā)出相應(yīng)頻率的聲音。 (4)自動播放歌曲程序:檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該程序,電子琴會自動播放事先已經(jīng)存放的歌曲,歌曲播放完畢之后自動返回至鍵盤掃描程序,繼續(xù)等待是否有按鍵按下。 系統(tǒng)總體功能流程圖開開始始掃掃描描鍵

14、鍵盤盤初初始始化化t t0 0是是否否有有音音階階鍵鍵按按下下播播放放內(nèi)內(nèi)部部音音樂樂判判斷斷p po o口口輸輸入入音音階階鍵鍵按按下下自自動動播播放放鍵鍵按按下下b b0 0/ /2 2= = =0 0高高中中低低三三種種根根據(jù)據(jù)鍵鍵值值和和工工作作方方式式確確定定t to o的的值值鍵鍵值值是是否否為為0 0用用數(shù)數(shù)碼碼管管2 2顯顯示示七七個個音音調(diào)調(diào),并并發(fā)發(fā)出出對對應(yīng)應(yīng)的的聲聲音音啟啟動動t to o,選選擇擇數(shù)數(shù)碼碼管管一一的的工工作作方方式式關(guān)關(guān)掉掉聲聲音音b0+ynynyn圖 3-1、系統(tǒng)總體功能流程圖3.2 參數(shù)計算發(fā)音原理若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率

15、) ,再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當(dāng)計時終止后就將p1.0 反相,然后重復(fù)計時再反相。就可在 p1.0 引腳上得到此頻率的脈沖。利用 at89c51 的內(nèi)部定時器使其工作計數(shù)器模式(mode1)下,改變計數(shù)值 th0及 tl0 以產(chǎn)生不同頻率的方法產(chǎn)生不同音階。例如,頻率為 523hz,其周期 t1/5231912s,因此只要令計數(shù)器計時956s/1s956,每計數(shù) 956 次時將 i/o 反相,就可得到中音 do(523hz) 。計數(shù)脈沖值與頻率的關(guān)系式是:nfi2fr,式中,n 是計數(shù)值;fi 是機器頻率(晶體振蕩器為 12mhz 時,其頻率為 1mhz

16、) ;fr 是想要產(chǎn)生的頻率。其計數(shù)初值 t 的求法如下:t65536n65536fi2fr例如:設(shè) k65536,fi1mhz,求中音 do(261hz) 。t65536n65536fi2fr6553610000002fr65536500000/fr,中音 do 的 t65536500000/52364580。 計算結(jié)果(1)單片機 12mhz 晶振,中音符與計數(shù) t0 相關(guān)的計數(shù)值如表所示:音符頻率(hz)計數(shù)值(t 值) 音符頻率(hz)計數(shù)值(t值)低 1do26263628#4fa#74064860#1do#27763737中 5so78464898低 2re29463835#5so

17、#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高 5so156865

18、217中 2re58764633#5so#166165235#2re#62264884高 6la176065252中 3mi65964732#6la#186565268中 4fa69864820高 7si196765283采用查表程序進(jìn)行查表時,可以為這個音符建立一個表格,有助于單片機通過查表的方式來獲得相應(yīng)的數(shù)據(jù):低音 019 之間,中音在 2039 之間,高音在4059 之間。用單片機播放音樂,或者彈奏電子琴,實際上是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應(yīng)該知道音符與頻率的關(guān)系。(2)音調(diào)數(shù)據(jù)表曲調(diào)值delay曲調(diào)值delay調(diào) 4/4125ms調(diào) 4/462ms調(diào)

19、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 7 dw 64580,64671,64777,64820,64898,64968,65030 65058 中音區(qū):1 2 3 4 5 6 7 dw 65058,65110,65157,65178,65217,65252,65283 65312 高音區(qū):

20、1 2 3 4 5 6 7把這個數(shù)據(jù)表,放在程序中,需要播音的時候,就從表中取出一個數(shù)據(jù)送到定時器,當(dāng)定時器溢出中斷的時候,再對輸出引腳取反,那么,在揚聲器中,即可聽到上表中頻率的聲音。3.3 程序設(shè)計(1) 判斷音階(高中低音)子程序 在軟件設(shè)計中采用 yinjie 代表音階,如下圖所示音階yinjie 值高2中1低0初始化狀態(tài)為中音(yinjie=1) ,電路中設(shè)計高、低兩個音階鍵。上電后,若無按鍵按下,則為中音模式。若音階鍵被按下,則如下流程圖所示,初始化后進(jìn)行按鍵掃描,在高音鍵按下,若初始 yinjie 不為 2,則令 yinjie=2,進(jìn)入高音工作模式,若初始 yinjie 為 2,

21、則對 yinjie 進(jìn)行初始化,即另 yinjie=1,重新進(jìn)入進(jìn)入中音工作模式,這樣即實現(xiàn)了高音鍵切換高、中音方式的轉(zhuǎn)換。同理,用低音鍵實現(xiàn)中、低音的切換。初初始始化化音音階階為為1 1,即即中中音音階階判判斷斷是是否否有有音音階階按按鈕鈕按按下下判判斷斷哪哪個個音音階階按按下下y y音音階階= =2 2音音階階= =0 0設(shè)設(shè)定定音音階階= =2 2開開始始高高音音階階按按下下判判斷斷當(dāng)當(dāng)前前音音階階值值低低音音階階按按下下ny判判斷斷當(dāng)當(dāng)前前音音階階值值設(shè)設(shè)定定音音階階= =0 0ny音音階階= =1 1圖 3-2、判斷音階(高中低音)子程序(2) 播放子程序(包括自動播放存儲音樂和按鍵

22、發(fā)音)本設(shè)計共兩種播放模式,包括自動播放存儲音樂和按鍵發(fā)音。上電后,首先開中斷并設(shè)定定時器 0 為工作方式 1,當(dāng)自動播放鍵按下時,進(jìn)入中斷,根據(jù)樂譜在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時器賦初值,即開始播放音樂。當(dāng) do、re、mi、fa、so、la、si 七種音符鍵按下時,根據(jù)音階值(如 3.3.1中高中低對應(yīng))和音符值在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時器賦初值,即按鍵發(fā)音。開開始始開開中中斷斷并并設(shè)設(shè)定定工工作作方方式式寄寄存存器器有有鍵鍵按按下下自自動動播播放放鍵鍵按按下下進(jìn)進(jìn)入入中中斷斷給給定定時時器器t t0 0賦賦值值播播放放音音樂樂進(jìn)進(jìn)入入中中斷斷根根據(jù)據(jù)y yi

23、in nj ji ie e和和工工作作方方式式取取值值,并并在在數(shù)數(shù)組組查查找找相相應(yīng)應(yīng)音音律律給給定定時時器器t t0 0賦賦值值播播放放鍵鍵值值對對應(yīng)應(yīng)的的音音符符根根據(jù)據(jù)樂樂譜譜在在數(shù)數(shù)組組中中查查找找相相應(yīng)應(yīng)音音律律圖 3-3、播放子程序4.4. proteusproteus 軟件仿真軟件仿真4.1 硬件調(diào)試硬件調(diào)試主要是針對單片機部分進(jìn)行的調(diào)試。在上電之前,先確保電路中不存在斷路或短路情況,這一工作是整個調(diào)試工作的第一步,也是非常重要的一個步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測電路中是否存在斷路或者短路情況的任務(wù)。注意焊點之間,確保焊點沒有短接在一起,同時注意焊點的

24、美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。在確保硬件電路正常且無異常情況(斷路或短路)的情況下方可上電調(diào)試,上電調(diào)試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確,在本次設(shè)計中,上電調(diào)試主要是檢測單片機控制部分、數(shù)碼管點亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。1、數(shù)碼管 led 電路調(diào)試:接通電源,隨機按下按鈕可以看到數(shù)碼管顯示數(shù)字。2、鍵盤單片機控制部分調(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)運行,各個

25、模塊的子程序的正確與平穩(wěn)運行必不可少,所以在軟件調(diào)試的最初階段就是把各個子程序模塊進(jìn)行分別調(diào)試。4.3 仿真結(jié)果(任舉一例)圖 4-1、低音音符 re 仿真圖4.4 結(jié)果分析根據(jù)仿真結(jié)果可知,本次課程設(shè)計能夠準(zhǔn)確并徹底的完成設(shè)計要求。左側(cè)數(shù)碼管可以顯示 a、b、c 三種結(jié)果,分別代表低音、中音和高音。右側(cè)數(shù)碼管可以顯示 1、2、3、4、5、6、7 七個數(shù)字,分別代表do、re、mi、fa、so、la、si 七種音符。下面以 4.3 為例具體進(jìn)行分析:當(dāng)系統(tǒng)上電后,若按下低音鍵(如圖 p3.6),,則選定工作方式為低音模式,圖中a 即代表低音。p0 口連接數(shù)碼管段選端,右側(cè)數(shù)碼管顯示的 1 即代

26、表 do。兩位數(shù)碼管即代表低音 do。5.5. 課程設(shè)計體會課程設(shè)計體會總體來說,此次單片機課程設(shè)計使我們收獲良多,雖然課程設(shè)計的過程中遇到了很多困難與問題,但我們最終還是完成了設(shè)計的任務(wù)及要求。具體來說可以分為以下幾點:第一,不夠細(xì)心,不夠嚴(yán)謹(jǐn)(如因為粗心大意而焊錯線) ;第二,因?qū)φn本理論的掌握度不夠?qū)е戮幊坛霈F(xiàn)錯誤;第三,硬件方面,剛開始有的程序模塊不能實現(xiàn)預(yù)期的效果,對于有的硬件,在實物制作過程中焊了比較多的排線,同時對于整體各元器件的布局都有很高的要求。不過在向同學(xué)請教,各方面都有了不同程度的改善;第四,在做人方面,我認(rèn)識到,無論做什么事情,只要你足夠堅強,有足夠的毅力和決心,有足夠

27、的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。這次課程設(shè)計中,經(jīng)過我們的努力,在仿真軟件和實物上都實現(xiàn)了高、中、低 21 個音符的發(fā)聲和音樂的自動播放,使我們有了一定的成就感,也使我們進(jìn)一步熟悉和掌握了單片機的內(nèi)部結(jié)構(gòu)和工作原理,了解了單片機應(yīng)用系統(tǒng)設(shè)計的基本方法和步驟, 掌握了單片機仿真軟件 proteus 的使用方法和鍵盤、顯示器在的單片機控制系統(tǒng)中的應(yīng)用,同時也掌握了撰寫課程設(shè)計報告的方法??傊?,通過這次課程設(shè)計,我們都清楚明白了自己的能力有多深,想提高還得歸于多鍛煉,多動手,多向別人學(xué)習(xí)。參考文獻(xiàn)參考文獻(xiàn)【1】余發(fā)山、王福忠. 單片機原理及應(yīng)用技術(shù). 中國礦業(yè)大學(xué)出版社.2008 年 6月第

28、1 版【2】楊凌霄. 微型計算機原理與應(yīng)用,中國礦業(yè)大學(xué)出版社.2008 年 8 月第一版【3】康華光. 電子技術(shù)基礎(chǔ)(數(shù)字部分) ,高等教育出版社.第五版【4】徐志軍,伊廷輝等. eda 技術(shù)與 pld 設(shè)計 人民郵電出版社, 2006 年 2 月第1 版【5】李朝青. 單片機原理及接口技術(shù)m. 北京:北京航天航空大學(xué)出版色,2001.【6】胡漢才. 單片機原理及其接口技術(shù)m. 北京:清華大學(xué)出版社,2004.【7】 彭偉.單片機 c 語言程序設(shè)計實訓(xùn) 100 例.電子工業(yè)出版社.2009 年【8】 李建忠單片機原理及應(yīng)用西安:西安電子科技大學(xué),2002 年【9】 韓志軍等.單片機應(yīng)用系統(tǒng)設(shè)

29、計m.機械工業(yè)出版社,2004【10】 馬忠梅等.單片機的 c 語言應(yīng)用程序設(shè)計m.北京航空航天大學(xué)出版社,2006附附 1 1 源程序代碼源程序代碼#include #define keyport p1#define uchar unsigned char#define uint unsigned intuchar high,low; /定時器預(yù)裝值的高 8 位和低 8 位sbit speak=p30;sbit gao=p35;sbit di=p36;sbit zdbf=p37;uchar yinjie=1;uchar time;uchar n=0;uchar bo=0;uchar code

30、 fre2= 0 x8c,0 xf8,0 x5b,0 xf9,0 x15,0 xfa,0 x67,0 xfa,0 x90,0 xfb,0 xae,0 xfb,0 x0c,0 xfc, /低音 0 x44,0 xfc,0 xac,0 xfc,0 x09,0 xfd,0 x34,0 xfd,0 x82,0 xfd,0 xc2,0 xfd,0 x06,0 xfe, /中音0 x22,0 xfe,0 x56,0 xfe,0 x85,0 xfe,0 x9a,0 xfe,0 xc1,0 xfe,0 xe4,0 xfe,0 x03,0 xff, /高音 ;void delay(uint );void iti

31、mer0(void);/定時器初始化void key(void);void dtxs(int,int);void song()th0=high;tl0=low;tr0=1;delay(time*180); void yinyue()uchar code hls= 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,

溫馨提示

  • 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

提交評論