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

下載本文檔

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

文檔簡介

1、單片機系統(tǒng)課 程 設(shè) 計成績評定表設(shè)計課題 : 基于89c51的電子琴的設(shè)計 學院名稱 : 電氣工程學院 專業(yè)班級 : 學生姓名 : 學 號 : 指導教師 : 設(shè)計地點 : 設(shè)計時間 : 指導教師意見:成績: 簽名: 年 月 日單片機系統(tǒng)課 程 設(shè) 計課程設(shè)計名稱: 基于89c51的電子琴的設(shè)計 專 業(yè) 班 級 : 學 生 姓 名 : 學 號 : 指 導 教 師 : 課程設(shè)計地點: 課程設(shè)計時間: 單片機系統(tǒng) 課程設(shè)計任務(wù)書學生姓名專業(yè)班級學號題 目課題性質(zhì)工程設(shè)計課題來源自擬指導教師李攀峰主要內(nèi)容(參數(shù))1、利用89c51單片機設(shè)計一個簡單的具有演奏功能的電子琴;2、通過led數(shù)碼管顯示音階

2、的高低;3、通過4*4按鍵演奏出從低so到高do等16個音,從而可以用來彈奏喜歡的樂曲。任務(wù)要求(進度)第1-2天:熟悉課程設(shè)計任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計方案。第3-4天:按照確定的方案設(shè)計單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計要有詳細論述。第5-6天:軟件設(shè)計,編寫程序。第7-8天:實驗室調(diào)試。第9-10天:撰寫課程設(shè)計報告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計正確,篇幅合理。主要參考資料1 張迎新單片微型計算機原理、應(yīng)用及接口技術(shù)(第2版)m北京:國防工業(yè)出版社,20042偉福lab6000系列單片機仿真實驗系統(tǒng)使用說明書3

3、 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,2006審查意見系(教研室)主任簽字: 年 月 日 目 錄1.緒論21.1電子琴概述21.2設(shè)計思想及基本功能32.總體方案設(shè)計32.1方案設(shè)計32.2方案設(shè)計要求32.3電子琴系統(tǒng)的組成42.4系統(tǒng)框圖43.硬件電路設(shè)計53.1單片機最小系統(tǒng)模塊設(shè)計53.1.1at89c51單片機53.1.2 單片機最小系統(tǒng)模塊硬件設(shè)計93.2按鍵控制模塊設(shè)計103.3音頻輸出模塊設(shè)計103.3.1lm386音頻放大器103.3.2 音頻輸出模塊硬件接線設(shè)計113.4 led數(shù)碼管顯示模塊設(shè)計114.系統(tǒng)軟件設(shè)計124.1 軟件設(shè)計思想124.2音樂知識

4、以及播放原理124.3軟件設(shè)計流程圖145.總結(jié)16參考文獻:17附錄18附錄一 系統(tǒng)原理圖18附錄二 程序代碼191.緒論 1.1電子琴概述 隨著社會的發(fā)展進步,音樂是人們生活中不可或缺的元素,音樂可以使人放松心情,陶冶情操,要演奏出好的音樂需要好的樂器,而且伴隨著電子技術(shù)的快速發(fā)展,電子技術(shù)正在逐漸改善著人們的學習、生活、工作。基于當前市場上的玩具市場需求量大,其中電子琴就是一個很好的應(yīng)用方面。單片機技術(shù)使我們可以利用軟硬件實現(xiàn)電子琴的功能,從而實現(xiàn)電子琴的微型化,可以用作玩具琴、音樂轉(zhuǎn)盤以及音樂童車等等,并且可以進行一定的功能擴展。鑒于傳統(tǒng)電子琴可以用鍵盤上的“k0”到“k16”鍵演奏從

5、低so到高do等16個音,從而可以用來彈奏喜歡的樂曲。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器,它在現(xiàn)代音樂中扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現(xiàn)特性,他已經(jīng)融入了讓人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用at89c51單片機為核心控制元件,設(shè)計一個電子琴。以單片機為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個按鍵和揚聲器。1.2設(shè)計思想及基本功能本設(shè)計采用51系列單片機at89c51為主控制器,附有一個4*4按鍵矩陣鍵盤、led數(shù)碼顯示管和揚聲器,系統(tǒng)完成顯示輸入信息、播放相應(yīng)音符等基本功能。利用單片機產(chǎn)生不同

