基于AT89C52單片機(jī)的簡易電子琴設(shè)計(jì)論文_第1頁
基于AT89C52單片機(jī)的簡易電子琴設(shè)計(jì)論文_第2頁
基于AT89C52單片機(jī)的簡易電子琴設(shè)計(jì)論文_第3頁
基于AT89C52單片機(jī)的簡易電子琴設(shè)計(jì)論文_第4頁
基于AT89C52單片機(jī)的簡易電子琴設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . 1 / 34濱江學(xué)院濱江學(xué)院畢業(yè)論文畢業(yè)論文題題 目目 簡易電子琴設(shè)計(jì)簡易電子琴設(shè)計(jì) 院院 系系 濱江學(xué)院濱江學(xué)院 專專 業(yè)業(yè) 電子信息工程電子信息工程 學(xué)生學(xué)生 盛杰盛杰 學(xué)學(xué) 號號 指導(dǎo)教師指導(dǎo)教師 吳大中吳大中 二一三二一三 年五月二十五日年五月二十五日. . . . 2 / 34聲 明本人重聲明:1、 持以“、創(chuàng)新”的科學(xué)精神從事研究工作。2、 本論文是我個人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作和取得的研究成果。3、 本論文中除了引文外,所有實(shí)驗(yàn)、數(shù)據(jù)和相關(guān)材料均是真實(shí)的。4、 本論文中除引文和致的容外,沒有抄襲其他人或其他機(jī)構(gòu)已經(jīng)發(fā)表或撰寫過的研究成果。5、 其他同志對本研究所

2、做的貢獻(xiàn)均已在論文中作了聲明并表示了意。作者簽名:日 期:. . . . 3 / 34目 錄1.引言 12 工作原理 22.1 電子發(fā)音原理 22.1.1 音調(diào) 22.1.2 節(jié)拍 52.2 設(shè)計(jì)可行性 52.3 設(shè)計(jì)指標(biāo) 63 硬件電路 63.1 簡易電子琴的組成框圖 63.2 芯片選用 73.4 鍵盤設(shè)計(jì) 94.軟件設(shè)計(jì) 104.1 主程序流程圖 104.2 程序設(shè)計(jì)容 11. . . . 4 / 345調(diào)試 155.1 Proteus 簡介 155.2 keil 簡介 155.3 仿真步驟 176總結(jié) 19致 20附錄 22. . . . 0 / 34簡易電子琴設(shè)計(jì)簡易電子琴設(shè)計(jì)盛杰 信

3、息工程大學(xué)濱江學(xué)院 09 電子信息工程專業(yè), 210044摘要:摘要:本論文主要基于 AT89C52 單片機(jī)進(jìn)行的簡易電子琴設(shè)計(jì)。通過 LCD 顯示屏、喇叭、鍵盤等外部器件,使用按鍵實(shí)現(xiàn)各種音調(diào)和音符的輸入,LCD 顯示屏進(jìn)行被操作的按鍵顯示,用放大電路實(shí)現(xiàn)低音頻信號的功率放大,最后經(jīng)過調(diào)試用喇叭播放相關(guān)音樂。本設(shè)計(jì)的優(yōu)點(diǎn)是安全,硬件電路比較簡單,操作起來便捷容易上手。關(guān)鍵詞:關(guān)鍵詞:單片機(jī);電子琴;LCD 顯示屏1.1.引言引言電子技術(shù)伴隨著現(xiàn)代社會科學(xué)技術(shù)的快速發(fā)展,它已經(jīng)改變了人們生活的各個方面,電子琴作為一種新型的的鍵盤樂器是音樂與現(xiàn)代電子科學(xué)技術(shù)發(fā)展相結(jié)合的產(chǎn)物,雖然沒有其它樂器那么

4、多鮮明的特點(diǎn),但是它的簡單易學(xué)已經(jīng)讓它在現(xiàn)代音樂中占到了一個很重要的位置。而單片機(jī)具有強(qiáng)大的編程實(shí)現(xiàn)特性和靈活的控制功能,它成為了電子琴中不可替代的重要一部分,本設(shè)計(jì)的主要任務(wù)是用 AT89C52 單片機(jī)作為核心控制元件,設(shè)計(jì)一個簡易電子琴,主要介紹了電子琴硬件系統(tǒng)的組成并對相關(guān)軟件程序方面做了相關(guān)的分析研究和調(diào)試。雖然單片機(jī)產(chǎn)生的時間并不是太長,但它的發(fā)展速度令人驚訝,它的高水平發(fā)展在集成度、可靠性、速度、應(yīng)用等領(lǐng)域表現(xiàn)的淋漓精致。隨著單片機(jī)性能的不斷提高,它的應(yīng)用變得更加廣泛,目前它已用于工業(yè)控制、機(jī)電一體化設(shè)備、儀器儀表、信號處理、現(xiàn)代兵器、交通能源、商用設(shè)備、醫(yī)療設(shè)備與家用電器等多個領(lǐng)

