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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要摘要本設計主要研究基于 at89c52 單片機的簡易電子琴設計。它是以單片機作為主控核心,設置鍵盤、蜂鳴器等外圍器件;另外還用到一些簡單器件如:兩位數碼管,和 npn 型三極管及電阻等。利用按鍵實現音符和音調的輸入;兩位的數碼管進行被操作的按鍵顯示;用 npn 型三極管 8550 實現低音頻功率放大;最后用蜂鳴器進行播放“送別” 。本設計硬件部分主要由最小系統(tǒng),按鍵系統(tǒng)模塊、數碼管顯示模塊和蜂鳴器模塊組成。其軟件部分主要有主程序模塊、定時中斷程序、定時計數程序、顯示程序。(1)最小系統(tǒng):它是單片機應用系統(tǒng)的設計基礎。它包括單片機的選擇、時鐘系統(tǒng)設計、復位電路設計、簡單的 i/o 口擴展、掉

2、電保護等。(2)按鍵系統(tǒng)模塊:本設計采用 10 個按鍵,其中 7 個按鍵用來顯示 7 個音調,其它 3 個按鍵可以進行高低中音的切換,并自動播放已存歌曲。(3)數碼管顯示模塊:sm420562 段選端接在單片機的 p0 口,兩個位選端分別接在 p20 和 p21。(4)蜂鳴器模塊:此電子琴發(fā)音電路是通過三極管驅動蜂鳴器發(fā)音,經過上拉電阻提高驅動能力。本次設計首先對單片機設計簡易電子琴仔細分析,接著制作硬件電路和編寫軟件的程序,最后進行軟硬件的調試運行。并且從原理圖,主要芯片,各模塊的原理和各個模塊的程序調試來闡述。利用單片機產生不同頻率來獲得我們要求的音階,實現高、中、低共 21 個音符的發(fā)音

3、和顯示和音樂播放時的控制顯示,并且能自動播放程序中編排的音樂。系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比高等,具有一定的使用和參考價值。目錄目錄1.1.概述概述.41.1 設計背景 .41.2 設計意義 .41.3 設計任務 .42.2.系統(tǒng)總體方案及硬件設計系統(tǒng)總體方案及硬件設計.52.1 總體設計.52.2 單片機選型 .62.3 單片機的最小工作系統(tǒng) .62.3.1 時鐘電路.62.3.2 復位電路.72.4 原理框圖.72.5 顯示部分設計.82.5.1 數碼顯示方式.82.5.2 八位數碼管的結構.82.6 按鍵部分設計.92.6.1 操作鍵設計.92.6

4、.2 鍵盤設計.92.6.3 去抖動.102.7 發(fā)音部分設計.113.3.系統(tǒng)軟件設計系統(tǒng)軟件設計.123.1 系統(tǒng)分析.123.1.1 系統(tǒng)軟件的組成.123.1.2 系統(tǒng)總體功能流程圖 .133.2 參數計算.143.2.1 發(fā)音原理.143.2.2 計算舉例 .143.2.3 計算結果 .143.3 程序設計.163.3.1 判斷音階(高中低音)子程序 .163.3.2 播放子程序(包括自動播放存儲音樂和按鍵發(fā)音) .174.4. proteusproteus 軟件仿真軟件仿真.194.1 硬件調試.194.2 軟件調試 .194.3 仿真結果(任舉一例) .204.4 結果分析 .2

5、05.5. 課程設計體會課程設計體會.21參考文獻.22附 1 源程序代碼 .23附 2 系統(tǒng)原理圖 .321.概述概述1.1 設計背景隨著電子科學技術的飛速發(fā)展,電子技術正在逐漸改善著人們的學習、生活、工作,因此開發(fā)本系統(tǒng)希望能夠給人們帶來更多的生活樂趣。基于當前市場上的玩具需求量增大,其中電子琴就是一個很好的應用方面。單片機技術使我們可以利用軟硬件來實現電子琴的功能,從而可以實現電子琴的微型化,可以用作玩具琴、音樂轉盤以及音樂童車等等。并且可以進行一定的功能擴展。鑒于傳統(tǒng)電子琴可以用鍵盤上的“1”到“a”鍵演奏從低 so 到高do 等 11 個音,從而也可以通過單片機實現對十個按鍵的擴展,