6、頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。按下矩陣鍵盤中的按鍵會使數(shù)碼管顯示當前按鍵,揚聲器播放對應(yīng)的音符。鑒于傳統(tǒng)電子琴可以用鍵盤上的“k0”到“k16”鍵演奏從低so到高do等16個音,從而可以用來彈奏喜歡的樂曲。本設(shè)計可實現(xiàn)的功能為:通過4*4矩陣鍵盤的按鍵,當按下其中某一個按鍵時,揚聲器可發(fā)出對應(yīng)的音階,并且led數(shù)碼管可以顯示出當前的音階大小,從而可以彈奏出美妙的樂曲。2.總體方案設(shè)計2.1方案設(shè)計方案一:用可控硅制作電子琴。將220v交流電經(jīng)變壓器降壓,再經(jīng)過整流、濾波,獲得+13.5v直流電壓。將單向可控硅scr和電阻、電容組成馳張振蕩器電路。但該設(shè)計方案制作成本高

7、且復雜。方案二:采用at89s51單片機進行控制,由于其性價比高,完全滿足了本設(shè)計智能化的要求,它的內(nèi)部程序存儲空間為4k,完全滿足了本設(shè)計的需要,并且使用方便,抗干擾性能高。鑒于上述兩個方案的優(yōu)略比較和分析,本設(shè)計采用第二種方案。2.2方案設(shè)計要求關(guān)于電子琴的設(shè)計,具體要求如下:1. 音階高低的處理,利用定時器來控制頻率,而每個音符的符號只是存在我自己定義的要求達到電子琴的基本功能,可以演奏出簡單的樂曲。2. 用鍵盤做出電子琴的按鍵,每一個鍵代表一個音符。3. 各音符按一定的順序排列,必須符合電子琴的按鍵排列順序。2.3電子琴系統(tǒng)的組成單片機因體積小、功能強、價格低廉而得到廣泛的應(yīng)用。通過在

8、市面上的多種單片機的比較,at89c51在性能上基本符合本系統(tǒng)的要求,并且價格比較便宜,而且對我們來說比較熟悉,所以采用該單片機。本設(shè)計是以at89c51為核心控件,外部擴展一組矩陣鍵盤,接一個發(fā)光二極管來指示電子琴的工作狀態(tài),加一個led數(shù)碼管顯示當前所按的音階。本系統(tǒng)分為兩個部分:一個是音頻放大器,另一個就是電子琴的鍵盤。音樂播放部分:樂音實際上是有固定的周期信號,本系統(tǒng)采用at89c51的兩個定時器(t0,t1)控制,在p1.0腳上輸出方波周期信號,產(chǎn)生樂音,通過矩陣鍵盤按鍵產(chǎn)生不同的音符,由此操作人員可以隨心所欲的彈奏自己所喜愛的樂曲。由于一首音樂是由許多不同的音階組成的,而每個音階對

9、應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當然對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器t0(或t1)來產(chǎn)生這樣的方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。樂曲中,每一個音符對應(yīng)著確定的頻率,我們將每一個音符的時間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成一個表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實現(xiàn)演奏。2.4系統(tǒng)框圖 該系統(tǒng)通過電子琴按鍵隨意鍵入所要表達的音符,作為電平送給主體電路,中央處理器通過識別,解碼輸出音符,在揚聲器中發(fā)出有效的聲音,通過這樣可以不斷的彈奏音

