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

下載本文檔

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

文檔簡(jiǎn)介

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

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 簡(jiǎn)易電子琴的組成框圖 63.2 芯片選用 73.4 鍵盤設(shè)計(jì) 94.軟件設(shè)計(jì) 104.1 主程序流程圖 104.2 程序設(shè)計(jì)容 11. . . . 4 / 345調(diào)試 155.1 Proteus 簡(jiǎn)介 155.2 keil 簡(jiǎn)介 155.3 仿真步驟 176總結(jié) 19致 20附錄 22. . . . 0 / 34簡(jiǎn)易電子琴設(shè)計(jì)簡(jiǎn)易電子琴設(shè)計(jì)盛杰 信

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

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

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

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

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

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

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

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

11、需要在單片機(jī) I/O 口輸出周期為 T=2272us 的方波脈沖,如圖 2-1 所示圖 2-1 單片機(jī)控制音調(diào)示意圖由上圖可知: 單片機(jī)輸出高電平和低電平信號(hào)均為: (2-2)usTt11362/也就是說,單片機(jī)上定時(shí)器的中斷觸發(fā)時(shí)間為 1136us。如果單片機(jī)采用定時(shí)器工作方式 1,它的計(jì)數(shù)脈沖為振蕩器的十二分頻信號(hào)。如果外接晶振的振蕩器頻率為 f0,那么定時(shí)器的預(yù)置初值由下式來顯示:(2-3)fTTCountt0)(12式中,Count = =65536, 是定時(shí)器將要確定的計(jì)數(shù)初值。所以定時(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ī)定時(shí)器工作方式 1 下的定時(shí)器高低計(jì)數(shù)器的初值為:(2-6)FBHTTTHA256)12/12113665536(256/(2-7)HTTTHA90256)%12/12113665536(256%參考以上的求法,我們就可以得出其他音調(diào)相應(yīng)的計(jì)數(shù)器的預(yù)置初值。在單片機(jī)的晶振頻率,定時(shí)器在工作方式 1 下定時(shí)器計(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 晶振頻率定時(shí)器在工作方式 1 下定時(shí)器計(jì)數(shù)初值表MHzf120. . . . 4 / 342.1.22.1.2 節(jié)拍節(jié)拍在一完整樂譜開頭,

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

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

17、音符的相關(guān)參數(shù),播放該音符。步驟四:播放完該音符后,等待下一次按鍵調(diào)用程序去取出下一次的音符的相關(guān)參數(shù),再播放音符。對(duì)于演奏樂曲,一般將休止符的音調(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ì)上要盡量的使其變的簡(jiǎn)單安全容易操作。其次,在這次設(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ì)是提高我們的動(dòng)手能力以與資金有限。因此在經(jīng)濟(jì)上必須能夠承受,比較理想化的對(duì)于我們課程設(shè)計(jì)來說是不可行的。通過分析后,無論是在器件價(jià)格或是常見度上均是可行的。該設(shè)計(jì)具有以下優(yōu)點(diǎn):可以隨意彈奏想要表達(dá)的音樂;制作簡(jiǎn)單,成本低;比傳統(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 個(gè)按鍵,實(shí)現(xiàn)高音、中音、低音的1、2、3、4、5、6、7、8 的發(fā)音。并在存儲(chǔ)一首歌曲的容,可以實(shí)現(xiàn)自動(dòng)播放。用 PROTEUS 實(shí)現(xiàn)的電子琴仿真設(shè)計(jì)。按下音符鍵可以發(fā)出相應(yīng)的音符按下音樂播放鍵可

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

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

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

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

23、的 CMOS 8 位單片機(jī),部含有 8KB 的可以不斷修改的程序存儲(chǔ)器和 12B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM) ,它使用了 Atmel 公司的高質(zhì)密、不容易失性存儲(chǔ)的技術(shù)生產(chǎn),并且和標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)所兼容,片配置通用 8 位中央處理器(CPU)和 Flash 存儲(chǔ)單元,由于 AT89C52 的強(qiáng)大功能使它可以廣泛的應(yīng)用到人們生產(chǎn)生活的各個(gè)方面。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 個(gè)雙向 I/O 口(3)3 個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器中斷 (4)時(shí)鐘頻率 0-24MHz (5)2 個(gè)串行中斷 (6)可編程 UART 串行通道 (7)2 個(gè)外部中斷源 (8)共 6 個(gè)中斷源 (10)2 個(gè)讀寫中斷口線 3.33.3 單片機(jī)最小電路系統(tǒng)單片機(jī)最小電路系統(tǒng)單片機(jī)的最小工作系統(tǒng)是單片機(jī)加上應(yīng)用程序和合適的外圍器件。(1)但單片機(jī)的應(yīng)用系統(tǒng)中,單片機(jī)是核心部件,它能夠自動(dòng)完成用戶的需求所賦予的任務(wù)。(2)電源電路單片機(jī)是一種超大規(guī)模集成電路,在該集成電路有成千上萬個(gè)晶體管或場(chǎng)效應(yīng)骨。因此,. . .

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

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

27、后,系統(tǒng)能夠自動(dòng)實(shí)現(xiàn)復(fù)位操作。手動(dòng)復(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 口的占用,一般將按鍵排列成矩陣形式。在矩陣式鍵盤里,各個(gè)水平線和垂直線在交叉處是不直接連通的,而是通過一個(gè)按鍵將它們加以連. . . . 9 / 34接的。所以一個(gè)端口就可以構(gòu)成 4*4=16 個(gè)按鍵,與直接將端口線用于鍵盤相比之下多出了一倍,而且在線數(shù)更多的情況下,區(qū)別就會(huì)越明顯,或者再多加一條線就能夠構(gòu)成 20 鍵的鍵盤,而直接用端口線就只能多出一鍵(9 鍵)

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

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

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

31、的狀態(tài)時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,另一個(gè)并行口隨之輸入按鍵狀態(tài),將按鍵逐行動(dòng)態(tài)接地,行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵,該鍵功能可以通過軟件查表來看到。下為主函數(shù)鍵盤處理部分void main (void) uchar num,k,i; lcd_init(); lcd_string(0,10,dis10); / 開機(jī)畫面 lcd_string(11,5,dis11);/開機(jī)畫面 Init_Timer0(); /初始化定時(shí)器 0,主要用于數(shù)碼管動(dòng)態(tài)掃描 SPK=0;/在未按鍵時(shí),喇叭低電平,防止長(zhǎng)期高電平損壞喇叭 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; /在未按鍵時(shí),喇叭低電平,防止長(zhǎng)期高電平損壞喇叭 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、此時(shí)程序已經(jīng)寫入芯片中,這時(shí)就可以進(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)過兩個(gè)多個(gè)月的努力,簡(jiǎn)易電子琴的電路設(shè)計(jì)成功了,簡(jiǎn)易電子琴的設(shè)計(jì)有眾多的方法,此次選擇了以單片機(jī)為基礎(chǔ)的簡(jiǎn)易電子琴歷,當(dāng)然這和我們所學(xué)的專業(yè)有很大的關(guān)系,首先我們所學(xué)的課程中有關(guān)電子硬件的知識(shí)占了多數(shù),在大學(xué)期間學(xué)習(xí)了單片機(jī)原理等基礎(chǔ)電子有關(guān)知識(shí)。 基于單片機(jī)原理的電子琴大大簡(jiǎn)化了以前傳統(tǒng)的音樂產(chǎn)生電路,使得元件得到減少,生產(chǎn)成本降低而且性能也得到了提高,并且耗能也降低了。將程序燒入芯片,調(diào)試成功后,

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

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

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ì)完全手冊(cè)(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)簡(jiǎ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; /定時(shí)器預(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í)器初始化/*- 延時(shí)函數(shù)大約約 2*z+5us-*/void delay2xus(uchar z) while(z-);/*- 延時(shí)函數(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論