5、域。單片機(jī)技術(shù)的發(fā)展速度非常之快,目前的產(chǎn)品都致力于在各個功能方面進(jìn)行更加全面的設(shè)計(jì)研究;在社會消費(fèi)的需求競爭之下,盡可能地利用單片機(jī)的最新技術(shù)來研制其應(yīng)用系統(tǒng),再利用單片機(jī)靈便、性價(jià)比高等特點(diǎn),來確保所設(shè)計(jì)出來的產(chǎn)品能夠具有強(qiáng)大的競爭力和存活力。在社會活動的各個方面中,始終都有單片機(jī)的身影;從簡易的到復(fù)雜的,各個地點(diǎn),凡是能看到的地方幾乎都有使用單片機(jī)的需求。雖然現(xiàn)在單片機(jī)供應(yīng)的應(yīng)用已經(jīng)普與開來了,但還是有許多單片機(jī)尚未涉足到的地方,因此,單片機(jī)的應(yīng)用和需求在現(xiàn)在現(xiàn)代社會的運(yùn)用中還是有發(fā)展的。電子琴在當(dāng)前的音樂玩具市場上是一個非常好的應(yīng)用方面。單片機(jī)技術(shù)使我們可以利用軟硬件開發(fā)出電子琴功能,

6、從而實(shí)現(xiàn)電子琴的微型化,可以用作教學(xué)琴、玩具琴等。還可以對相關(guān)功能作出一些拓展。參照傳統(tǒng)電子琴可以用鍵盤上的“k0”到“k8”鍵演奏從低 So 到高 DO 等 8 個音,從而可以用來彈奏喜歡的樂曲。. . . . 1 / 342 2工作原理工作原理聲音是周圍空氣的震動,音調(diào)取決于震動的頻率,頻率越高音調(diào)越高。電子琴按下不同的琴鍵就會發(fā)出不同音調(diào)的聲音,其實(shí)就是產(chǎn)生不同頻率的震動。單片機(jī)電子琴就是利用單片機(jī)產(chǎn)生不同頻率的電壓波形,推動揚(yáng)聲器或蜂鳴器來發(fā)出不同音調(diào)的聲音。假設(shè)電子琴有八個音階,就對應(yīng) 8 個不同的頻率,頻率越高音調(diào)就越高。單片機(jī)很容易輸出方波信號,那么只要讓它產(chǎn)生不同頻率的方波就可

7、以了,然后用這個方波信號驅(qū)動揚(yáng)聲器就可以了。單片機(jī)的按鍵可以模擬琴鍵,按下不同的按鍵就對應(yīng)不同的頻率的方波,就能發(fā)出不同頻率的聲音。2.12.1 電子發(fā)音原理電子發(fā)音原理由于單片機(jī)的強(qiáng)大功能,除了在測試控制領(lǐng)域中有著廣泛的運(yùn)用外,還有一些簡單而有趣的應(yīng)用。比如,驅(qū)動單片機(jī)可以使蜂鳴器和揚(yáng)聲器發(fā)出聲音,還可以控制其發(fā)出不同的聲調(diào),從而連接起來構(gòu)成一個曲子。目前,市場上有很多種音樂模塊和音樂芯片,可以直接產(chǎn)生各種曲子,但是,這種模塊價(jià)格比較昂貴,電路結(jié)構(gòu)比較復(fù)雜,如果系統(tǒng)中僅需要產(chǎn)生簡單的音符或者簡單的曲子,可以使用單片機(jī)配合揚(yáng)聲器產(chǎn)生需要的音樂效果。一般來說,單片機(jī)不像其他專業(yè)樂器那樣能奏出多種

8、音色的聲音,即不包含相應(yīng)幅度的諧波頻率。單片機(jī)演奏的音樂基本上都是單音頻率。因此單片機(jī)演奏音樂比較簡單,只需要清楚“音調(diào)”和“節(jié)拍”。在這兩個當(dāng)中,音調(diào)表示某個音符所表現(xiàn)的頻率的高低程度;節(jié)拍表示某個音符所表現(xiàn)的時間長久。音樂播放在本系統(tǒng)中,一般只需按順序播放音符即可。用單片機(jī)播放音樂的方法如下:(1)復(fù)位單片機(jī)定時器 (2)將樂譜中的各個音符的音調(diào)與節(jié)拍轉(zhuǎn)換成各個對應(yīng)的音調(diào)和節(jié)拍參數(shù) (3)將樂譜中音符的參數(shù)做成數(shù)據(jù)表格存放在存儲器中 (4)通過程序取出一個音符的相關(guān)參數(shù).,如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停地播放整個樂曲。2.1.12.1.1 音調(diào)音調(diào)音調(diào)是音樂學(xué)中的名詞,

9、與平時所說的音高十分相似。在音樂中標(biāo)準(zhǔn)音高為中音 C 上方的 A 音,它的頻率是 f = 440Hz,把其它的音和它進(jìn)行比較。 和為兩個不同的音符,如果其中一個音符的頻f1f2率是另外一個音符的兩倍時,即時,則稱比要高出一個倍頻程。212fff2f1在音樂中音符 1(do)與音符之間其中一個的頻率正好是另外一個音符頻率的兩倍,它在音樂學(xué)中. . . . 2 / 34被稱為相差一個八度音。在一個八度音里,有 12 個半音。以 1-八音區(qū)為例。12 個半音是:1-#1,#1-2,2-#2,#23,34,4-#4,#45,5-#5,#56,6-#6,#67,7-。由于人耳的聽覺效果,這 12 個音節(jié)