10、樂。本設(shè)計主要模塊由四個部分組成:按鍵模塊、主控模塊、音頻模塊、led顯示模塊。如圖2-1所示:圖2-1系統(tǒng)框圖 圖2-1為此次設(shè)計中的電子琴的硬件結(jié)構(gòu)圖,我們運用單片機的最小系統(tǒng),用p3口的高四位和p3口的低四位座4*4矩陣式鍵盤的接口,用p0口作數(shù)碼管的接口,用p1.0作信號輸出口。整個系統(tǒng)分為四個模塊,at89c51單片機作為核心控制模塊,矩陣鍵盤式輸入模塊,音頻放大器和數(shù)碼管顯示是輸出模塊。3.硬件電路設(shè)計硬件電路包括單片機最小系統(tǒng)、按鍵控制電路、音頻輸出和數(shù)碼管顯示電路四大模塊。3.1單片機最小系統(tǒng)模塊設(shè)計 3.1.1at89c51單片機 at89c51是一個低功耗高性能cmos 8

11、位單片機片內(nèi)含4k bytes isp(in-system programmable)的可反復擦寫1000次的flash只讀程序存儲器器件采用atmel公司的高密度、非易失性存儲技術(shù)制造兼容標準mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu)芯片內(nèi)集成了通用8位中央處理器和isp flash存儲單元功能強大的微型計算機的at89c51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。 at89c51具有如下特點:40個引腳(引腳圖如圖3-1所示),4k bytes flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器ram,32個外部雙向輸入/輸出i/o口,5個中斷優(yōu)先級2層中斷嵌套中斷,

12、2個16位可編程定時計數(shù)器,2個全雙工串行通信口,片內(nèi)時鐘振蕩器。此外at89c51設(shè)計和配置了振蕩頻率可為0hz并可通過軟件設(shè)置省電模式??臻e模式下cpu暫停工作而ram定時計數(shù)器串行口外中斷系統(tǒng)可繼續(xù)工作掉電模式凍結(jié)振蕩器而保存ram的數(shù)據(jù)停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有pdip、tqfp和plcc等三種封裝形式以適應(yīng)不同產(chǎn)品的需求。 其主要特性如下: 與mcs-51 兼容 4k字節(jié)可編程flash存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時間:10年 全靜態(tài)工作:0hz-24mhz 三級程序存儲器鎖定 1288位內(nèi)部ram 32可編程i/o線 兩個16位定時器/

13、計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 圖3-1at89c51引腳排列圖 vcc:供電電壓。 gnd:接地。 p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。 p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下

14、拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。 p

15、3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口也可作為at89c51的一些特殊功能口,如表3-1所示:表3-1 p3口管腳特殊功能p3口管腳特殊功能p3.0 rxd串行輸入口p3.1 txd串行輸出口p3.2 /int0外部中斷0p3.3 /int1外部中斷1p3.4 t0記時器0外部輸入p3.5 t1記時器1外部輸入p3.6 /wr外部數(shù)據(jù)存儲器寫選通p3.7 /rd外部數(shù)據(jù)存儲器讀選通p3口同時為閃爍編程和編程校驗

16、接收一些控制信號。 rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。 ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間。此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時 ale只有在執(zhí)行movxmovc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 /p

17、sen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。 /ea/vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset,當/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。 振蕩器特性: xtal1和xtal2分別為反向放大器的輸入和輸出。該反向

18、放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件xtal2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。3.1.2 單片機最小系統(tǒng)模塊硬件設(shè)計 單片機必須在時鐘的驅(qū)動下才能工作。在單片機內(nèi)部有一個時鐘振蕩電路只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機內(nèi)部的各個單元決定單片機的工作速度。外部振蕩源電路一般選用石英晶體振蕩器,此電路在加點大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。 如圖3-2時鐘電路所示

19、,電路中兩個電容c1,c2用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調(diào)。c1,c2的典型值為30pf。 單片機在工作時,由內(nèi)部振蕩器產(chǎn)生的周期或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期,稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),通常用fosc表示。如時鐘頻率為12mhz即fosc12mhz則時鐘周期為1/12s。圖3-2 單片機時鐘電路 3.2按鍵控制模塊設(shè)計 在鍵盤中按鍵數(shù)量較多時,為了減少i/o口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如p3口)就可以構(gòu)成4*4=16個按鍵,比之