6、實現七個音符鍵的高、中、低 21 個音調的顯示播放和任意音樂的自動播放。該設計將十個音鍵制作成獨立鍵盤,其中七個為音符鍵,三個為控制鍵,并用數碼管進行顯示,使電子琴的功能更加完美。不但可以實現對按鍵的顯示,而且可以實現對音樂的自動存儲和播放,使該設計功能更加完善。1.2 設計意義該設計具有以下優(yōu)點:可以方便得知播放的音符和音調;比傳統(tǒng)電子琴功能更完善;制作簡單,成本低;1.3 設計任務 實現電子琴發(fā)聲控制系統(tǒng);要求電路實現如下功能:利用蜂鳴器作為發(fā)聲部件,兩個數碼管作為顯示部件,設置 10 個按鍵,實現高音、中音、低音的 1、2、3、4、5、6、7 的發(fā)音。并在存儲一首歌曲的內容,可以實現自動

7、播放。 用 proteus 實現的電子琴仿真設計說明:單片機的工作時鐘頻率為 11.0592mhz。2.系統(tǒng)總體方案及硬件設計系統(tǒng)總體方案及硬件設計2.1 總體設計實現本次設計的方案有多種,下面比較說明一下最佳方案的選擇。方案一:采用單個的邏輯器件組合音樂是有由不同的音階組成的,而不同的音階又是由不同的頻率發(fā)出的,那么利用不同的頻率,就可以發(fā)出不同的音樂了。我們知道計數器 8253 可以產生任意頻率的方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率與計數器的頻率對應起來就可通過計數器產生音樂了。根據本實驗要求,采用 8279 將鍵掃得到的鍵值通過查表得到相應的 8253的頻率值,將從 82

8、53 得到相對應的按鍵彈奏信號經過 lm386 進行放大,再用喇叭輸出,就實現了簡易電子琴的基本功能,也就完成了實驗的要求。方案二:用 vhdl 語言編程來實現系統(tǒng)整體基本原理圖如下:圖 1、系統(tǒng)整體基本原理圖利用我們實驗室先進的數字電路實驗設備,我們可以采用 vhdl 語言編程來實現。我們可以通過 vdhl 語言,對實驗原理圖的各個部分進行設計,通過編譯,可以在計算機上下載此實驗原理圖,利用電路學習機上的芯片。我們很快就可以設計出一個簡單的電子琴。并實現其功能。方案三:采用 at89s52 單片機作為主控芯片,設置鍵盤、蜂鳴器等外圍器件,另外還用到一些簡單器件如:兩位數碼管,和 npn 型三

9、極管及電阻等。利用按鍵實現音符和音調的輸入;兩位的數碼管進行被操作的按鍵顯示;用 npn型三極管 8550 實現低音頻功率放大;最后用蜂鳴器發(fā)音。三種方案的比較:方案一采用單個的邏輯器件組合實現。這樣雖然比較直觀,邏輯器件分工鮮明,思路也比清晰,一目了然,但是由于元器件種類、個數繁多,而過于復雜的硬件電路也容易引起系統(tǒng)的精度不高、體積過大等不利因素。例如七個不同的音符是由七個不同的頻率來控制發(fā)出的,所用儀器之多顯而易見。方案二采用 vhdl 語言編程來實現電子琴的各項功能。系統(tǒng)主要由電子琴發(fā)聲模塊、選擇控制模塊和儲存器模塊組成。和方案一相比較,方案二就顯得比較籠統(tǒng),雖然我們可以看到用超高速硬件

10、描述語言 vhdl 的優(yōu)勢,但本質上它只是把整個系統(tǒng)分為了若干個模塊,而不牽涉到具體的硬件電路。方案三與前兩種方案相比,主控芯片采用 at89s52 單片機,它是大規(guī)模集成電路技術發(fā)展的產物,具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應用廣泛的特點。同時具有強大的控制功能和靈活的編程實現特性,由于本設計主要用于人們娛樂方面,因此在設計上盡量使其安全以及簡單易操作。而第三種方案具有經濟可行性、技術可行性、實物應用性。綜上所述,本次課程設計采用第三種方案。2.2 單片機選型硬件電路要以單片機作為主控芯片,實現按鍵輸入音符和音調,兩位數碼管的顯示以及低音頻功率放大和蜂鳴器發(fā)音。針對本設計的功能