10、的分度基本上都是以對數(shù)關(guān)系來劃分它們的。因此,只需要知道這 12 個音符的音高,也就是它們基本的音樂的頻率,就可以根據(jù)音符之間的倍頻程關(guān)系得到其他音符基本的音調(diào)頻率。在知道了一個音符的頻率后,就可以讓單片機(jī)發(fā)出相應(yīng)的頻率所對應(yīng)的的振蕩信號,從而產(chǎn)生相應(yīng)的音符聲音。常采用的方法是通過單片機(jī)的定時器進(jìn)行定時中斷,在中斷服務(wù)子程序中將單片機(jī)上外界揚(yáng)聲器的 I/O 口來回置高電平或置低電平,從而讓揚(yáng)聲器發(fā)出聲音。為了讓單片機(jī)發(fā)出不同頻率音符的聲音,只需將定時器預(yù)置不同的定時值來實(shí)現(xiàn)。 以標(biāo)準(zhǔn)音高 A 為例:標(biāo)準(zhǔn)音高 A 的頻率 f=440Hz,其對應(yīng)的周期為: (2-12-1)usfT2272/1因此

11、需要在單片機(jī) I/O 口輸出周期為 T=2272us 的方波脈沖,如圖 2-1 所示圖 2-1 單片機(jī)控制音調(diào)示意圖由上圖可知: 單片機(jī)輸出高電平和低電平信號均為: (2-2)usTt11362/也就是說,單片機(jī)上定時器的中斷觸發(fā)時間為 1136us。如果單片機(jī)采用定時器工作方式 1,它的計(jì)數(shù)脈沖為振蕩器的十二分頻信號。如果外接晶振的振蕩器頻率為 f0,那么定時器的預(yù)置初值由下式來顯示:(2-3)fTTCountt0)(12式中,Count = =65536, 是定時器將要確定的計(jì)數(shù)初值。所以定時器的高低計(jì)數(shù)器的初值為:216THL(2-4)256)12/(256/0ftCountTTTH.

12、. . . 3 / 34(2-5)256)%12/(256%0ftCountTTTL如果單片機(jī)外接 12MHz 的晶振,則,把 t=1136us 和代入上面的兩式,MHzf120MHzf120隨之可以求出標(biāo)準(zhǔn)音高 A 在單片機(jī)定時器工作方式 1 下的定時器高低計(jì)數(shù)器的初值為:(2-6)FBHTTTHA256)12/12113665536(256/(2-7)HTTTHA90256)%12/12113665536(256%參考以上的求法,我們就可以得出其他音調(diào)相應(yīng)的計(jì)數(shù)器的預(yù)置初值。在單片機(jī)的晶振頻率,定時器在工作方式 1 下定時器計(jì)數(shù)初值見表 2-1MHzf120音符頻率/Hz計(jì)數(shù)初值音符頻率/

13、Hz計(jì)數(shù)初值低 1 DO26263628# 4 FA #74064860#1 DO#27763731中 5 SO78464898低 2 RE29463835# 5 SO#83164934#1 RE#31163928中 6 LA88064968低 3 MI33064021# 6 LA#93264994低 4 FA34964013中 7 SI98895030#4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO110965085#5 SO41564331高117565110低 6 LA44064400#2 RE#124565134#6 LA#466644

14、63高 3 MI131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO 156865217中 2 RE58764684# 5 SO#166165235#2 RE#62264732高 6 LA176065252中 3 MI65964777# 6 LA#186565268中 4 FA69864820高 7 SI196765283表 2-1 晶振頻率定時器在工作方式 1 下定時器計(jì)數(shù)初值表MHzf120. . . . 4 / 342.1.22.1.2 節(jié)拍節(jié)拍在一完整樂譜開頭,

15、都有如 1=C、1=G等等的標(biāo)識。這里 1=C,1=G 標(biāo)識樂譜的曲調(diào),簡4443單的說就是跟音調(diào)有關(guān)系;這里的、用來表示節(jié)拍。對于音符的節(jié)拍,以為例。它表示樂444343譜中以四分音符為節(jié)拍,每一小節(jié)有三拍。1= G的節(jié)拍示意圖,見圖 1-2 。43在圖中,總共有三拍:1、2 為一拍,3、4、5 為一拍,6 為一拍。從時長角度看,1、2 的時長為四分音的一半,即為八分音符長;3、4 的時長為八分音符的一半,即為十六分音符長;5 的時長為四分音符的一半,即為八分音符長;6 的時長為四分音符長。1=G43圖 2-2 節(jié)拍示意圖對于一拍的發(fā)音時間,如果樂曲沒有特殊說明,一般說來,一拍的時長大約為

16、400450ms。如果這里規(guī)定一拍的時長為 400ms,那么以四分音符為節(jié)拍時,四分音符的時長為 400ms,八分音符的時長為200ms,十六分音符的時長為 100ms。從而,在單片機(jī)上可采用循環(huán)延時的辦法來實(shí)現(xiàn)控制一個音符唱多長時間。首先要編寫一個精確的基本時長的延時程序,比如說以八分音符的時長為基本延時時間,那么對于一個音符,如果它是四分音符,只需調(diào)用四次延時程序,如果它是二分音符,則只需調(diào)用八次延時程序,以此類推。單片機(jī)電子琴演奏音樂的方法:步驟一:將樂譜中的每個音符的音調(diào)與節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍數(shù)。步驟二:將這些參數(shù)做成數(shù)據(jù)表格,存放在存儲器中。步驟三:通過按鍵調(diào)用程序取出一個

17、音符的相關(guān)參數(shù),播放該音符。步驟四:播放完該音符后,等待下一次按鍵調(diào)用程序去取出下一次的音符的相關(guān)參數(shù),再播放音符。對于演奏樂曲,一般將休止符的音調(diào)參數(shù)設(shè)置為 FFH,節(jié)拍參數(shù)設(shè)置為 00H。. . . . 5 / 342.22.2 設(shè)計(jì)可行性設(shè)計(jì)可行性由于本次設(shè)計(jì)主要應(yīng)用在生活相關(guān)的教學(xué)娛樂當(dāng)中,所以在設(shè)計(jì)上要盡量的使其變的簡單安全容易操作。其次,在這次設(shè)計(jì)可行性上進(jìn)行分析如下:技術(shù)可行性技術(shù)可行性主要是分析技術(shù)條件上是否能夠順利開展并完成課程設(shè)計(jì)的主要問題,硬件、軟件能否滿足設(shè)計(jì)者的需要等。通過分析各種軟件環(huán)境,硬件仿真環(huán)境等均已經(jīng)具備。經(jīng)濟(jì)可行性所謂經(jīng)濟(jì)可行性,即在這次設(shè)計(jì)上需要投入資金

18、的多少,由于課程設(shè)計(jì)是提高我們的動手能力以與資金有限。因此在經(jīng)濟(jì)上必須能夠承受,比較理想化的對于我們課程設(shè)計(jì)來說是不可行的。通過分析后,無論是在器件價(jià)格或是常見度上均是可行的。該設(shè)計(jì)具有以下優(yōu)點(diǎn):可以隨意彈奏想要表達(dá)的音樂;制作簡單,成本低;比傳統(tǒng)電子琴功能更完善。2.32.3 設(shè)計(jì)設(shè)計(jì)指標(biāo)指標(biāo)實(shí)現(xiàn)電子琴發(fā)聲控制系統(tǒng),要求電路實(shí)現(xiàn)如下功能:利用 LCD 數(shù)碼管作為顯示部件,喇叭作為發(fā)聲部件,設(shè)置 8 個按鍵,實(shí)現(xiàn)高音、中音、低音的1、2、3、4、5、6、7、8 的發(fā)音。并在存儲一首歌曲的容,可以實(shí)現(xiàn)自動播放。用 PROTEUS 實(shí)現(xiàn)的電子琴仿真設(shè)計(jì)。按下音符鍵可以發(fā)出相應(yīng)的音符按下音樂播放鍵可

19、以自動播放預(yù)先存在存中的曲子AT89C52 作為本設(shè)計(jì)的主控芯片,作為大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,它擁有高性能、高速度、簡單、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn),也具有編程實(shí)現(xiàn)靈活的特性,由于本設(shè)計(jì)主要用于教學(xué)娛樂方面,因此在設(shè)計(jì)上盡量使其簡單易懂。3 3硬件電路硬件電路通過 LCD 顯示屏、喇叭、鍵盤這一些外部器件,經(jīng)過按鍵實(shí)現(xiàn)各種音調(diào)和音符的輸入,LCD 顯示屏進(jìn)行被操作的按鍵顯示,用放大電路實(shí)現(xiàn)低音頻信號的功率放大,然后通過調(diào)試用喇叭播放相關(guān)音樂。. . . . 6 / 343.13.1 簡易電子琴的組成框圖簡易電子琴的組成框圖圖 3-1 電子琴系統(tǒng)原理框圖(1)LCD 顯示屏