20、直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。 矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,圖3-3中,行線所接的單片機的i/o口作為輸出端,而列線所接的i/o口則作為輸入。這樣,當按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低。這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。圖3-3 矩陣鍵盤連線設(shè)計3.3音頻輸出模塊設(shè)計3.3.1lm386音頻放大器lm386是美國國家半導體公

21、司生產(chǎn)的音頻功率放大器主要應(yīng)用于低電壓消費類產(chǎn)品。lm386是一種音頻集成功放具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點廣泛應(yīng)用于錄音機和收音機之中。lm386特性如下: 靜態(tài)功耗低,約為4ma,可用于電池供電。 工作電壓范圍寬,4v-12v或5v-18v。外圍元件少。 電壓增益可調(diào),20-200。 低失真度。 3.3.2 音頻輸出模塊硬件接線設(shè)計音頻放大器的接線比較簡單,具體接線如圖3-4所示,后接揚聲器即可。圖3-4 音頻放大電路接線圖3.4 led數(shù)碼管顯示模塊設(shè)計 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元,多

22、一個小數(shù)點顯示,按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管,按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(com)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到+5v,當某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到地線gnd上,當某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。 在本設(shè)計中,由于只需要顯示音階對應(yīng)的數(shù)字,所以我們選用7段數(shù)碼管。7段

23、數(shù)碼管如圖3-5所示:圖3-5 led數(shù)碼管顯示電路圖4.系統(tǒng)軟件設(shè)計4.1 軟件設(shè)計思想 本系統(tǒng)主要采用at89c51單片機為核心,與鍵盤、揚聲器等模塊組成核心主控制模板,利用定時器可以發(fā)出不同頻率的脈沖,不同頻率的脈沖經(jīng)喇叭驅(qū)動電路放大濾波后可以發(fā)出不同的音調(diào)。操作的時候,通過不同的按鍵發(fā)出不同的音調(diào)從而實現(xiàn)編曲。 系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、時間調(diào)整或定鬧設(shè)置程序三大模塊。在程序設(shè)計過程中加強了部分軟件抗干擾措施. 4.2音樂知識以及播放原理 一首音樂是許多不懂的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,

24、當然對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器t0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。 若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時計時半周期時間,每當計時終止后就將p1.0反相然后重復計時再反相。就可以在p1.0引腳上得到此頻率的脈沖。 利用at89c51的內(nèi)部定時器使其工作計數(shù)器模式(mode1)下,改變計數(shù)值th0及tl0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523hz,其周期t=1/523=1912s,因此只要令計數(shù)器計時956s/1s=956,每計數(shù)956

25、次時將i/o反相,就可得到中音do(523hz)。 計數(shù)脈沖值與頻率的關(guān)系式(如式4-1所示)是: n=fi2fr 4-1 式中:n表示計數(shù)值; fi表示機器頻率(晶體振蕩器為12mhz時,其頻率為1mhz); fr表示想要產(chǎn)生的頻率。 其計數(shù)初值t的求法如下(如式4-2): t=65536-n=65536-fi2fr 4-2 例如:設(shè)k=65536,fi=1mhz,求低音do(261hz)、中音do(523hz)、高音do(1046hz)的計數(shù)值。 t=65536-n=65536-fi2fr=65536-10000002fr=65536-500000/fr 即:低音do的t=65536-50

26、0000/262=63627 中音do的t=65536-500000/523=64580 高音do的t=65536-500000/1046=65059 本單片機采用的是12mhz晶振,高中低音符與計數(shù)t0相關(guān)的計數(shù)值如表4-1所示: 表4.1 高低音符與單片機計數(shù)t0相關(guān)計數(shù)值表音符頻率(hz)簡譜碼(t值)音符頻率(hz)簡譜碼(t值)低1 do26263628# 4 fa74064860#1 do#27763731中 5 so78464898低2 re29463835# 5 so#83164934#2 re#31163928中 6la88064968低3 m33064021# 693264