11、和用途,采用at89s51 單片機更好,實現功能完全,性價比較高,更適合本設計。2.3 單片機的最小工作系統(tǒng)單片機加上適當的外圍器件和應用程序,構成的應用系統(tǒng)稱為最小系統(tǒng)。2.3.1 時鐘電路 單片機內部具有一個高增益反相放大器,用于構成振蕩器。通常在引腳xtall 和 xtal2 跨接石英晶體和兩個補償電容構成自激振蕩器,結構圖 2 中x1、c1、c2??梢愿鶕闆r選擇 6mhz、12mhz 或 24mhz 等頻率的石英晶體,補償電容通常選擇 30pf 左右的瓷片電容。圖 2、時鐘電路2.3.2 復位電路 單片機小系統(tǒng)常采用上電自動復位和手動按鍵復位兩種方式實現系統(tǒng)的復位操作。上電復位要求接

12、通電源后,自動實現復位操作。手動復位要求在電源接通的條件下,在單片機運行期間,用按鈕開關操作使單片機復位。其結構如下圖。上電自動復位通過電容 c3 充電來實現。手動按鍵復位是通過按鍵將電阻r1 與 vcc 接通來實現。圖 3、復位電路2.4 原理框圖本系統(tǒng)有主控芯片 89s52、發(fā)音單元、顯示模塊、按鍵模塊組成。89s52單片機按鍵模塊發(fā)音單元顯示模塊圖 4、原理框圖2.5 顯示部分設計2.5.1 數碼顯示方式數碼顯示有靜態(tài)顯示方式與動態(tài)顯示方式兩種。工作在靜態(tài)顯示方式時,數碼管的位線與電源一直相連,數碼管中的二極管均處于通電狀態(tài),即在靜態(tài)工作方式下,顯示電路中數碼管的位選線是同時選通,而數碼

13、管的段選線是獨立輸入。工作在動態(tài)顯示方式時,數碼管的位線在掃描控制電路的控制下按設定順序導通,即電路中的數碼管是逐個接通電源,數碼管的段選線以并聯方式與譯碼電路聯接,即在動態(tài)工作方式下,數碼管不是同時導通顯示而是按照設定順序分時導通顯示。2.5.2 八位數碼管的結構本次課程設計的顯示電路采用兩位數碼管進行顯示,由于此設計采用的是共陰極的,使用時不加限流電阻。為了顯示字符,要為 led 顯示器段碼,除了組成 8 字形的字符的 7 段,另加上 1 個小數點位,共計 8 段, 因此提供給 led 顯示器的顯示段碼為 1 個字節(jié)。 圖 5、數碼管電路2.6 按鍵部分設計2.6.1 操作鍵設計常用的按鍵

14、有三種:機械觸點式按鍵、導電橡膠式和柔性按鍵(又稱觸摸式鍵盤) 。 機械觸點式按鍵是利用機械彈性使鍵復位,手感明顯,連線清晰,工藝簡單,適合單件制造。但是觸點處易侵入灰塵而導致接觸不良,體積相對較大。 導電橡膠按鍵是利用橡膠的彈性來復位,通過壓制的方法把面板上所有的按鍵制成一塊,體積小,裝配方便,適合批量生產。但是時間長了,橡膠老化而使彈力下降,同時易侵入灰塵。 柔性按鍵是近年來迅速發(fā)展的一種新型按鍵,可以分為凸球型和平面型兩種。柔性按鍵最大特點是防塵、防潮、耐蝕,外形美觀,裝嵌方便。而且外形和面板的布局、色彩、鍵距可按照整機的要求來設計。但是由于客觀條件與經濟能力有限,本系統(tǒng)采用機械觸點式按

15、鍵。2.6.2 鍵盤設計鍵盤在單片機應用系統(tǒng)中是一個關鍵的部件,它能實現向計算機輸入數據,傳送命令等功能,是人工干預計算機的主要手段。鍵盤可以分為 2 類:獨立連接式鍵盤和矩陣式鍵盤。(1)矩陣式鍵盤單片機系統(tǒng)中,若按鍵較多時,通常采用矩陣式(也稱行列式)鍵盤。矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點上。顯然,在按鍵數量較多時,矩陣式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多 i/o 口。矩陣式鍵盤中,行、列線分別連接到按鍵開關的兩端,行線通過上拉電阻接到+5v 上當無鍵按下時,行線處于高電平狀態(tài);當有鍵按下時,行、列線將導通,此時,行線電平將由與此行線相連的列線電平決定。這是識別按鍵是否按