20、LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,LCD 的構(gòu)造是在兩片平行的玻璃基板當(dāng)中放置液晶盒,下基板玻璃上設(shè)置 TFT(薄膜晶體管),上基板玻璃上設(shè)置彩色濾光片,通過 TFT 上的信號與電壓改變來控制液晶分子的轉(zhuǎn)動方向,以此來達(dá)到控制住每個像素點(diǎn)偏振光出射與否從而達(dá)到顯示的目的。自然界中的物質(zhì)有氣態(tài)、液態(tài)、固態(tài)三種型態(tài)。雖然液體分子質(zhì)心的排列沒有任何規(guī)律性,不過如果這些分子是扁形的,那么這些分子的分子指向就有可能具有規(guī)律性。因此人們就可以將液態(tài)再次細(xì)分成好多型態(tài)。液體直接稱為分子方向沒有規(guī)律性的液體,如果分子具有方向性的液體,那么就可以稱它為為“液態(tài)晶體”,簡

21、稱“液晶”。生活中的電視、手機(jī)絕大多數(shù)產(chǎn)品都屬于液晶產(chǎn)品,因此,液晶對于人們的生活來說并不陌生。液晶是在 1888 年由奧地利植物學(xué)家萊尼茨爾(Reinitzer)發(fā)現(xiàn)的,是一種介于固體與液體之間且具有規(guī)則性分子排列的有機(jī)化合物。(2)時鐘頻率由于單片機(jī)只有在時鐘的驅(qū)動下才能完成工作。在單片機(jī)部放置一個時鐘振蕩電路,它只要外接一個振蕩源就能產(chǎn)生相定的時鐘信號傳輸?shù)絾纹瑱C(jī)部的各個單元,以此決定單片機(jī)的工作速度。外部振蕩源電路一般選用石英晶體振蕩器,此電路在加電大約延遲 10mS 后振蕩器起振,在 XTAL2 引腳產(chǎn)生幅度為3V 左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個