27、994低4 fa34964103中 7 si98865030#4 fa37064185高 1 do104665058低5 so39264260# 1 do#110965085#5 so#41564331高 2 re117565110低6 la44064400# 2 re#124565134#646664463高 3 m131865157低7 si49464524高 4 fa139765178中 1 do52364580# 4 fa#148065198#1 do#55464633高 5 so156865217中 2 re58764684# 5 so#166165235#2 re#62264732

28、高6la176065252中 3 m65964777# 6186565268中 4 fa69864820高 7si196764283 音樂的音拍,以一個節(jié)拍為單位(c調(diào)),如表4-2所示:表4-2 曲調(diào)值表曲調(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 對于不同的曲調(diào)我們也可以用單片機的另外一個定時/計數(shù)器來完成。 琴鍵處理程序,根據(jù)檢測到得按鍵值,查詢音律表,給計時器賦值,發(fā)出相應(yīng)頻率的聲音。對音調(diào)的控制,根據(jù)不同的按鍵,對定時器t1送入不同的初值,調(diào)節(jié)t1的溢出時間,這樣就可以輸出不同音調(diào)頻率的方波,

29、不同音調(diào)下各個音階的定時器,可以用t0用來產(chǎn)生音符頻率,t1用來產(chǎn)生音拍。4.3軟件設(shè)計流程圖 主程序流程圖和t0中斷服務(wù)流程圖如圖4-1所示: 圖4-1整體程序處理流程圖 音樂發(fā)聲程序流程如圖4-2所示 :圖4-2 音樂發(fā)聲流程圖 鍵盤掃描程序流程如圖4-3所示: 1. 44矩陣鍵盤識別處理,每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和cpu通信。每個按鍵的狀態(tài)同樣需變成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接vcc,而接地是通過程序輸出數(shù)字“0”實現(xiàn)的。 2.鍵盤處理程序的任務(wù)是,確定有無鍵按下,判斷哪一個鍵按下,鍵的功能

30、是什么,還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。圖4-3 鍵盤掃描流程圖5.總結(jié) 本設(shè)計是利用at89c51單片機設(shè)計的電子琴,硬件電路簡單,如果對象是更為復雜的電子琴系統(tǒng),其實際原理與方法與本設(shè)計基本相同。另外,實例所設(shè)計的的計算器是用led數(shù)碼管顯示的,當然也可以用其他的器件顯示,如lcd液晶顯示屏,這樣就可以顯示出更加豐富的字符,在此基礎(chǔ)上,還可以編寫更加完善的程序來實現(xiàn)更多的功能。 經(jīng)過這次的課程設(shè)計,不僅鞏固了書本上所學的知識,而且對單片機

31、有了更進一步的了解。通過查閱資料,不斷地修改程序,在老師和同學的幫助下解決了一個又一個困難,最終得以設(shè)計成功。這次課程設(shè)計,擴充給了我的知識面,讓我學到了更多的有關(guān)于單片機的知識,為了將來的工作打下了堅實的基礎(chǔ)。參考文獻:1 張迎新單片微型計算機原理、應(yīng)用及接口技術(shù)(第2版)m北京:國防工業(yè)出版社,20042偉福lab6000系列單片機仿真實驗系統(tǒng)使用說明書3 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,20064夏路易,石宗義。電路原理圖與電路板設(shè)計教程protel 99se.北京:北京希望電子出版社,20025康華光。模擬電路技術(shù)基礎(chǔ)(第五版)。北京:高等教育出版社,2005附錄附錄一 系統(tǒng)原理圖附錄二 程序代碼 org 0000h ;初始位置00h jmp staret ;跳到主程序 org 000bh ;定時器0中斷起始單元 jmp time0 ;跳到中斷程序 staret: mov tmod,#00000001b;設(shè)定工作方式為1 mov ie, #10000010b ;開中斷允許 setb tr0l1: call key ;調(diào)用鍵盤掃描程序 clr ea ;關(guān)中斷總允許 jb f0,l1 ;查詢鍵盤按下標志 mov a,22h ;將鍵盤碼送單元a mov dptr,#table1 movc a,a+dptr ;將查

溫馨提示

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

評論

0/150

提交評論