16、下的關鍵。(2)獨立連接式鍵盤獨立式按鍵是直接用 i/o 口線構成的單個按鍵電路,其特點是每個按鍵單獨占用一根 i/o 口線,每個按鍵的工作不會影響其它 i/o 口線的狀態(tài)。獨立式按鍵電路配置靈活,軟件結構簡單,但每個按鍵必須占用一根 i/o 口線,然而,在按鍵較多時,i/o 口線浪費較大,不宜采用。獨立式按鍵軟件常采用查詢式結構。先逐位查詢每根 i/o 口線的輸入狀態(tài),如某一根 i/o 口線輸入為低電平,則可確認該 i/o 口線所對應的按鍵已按下,然后,再轉向該鍵的功能處理程序。由于本程序較為簡單,為了使用方便及節(jié)省資源,選擇獨立式鍵盤。下圖為獨立式鍵盤電路圖: 圖 6、獨立式鍵盤電路圖2.

17、6.3 去抖動鍵盤編程中主要考慮去抖動的問題。當測試表明有鍵被按下之后,緊接著就進行去抖動處理。因為鍵是機械開關結構,由于機械觸點的彈性及電壓突跳等原因,在觸點閉合或斷開的瞬間會出現電壓抖動。為保證鍵識別的準確,在電壓信號抖動的情況下不能進行行狀態(tài)輸入。為此需進行去抖動處理。去抖動有硬件和軟件兩種方法。硬件方法就是加去抖動電路,從根本上避免抖動的產生。軟件消抖,在第一次檢測到有鍵按下時,執(zhí)行一段延時程序之后,再檢測此按鍵,如果第二次檢測結果仍為按下狀態(tài),cpu 便確認此按鍵己按下,消除了抖動。2.7 發(fā)音部分設計如下圖所示,發(fā)音電路是由蜂鳴器、三極管、上拉電阻構成。由三極管來驅動揚聲器發(fā)音的,

18、同時加上拉電阻增強驅動電流,提高驅動能力。圖 7、獨立式鍵盤電路圖3.系統(tǒng)軟件設計系統(tǒng)軟件設計3.1 系統(tǒng)分析3.1.1 系統(tǒng)軟件的組成 (1)鍵盤掃描程序:檢測是否有按鍵按下,有按鍵按下則記錄按下鍵的鍵值,并跳轉至功能轉移程序;無按鍵按下,則返回鍵盤掃描程序繼續(xù)檢測。 (2)功能轉移程序:對檢測到的按鍵值進行判斷,是琴鍵則跳轉至琴鍵處理程序,是功能鍵則跳轉至相應的功能程序,我們設計的功能程序有兩種,即音色調節(jié)功能和自動播放樂曲的功能。 (3)琴鍵處理程序:根據檢測到的按鍵值,查詢音調表,給計時器賦值,使發(fā)出相應頻率的聲音。 (4)自動播放歌曲程序:檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該

19、程序,電子琴會自動播放事先已經存放的歌曲,歌曲播放完畢之后自動返回至鍵盤掃描程序,繼續(xù)等待是否有按鍵按下。3.1.2 系統(tǒng)總體功能流程圖開始初始化t0自動播放鍵按下鍵盤掃描程序bo+音階鍵按下得到高中低三種方式判斷p0口輸入,設定鍵值鍵值不為0根據7個鍵值和工作方式確定t0值啟動t0選擇數碼管1顯示工作方式選擇數碼管2顯示7個音調,發(fā)出對應聲音關閉聲音播放內部存儲音樂bo/2=0nyynyn圖 8、系統(tǒng)總體功能流程圖3.2 參數計算3.2.1 發(fā)音原理若要產生音頻脈沖,只要算出某一音頻的周期(1/頻率) ,再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將p1.0

20、 反相,然后重復計時再反相。就可在 p1.0 引腳上得到此頻率的脈沖。利用 at89c51 的內部定時器使其工作計數器模式(mode1)下,改變計數值 th0及 tl0 以產生不同頻率的方法產生不同音階。3.2.2 計算舉例例如,頻率為 523hz,其周期 t1/5231912s,因此只要令計數器計時956s/1s956,每計數 956 次時將 i/o 反相,就可得到中音 do(523hz) 。計數脈沖值與頻率的關系式是:nfi2fr,式中,n 是計數值;fi 是機器頻率(晶體振蕩器為 12mhz 時,其頻率為 1mhz) ;fr 是想要產生的頻率。其計數初值 t 的求法如下:t65536n6