22、電容 C1,C2,作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。C1,C2 的典型值為 30PF。晶振電路AT89C52供電與復(fù)位電路發(fā)音電路鍵盤LCD 顯示屏. . . . 7 / 34工作中的單片機(jī),由外直接輸入的送至部控制邏輯單元的時鐘信號的周期或部振蕩器產(chǎn)生的稱為時鐘周期。時鐘信號頻率的倒數(shù)是零大小,通常用 fosc 表示。如時鐘頻率為 6MHz,即 fosc=6MHz,則時鐘周期為 1/6s。3.23.2 芯片選用芯片選用在此次的畢業(yè)課程設(shè)計(jì)中使用 Atmel 公司所開發(fā)的 AT89C52 單片機(jī)。AT89C52 是美國 Atmel 公司生產(chǎn)的具有低高性能、低電壓等特點(diǎn)

23、的 CMOS 8 位單片機(jī),部含有 8KB 的可以不斷修改的程序存儲器和 12B的隨機(jī)存取數(shù)據(jù)存儲器(RAM) ,它使用了 Atmel 公司的高質(zhì)密、不容易失性存儲的技術(shù)生產(chǎn),并且和標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)所兼容,片配置通用 8 位中央處理器(CPU)和 Flash 存儲單元,由于 AT89C52 的強(qiáng)大功能使它可以廣泛的應(yīng)用到人們生產(chǎn)生活的各個方面。AT89C52 的前身是 AT89C51,它在硬件組成、工作特點(diǎn)、引腳排列等方面兼容 Intel 公司的 80C52。AT89C52 的引腳圖如圖 3-2。圖 3-2 AT89C52 的引腳示意圖其主要功能特性:(1)和 MCS51 指令系統(tǒng)

24、相兼容(2)8k 可反復(fù)擦寫(1000 次)Flash ROM (3)32 個雙向 I/O 口(3)3 個 16 位可編程定時/計(jì)數(shù)器中斷 (4)時鐘頻率 0-24MHz (5)2 個串行中斷 (6)可編程 UART 串行通道 (7)2 個外部中斷源 (8)共 6 個中斷源 (10)2 個讀寫中斷口線 3.33.3 單片機(jī)最小電路系統(tǒng)單片機(jī)最小電路系統(tǒng)單片機(jī)的最小工作系統(tǒng)是單片機(jī)加上應(yīng)用程序和合適的外圍器件。(1)但單片機(jī)的應(yīng)用系統(tǒng)中,單片機(jī)是核心部件,它能夠自動完成用戶的需求所賦予的任務(wù)。(2)電源電路單片機(jī)是一種超大規(guī)模集成電路,在該集成電路有成千上萬個晶體管或場效應(yīng)骨。因此,. . .

25、. 8 / 34要使單片機(jī)正常運(yùn)行,就必須為其提供能量,即為片的晶體管或場效應(yīng)管供給電源,使其能工作在相應(yīng)的狀態(tài)。(3)輸入輸出口線插座: 單片機(jī)通過輸入輸出口線與外界來完成轉(zhuǎn)換信息的任務(wù)。如,單片機(jī)與外設(shè)的通訊就是通過輸入輸出口線來實(shí)現(xiàn)的。單片機(jī)輸入輸出口線的驅(qū)動能力有限。當(dāng)驅(qū)動能力不足的時候,就可以在口線上接驅(qū)動器。時鐘電路可以簡單定義如下: 就是產(chǎn)生象時鐘一樣準(zhǔn)確的振蕩電路。 任何工作都按時間順序。構(gòu)成振蕩器的是單片機(jī)背部的一個高增益反相放大器。通常在引腳 XTALl 和 XTAL2 跨接石英晶體和兩個補(bǔ)償電容構(gòu)成自激振蕩器,結(jié)構(gòu)圖 3-3 中 X1、C1、C2。圖 3-3 時鐘電路單片