21、5536fi2fr例如:設 k65536,fi1mhz,求中音 do(261hz) 。t65536n65536fi2fr6553610000002fr65536500000/fr,中音 do 的 t65536500000/52364580。3.2.3 計算結果(1)單片機 12mhz 晶振,中音符與計數 t0 相關的計數值如表所示:音符頻率(hz)計數值(t 值) 音符頻率(hz)計數值(t值)低 1do26263628#4fa#74064860#1do#27763737中 5so78464898低 2re29463835#5so#83194934#2re#31163928中 6la88064

22、968低 3mi33064021#6la#93264994低 4fa34964103中 7si96865030#4fa#37064185低 1do104665058低 so39264260#1do#110965085#5so#41564331高 2re117565110低 6la44064400#2re#124565134#6la#46664463高 3mi131865157低 7si49464524高 4fa139765178中 1do52364580#4fa#149065198#1do#55464633高 5so156865217中 2re58764633#5so#166165235#2r

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

24、25ms上表中的頻率數值,有些過多,去掉不常用的黑鍵頻率,只是把白鍵對應的數據存放在單片機中,即可滿足絕大部分的應用需求。定義音調數據表的程序如下: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ū):1 2 3 4 5 6 7把這個數據表,放在程序中,需要播音的時

25、候,就從表中取出一個數據送到定時器,當定時器溢出中斷的時候,再對輸出引腳取反,那么,在揚聲器中,即可聽到上表中頻率的聲音。3.3 程序設計3.3.1 判斷音階(高中低音)子程序 在軟件設計中采用 yinjie 代表音階,如下圖所示音階yinjie 值高2中1低0初始化狀態(tài)為中音(yinjie=1) ,電路中設計高、低兩個音階鍵。上電后,若無按鍵按下,則為中音模式。若音階鍵被按下,則如下流程圖所示,初始化后進行按鍵掃描,在高音鍵按下,若初始 yinjie 不為 2,則另 yinjie=2,進入高音工作模式,若初始 yinjie 為 2,則對 yinjie 進行初始化,即另 yinjie=1,重新

26、進入進入中音工作模式,這樣即實現了高音鍵切換高、中音方式的轉換。同理,用低音鍵實現中、低音的切換。初始化設定yinjie=1,即方式為中音高音選擇按下yinjie=2開始設定yinjie=2判斷工作方式y(tǒng)injie=0判斷yinjie值判斷yinjie值設定yinjie=0低音選擇按下nynyn圖 9、判斷音階(高中低音)子程序3.3.2 播放子程序(包括自動播放存儲音樂和按鍵發(fā)音)本設計共兩種播放模式,包括自動播放存儲音樂和按鍵發(fā)音。上電后,首先開中斷并設定定時器 0 為工作方式 1,當自動播放鍵按下時,進入中斷,根據樂譜在定義的音頻數組中查找相應音律,然后給定時器賦初值,即開始播放音樂。當

27、 do、re、mi、fa、so、la、si 七種音符鍵按下時,根據音階值(如 3.3.1中高中低對應)和音符值在定義的音頻數組中查找相應音律,然后給定時器賦初值,即按鍵發(fā)音。開始開中斷并設定工作方式寄存器進入中斷根據樂譜在數組中查找相應音律給定時器t0賦值自動播放鍵按下根據yinjie和工作方式取值,并在數組中查找相應音律有鍵按下播放音樂給定時器t0賦值播放鍵值對應的音符ny進入中斷圖 10、播放子程序4. proteus 軟件仿真軟件仿真4.1 硬件調試硬件調試主要是針對單片機部分進行的調試。在上電之前,先確保電路中不存在斷路或短路情況,這一工作是整個調試工作的第一步,也是非常重要的一個步驟