26、機(jī)小系統(tǒng)常采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動實(shí)現(xiàn)復(fù)位操作。手動按鈕復(fù)位需要人為在復(fù)位輸入端 RST 上加入高電平(圖 1)。一般采用的辦法是在 RST 端和正電源 Vcc 之間接一個按鈕。當(dāng)人為按下按鈕時,則 Vcc 的+5V 電平就會直接加到RST 端。手動按鈕復(fù)位的電路如所示。即使人的動作再快也會讓按鈕保持接通的狀態(tài)達(dá)數(shù)十毫秒,因此,它能夠完全滿足復(fù)位的時間要求。 手動復(fù)位的要,在電源接通的條件下,在單片機(jī)運(yùn)行的期間,使用按鈕開關(guān)操作將單片機(jī)復(fù)位。單片機(jī)小系統(tǒng)一般采用手動按鍵復(fù)位和上電復(fù)位兩種方法來實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要,接通電源

27、后,系統(tǒng)能夠自動實(shí)現(xiàn)復(fù)位操作。手動復(fù)位要,在電源接通的條件下,在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作使單片機(jī)復(fù)位。它的結(jié)構(gòu)見下圖。圖 3-4 復(fù)位電路3.43.4 鍵盤設(shè)計(jì)鍵盤設(shè)計(jì)在設(shè)計(jì)的過程中由于鍵盤中按鍵數(shù)量比較多,為了減少 I/O 口的占用,一般將按鍵排列成矩陣形式。在矩陣式鍵盤里,各個水平線和垂直線在交叉處是不直接連通的,而是通過一個按鍵將它們加以連. . . . 9 / 34接的。所以一個端口就可以構(gòu)成 4*4=16 個按鍵,與直接將端口線用于鍵盤相比之下多出了一倍,而且在線數(shù)更多的情況下,區(qū)別就會越明顯,或者再多加一條線就能夠構(gòu)成 20 鍵的鍵盤,而直接用端口線就只能多出一鍵(9 鍵)

28、。綜上所述,在需要的鍵數(shù)比較多的情況時,使用矩陣法來做鍵盤是很合理的。 在單片機(jī)的系統(tǒng)中,假如按鍵比較多,一般就會采用矩陣式(也稱行列式)鍵盤,此次畢業(yè)設(shè)計(jì)就采用了此種鍵盤。矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上。很明顯,在按鍵數(shù)量比較多的時候,矩陣式鍵盤要節(jié)省很多 I/O 口。雖然矩陣鍵盤在硬件電路上相比其他鍵盤比較復(fù)雜,而且在程序算法上還比較麻煩,不過它在節(jié)省端口資源上非常具有優(yōu)勢,因所以它比較適合于多按鍵電路。采用矩陣式鍵盤電路,可以大大的節(jié)省單片機(jī) I/O 的開銷。圖 3-5 鍵盤4.4.軟件設(shè)計(jì)軟件設(shè)計(jì)軟件主要由初始化程序、鍵盤掃描程序、音調(diào)發(fā)生程序、延時程序和曲調(diào)播

29、放程序組成。程序框圖如圖 4-1 所示。. . . . 10 / 344.14.1 主程序流程圖主程序流程圖本設(shè)計(jì)共兩種播放模式,包括自動播放存儲音樂和按鍵發(fā)音。上電之后,首第一先開中斷,設(shè)置定時器 0 為工作方式 1,當(dāng)自動播放鍵按下的時候,進(jìn)入中斷,根據(jù)樂譜在音頻數(shù)組中查找相應(yīng)的音律,給定時器賦上初值,最后開始播放音樂。當(dāng) DO、RE、MI、FA、SO、LA、SI、DO(高音)八種音符鍵按下時,根據(jù)音階值和音符值在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時器賦初值,即按鍵發(fā)音。下為主程序流程圖。播放程序見附錄. . . . 11 / 34圖 4-1 程序流程圖4.24.2 程序設(shè)計(jì)容程序設(shè)計(jì)

30、容(1)44 矩陣鍵盤識別處理之中每個按鍵有它們自己的行值和列值,它們的組合就是能夠識別這個按鍵的編碼。在矩陣中,它的的行線和列線分別通過兩并行接口和 CPU 通信。每個按鍵的狀態(tài)都需要變成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接 VCC,而接地就是通過程序輸出數(shù)字“0”所實(shí)現(xiàn)的。(2)鍵盤處理程序的目的是:確定有沒有鍵按下,再判斷是哪一個鍵按下的,這個鍵所展示的功能 開始開中斷并設(shè)置工作式寄存器有鍵按下 自動播放鍵按下 進(jìn)入中斷 查找相應(yīng)音律 給定時器賦值播放音樂 進(jìn)入中斷 查找相應(yīng)音律 給定時器賦值播放鍵值對應(yīng)音符. . . . 12 / 34是什么;而且還要消除按鍵在閉合或斷開

31、的狀態(tài)時的抖動。兩個并行口中,一個輸出掃描碼,另一個并行口隨之輸入按鍵狀態(tài),將按鍵逐行動態(tài)接地,行掃描值和回饋信號共同形成鍵編碼而識別按鍵,該鍵功能可以通過軟件查表來看到。下為主函數(shù)鍵盤處理部分void main (void) uchar num,k,i; lcd_init(); lcd_string(0,10,dis10); / 開機(jī)畫面 lcd_string(11,5,dis11);/開機(jī)畫面 Init_Timer0(); /初始化定時器 0,主要用于數(shù)碼管動態(tài)掃描 SPK=0;/在未按鍵時,喇叭低電平,防止長期高電平損壞喇叭 lcd_string(0 x40+0,5,NOTE:); wh

32、ile (1) switch(KeyPort) case 0 xfe:num= 1;break; case 0 xfd:num= 2;break; case 0 xfb:num= 3;break; case 0 xf7:num= 4;break; case 0 xef:num= 5;break; case 0 xdf:num= 6;break; case 0 xbf:num= 7;break; case 0 x7f:num= 8;break; default:num= 0;break;. . . . 13 / 34 lcd_string(0 x40+7,1,YINFUnum); if(num=

33、0) TR0=0; SPK=0; /在未按鍵時,喇叭低電平,防止長期高電平損壞喇叭 else High=freqnum-11; Low =freqnum-10;TR0=1; if(tab=0) delayms(10); if(tab=0) i=0; while(iDebug(調(diào)試)中,選中Use Remote Debug Monitor(使用遠(yuǎn)程調(diào)試監(jiān)控),再左鍵雙擊芯片將所生成的 .hex 文件寫入 AT89C52 芯片中,將 .hex 文件載入,就完成了序的寫入。導(dǎo)入文件如圖 5-4 所示圖 5-4 hex 文件導(dǎo)入. . . . 19 / 345、此時程序已經(jīng)寫入芯片中,這時就可以進(jìn)行電

34、路圖功能的仿真了。點(diǎn)擊左下方的運(yùn)行按鈕。如圖 5-5 圖 5-5 點(diǎn)擊開始仿真6、仿真結(jié)果,摁下相關(guān)鍵位發(fā)出相應(yīng)聲音 LCD 顯示屏顯示相關(guān)音符,如圖 5-6 圖 5-6 仿真結(jié)果6 6總結(jié)總結(jié)經(jīng)過兩個多個月的努力,簡易電子琴的電路設(shè)計(jì)成功了,簡易電子琴的設(shè)計(jì)有眾多的方法,此次選擇了以單片機(jī)為基礎(chǔ)的簡易電子琴歷,當(dāng)然這和我們所學(xué)的專業(yè)有很大的關(guān)系,首先我們所學(xué)的課程中有關(guān)電子硬件的知識占了多數(shù),在大學(xué)期間學(xué)習(xí)了單片機(jī)原理等基礎(chǔ)電子有關(guān)知識。 基于單片機(jī)原理的電子琴大大簡化了以前傳統(tǒng)的音樂產(chǎn)生電路,使得元件得到減少,生產(chǎn)成本降低而且性能也得到了提高,并且耗能也降低了。將程序燒入芯片,調(diào)試成功后,

35、可任意彈奏自己想要的旋律。不足之處有:(1)可彈奏的音符數(shù)較少,只能在一定圍滿足用戶需要??赏ㄟ^改進(jìn)鍵盤識別模塊和發(fā)生模塊來增加其復(fù)雜度。 (2)音量不可調(diào)。以單片機(jī)基礎(chǔ)鋪以外部設(shè)備設(shè)計(jì)的簡易電子琴,它可以被制造成一個電子產(chǎn)品,應(yīng)用方便,可以廣泛的應(yīng)用與我們的日常生活中。伴隨著科技水品的提高,電子產(chǎn)品會朝著節(jié)能、使用壽命長,故障發(fā)生頻率低、體積小、功能強(qiáng)大等方面迅踴發(fā)展,而單片機(jī)的發(fā)展必然會促進(jìn)其發(fā)展,在不久的將來,高性能的單片機(jī)系統(tǒng)會在電子領(lǐng)域得到廣泛應(yīng)用,所以現(xiàn)在對單片機(jī)進(jìn)行初步的研究對以后個人的發(fā)展很有幫助。我通過收集、查閱與發(fā)聲原理、聲音的產(chǎn)生電路有關(guān)的文獻(xiàn)資料以與仿真調(diào)試軟件的使用使

36、我對單片機(jī)的應(yīng)用前景有了深刻的了解。. . . . 20 / 34致致通過兩個多月的學(xué)習(xí)查資料終于將這篇論文順利完成,在這個過程中遇到了不少的問題,都在各位同學(xué)朋友和導(dǎo)師的幫助下得以解決,同時也認(rèn)識到了自身綜合知識方面的欠缺。在這里我首先要強(qiáng)烈我的論文指導(dǎo)老師吳大中老師,他對我進(jìn)行了無數(shù)次的指導(dǎo),不厭其煩的幫助我進(jìn)行論文的修改和改進(jìn)。其次感這篇論文所涉與到的各位學(xué)者,本文引用了各位學(xué)者的研究文獻(xiàn),如果沒有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成本篇論文。最后感我的同學(xué)和朋友,在論文的撰寫和排版的過程中提供熱情的幫助。 由于我的學(xué)術(shù)水平有限,所寫論文難免還有許多缺點(diǎn)和錯誤,懇請各位老師批評和

37、指正。參考文獻(xiàn):參考文獻(xiàn):1鑫,華臻,書謙.單片機(jī)原理與應(yīng)用.(M).電子工業(yè),2009,6 2肖婧.單片入門與趣味實(shí)驗(yàn)設(shè)計(jì)(M).航空航天大學(xué),2008,43明熒.8051 單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材(M).清華大學(xué),2004,34建領(lǐng).51 系列單片機(jī)開發(fā)寶典(M).電子工業(yè),2007,45科技.8051 系列單片機(jī) C 程序設(shè)計(jì)完全手冊(M).人民郵電,2006,46樓然苗,光飛.51 系列單片機(jī)設(shè)計(jì)實(shí)例(M) .航空航天大學(xué),2003,37百度百科.音符(Online) . baike.baidu./view/373613.htm?fr=ala0_1_18 周琛暉.基于 AT89S51單片

38、機(jī)的電子琴設(shè)計(jì)J .中國礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院, (221008). 9 改寧.基于AT89C52實(shí)現(xiàn)簡單音樂發(fā)生器J .師學(xué)院計(jì)算機(jī)科學(xué)系.成陽(712000). 10ChenTianzhou,ZbaoYi,HuWe.Assigning program to cache-aware scratchpad concerning the influence of the whole embedded sys- tem CNetworking,Architecture,and StoragesIEEE Conf of International Workshop on Aug2006Researcha

39、ndResearchand DesignDesign forfor thethe SimpleSimple ElectronicElectronic OrganOrganDepartment of electronics of Nanjing University of Information Science and Technology, NanjingShengjieZhang210044. . . . 21 / 34ABSTRACTABSTRACTAbstract: This design study based on AT89C52 simple flower design. It i

40、s based on the microcontroller as a master core set of peripheral devices such as keyboard, buzzer; also use some simple devices such as: two digital tube, and an NPN transistor and resistors, etc. Keys to input notes and tones; button to display two digital tube operation; achieve low audio power a

41、mplifier with an NPN transistor 8550 play Farewell; final buzzer.Keywords: AT89C52 ; Electronic Organ;LCD screen附錄附錄1、實(shí)物圖. . . . 22 / 342、電子琴程序#include#define uchar unsigned char#define uint unsigned int #define KeyPort P1#define comm 0#define dat 1/*- 變量-*/uchar High,Low; /定時器預(yù)裝值的高 8 位和低 8 位sbit SP

42、K=P21; /定義喇叭接口sbit tab=P34; /功能鍵sbit RS=P25;/液晶數(shù)據(jù)命令選擇sbit RW=P26;/液晶讀寫選擇. . . . 23 / 34sbit EN=P27;/液晶使能端uchar code freq2= 0 xD8,0 xF7,/00440HZ 1 0 xBD,0 xF8,/00494HZ 2 0 x87,0 xF9,/00554HZ 3 0 xE4,0 xF9,/00587HZ 4 0 x90,0 xFA,/00659HZ 5 0 x29,0 xFB,/00740HZ 6 0 xB1,0 xFB,/00831HZ 7 0 xEF,0 xFB,/008

43、80HZ 1;uchar Time; uchar code YINFU91= ,1,2,3,4,5,6,7,8; /世上只有媽媽好數(shù)據(jù)表uchar code MUSIC= 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,

44、1, 1,2,1, 5,1,6, 0,0,0 ; / 音階頻率表 高八位uchar code FREQH= 0 xF2,0 xF3,0 xF5,0 xF5,0 xF6,0 xF7,0 xF8, 0 xF9,0 xF9,0 xFA,0 xFA,0 xFB,0 xFB,0 xFC,0 xFC, /1,2,3,4,5,6,7,8,i 0 xFC,0 xFD,0 xFD,0 xFD,0 xFD,0 xFE, 0 xFE,0 xFE,0 xFE,0 xFE,0 xFE,0 xFE,0 xFF, ; / 音階頻率表 低八位. . . . 24 / 34uchar code FREQL= 0 x42,0 x

45、C1,0 x17,0 xB6,0 xD0,0 xD1,0 xB6, 0 x21,0 xE1,0 x8C,0 xD8,0 x68,0 xE9,0 x5B,0 x8F, /1,2,3,4,5,6,7,8,i 0 xEE,0 x44, 0 x6B,0 xB4,0 xF4,0 x2D, 0 x47,0 x77,0 xA2,0 xB6,0 xDA,0 xFA,0 x16, ;uchar code dis1210=ELECTRONIC,ORGAN; /*- 函數(shù)聲明-*/void Init_Timer0(void);/定時器初始化/*- 延時函數(shù)大約約 2*z+5us-*/void delay2xus(uchar z) while(z-);/*- 延時函數(shù)大約約 1ms-*/void delayms(uchar x) while(x-) delay2xus(245); delay2xus(245); /*-. . . . 25 / 34 1602 液晶寫命令 comm/數(shù)據(jù) dat-*/void lcd_wr(uchar comm_dat,uchar xdat) RS=comm_dat; RW=0; delay2xus(10); P0=xdat; EN=1; delayms(1); EN=0;/*- 1602 液晶寫字符串命令-*/void lcd_string(uchar ad

溫馨提示

  • 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

提交評論