28、。在這部分調試中主要使用的工具是萬用表,用來完成檢測電路中是否存在斷路或者短路情況的任務。注意焊點之間,確保焊點沒有短接在一起,同時注意焊點的美觀,確保沒有開路以及短路的現象出現。在確保硬件電路正常且無異常情況(斷路或短路)的情況下方可上電調試,上電調試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確,在本次設計中,上電調試主要是檢測單片機控制部分、數碼管點亮部分、和音頻轉換電路硬件調試。1、數碼管 led 電路調試:接通電源,隨機按下按鈕可以看到數碼管顯示數字。2、鍵盤單片機控制部分調試:上電后,隨機按動鍵盤可以發(fā)現各個按鍵對應的音正確。4.2 軟件調試調試主要方法和技巧:通常一個調試程序

29、應該具備至少四種性能:跟蹤、斷點、查看變量、更改數值。整個程序是一個主程序調用各個子程序實現功能的過程,要使主程序和整個程序都能平穩(wěn)運行,各個模塊的子程序的正確與平穩(wěn)運行必不可少,所以在軟件調試的最初階段就是把各個子程序模塊進行分別調試。4.3 仿真結果(任舉一例)圖 10、低音音符 do 仿真圖4.4 結果分析根據仿真結果可知,本次課程設計能夠準確并徹底的完成設計要求。左側數碼管可以顯示 a、b、c 三種結果,分別代表低音、中音和高音。右側數碼管可以顯示 1、2、3、4、5、6、7 七個數字,分別代表do、re、mi、fa、so、la、si 七種音符。下面以 4.3 為例具體進行分析:當系統(tǒng)

30、上電后,若按下低音鍵(如圖 p3.6),,則選定工作方式為低音模式,圖中a 即代表低音。p0 口連接數碼管段選端,右側數碼管顯示的 1 即代表 do。兩位數碼管即代表低音 do。5. 課程設計體會課程設計體會總體來說,此次單片機課程設計使我們收獲良多,雖然課程設計的過程中遇到了很多困難與問題,但我們最終還是完成了設計的任務及要求。具體來說可以分為以下幾點:第一,不夠細心,不夠嚴謹(如因為粗心大意而焊錯線) ;第二,因對課本理論的掌握度不夠導致編程出現錯誤;第三,硬件方面,剛開始有的程序模塊不能實現預期的效果,對于有的硬件,在實物制作過程中焊了比較多的排線,同時對于整體各元器件的布局都有很高的要

31、求。不過在向同學請教,各方面都有了不同程度的改善;第四,在做人方面,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力和決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。這次課程設計中,經過我們的努力,在仿真軟件和實物上都實現了高、中、低 21 個音符的發(fā)聲和音樂的自動播放,使我們有了一定的成就感,也使我們進一步熟悉和掌握了單片機的內部結構和工作原理,了解了單片機應用系統(tǒng)設計的基本方法和步驟, 掌握了單片機仿真軟件 proteus 的使用方法和鍵盤、顯示器在的單片機控制系統(tǒng)中的應用,同時也掌握了撰寫課程設計報告的方法??傊?,通過這次課程設計,我們都清楚明白了自己的能力有多深,想提高還得歸于

32、多鍛煉,多動手,多向別人學習。參考文獻參考文獻【1】余發(fā)山、王福忠. 單片機原理及應用技術. 中國礦業(yè)大學出版社.2008 年 6 月第 1 版【2】楊凌霄. 微型計算機原理與應用,中國礦業(yè)大學出版社.2008 年 8 月第一版【3】康華光. 電子技術基礎(數字部分) ,高等教育出版社.第五版【4】徐志軍,伊廷輝等. eda 技術與 pld 設計 人民郵電出版社, 2006 年 2 月第 1 版【5】李朝青. 單片機原理及接口技術m. 北京:北京航天航空大學出版色,2001.【6】胡漢才. 單片機原理及其接口技術m. 北京:清華大學出版社,2004.附 1 源程序代碼#include #def

33、ine keyport p1#define uchar unsigned char#define uint unsigned intuchar high,low; /定時器預裝值的高定時器預裝值的高 8 8 位和低位和低 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 fre2= 0 x8c,0 xf8,0 x5b,0 xf9,0 x15,0 xfa,0 x67,0 xfa,0 x90,0 xfb,0 xae

34、,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 itimer0(void);/定時器初始化定時器初始化void key(void);void dtxs(int,int);void son

35、g()th0=high;tl0=low;tr0=1;delay(time*240); void yinyue()uchar code hls= 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

溫馨提示

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

評論

0/150

提交評論