2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩64頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  如今,單片機(jī)控制音樂播放的例子不勝枚舉,音樂演奏系統(tǒng)也廣泛的應(yīng)用,而利用單片機(jī)存儲音樂,控制播放,彈奏樂曲更為廣泛。它有功能多﹑價格優(yōu)﹑外圍電路簡單的特點(diǎn),不僅很受音樂愛好者及音樂芯片制造商的熱衷,而且是一般家庭都能承受得了的經(jīng)濟(jì)投入范圍之內(nèi)。利用單片機(jī)發(fā)聲鍵盤操作直觀簡單。對于初學(xué)者來說,是很容易彈奏的。本設(shè)計為基于單片機(jī)的

2、音樂演奏系統(tǒng),設(shè)計出一種不僅要使單片機(jī)可以播放音樂關(guān)鍵在于還有能夠彈奏自己想彈奏的音樂。</p><p>  本文設(shè)計出一種基于STC89C52的簡單音樂演奏系統(tǒng),利用單片機(jī)技術(shù)、LM386音頻功放芯片、4x4鍵盤、SPEAKER、以及74HC595和LED數(shù)碼管實(shí)現(xiàn)原理圖設(shè)計到電路板設(shè)計開發(fā),并用C51高級語言進(jìn)行鍵盤識別程序設(shè)計和音頻脈沖輸出程序的設(shè)計。最終能夠?qū)崿F(xiàn)樂曲演奏和自動播放音樂,并且可以通過LED數(shù)

3、碼管顯示音符和音調(diào)的高低。</p><p>  關(guān)鍵詞:STC89C52;音頻脈沖;鍵盤識別;播放音樂</p><p><b>  Abstract</b></p><p>  At present, the examples of microcontroller control music playback is too numerous t

4、o enumerate, at the same time,the music performance system is also widely used, make the best use of microcontroller which can store music, control playback, playing music.The advantage of the music performance system co

5、ntains multiple functions,excellent price,simple peripheral circuit.The features of the music performance system not only popular with music lovers and music chip manufacturers, but also accepted </p><p><

6、;b>  目 錄</b></p><p><b>  1 緒論1</b></p><p><b>  2 設(shè)計概述3</b></p><p>  2.1主要器件的概述3</p><p>  2.2 設(shè)計思想3</p><p>  2.3 功能說明

7、3</p><p>  2.4 電路圖說明4</p><p>  3 單片機(jī)的介紹6</p><p>  3.1 單片機(jī)簡介6</p><p>  3.2 單片機(jī)的發(fā)展7</p><p>  3.3 單片機(jī)內(nèi)部結(jié)構(gòu)7</p><p>  3.4 引腳電路連接及說明10</p

8、><p>  3.5 引腳結(jié)合電路的說明11</p><p>  3.6 89C51的展望12</p><p>  3.7 STC89C52與AT89C51的區(qū)別12</p><p>  4 硬件電路設(shè)計13</p><p>  4.1 單片機(jī)的最小系統(tǒng)13</p><p>  4.1.

9、1電源電路13</p><p>  4.1.2 時鐘電路14</p><p>  4.1.3 復(fù)位電路15</p><p>  4.2 音頻功放電路設(shè)計16</p><p>  4.2.1 LM386音頻功放芯片介紹16</p><p>  4.2.2 LM386引腳圖16</p><p

10、>  4.2.3 LM386內(nèi)部結(jié)構(gòu)17</p><p>  4.2.4音頻處理模塊電路原理圖18</p><p>  4.3 控制電路18</p><p>  4.3.1鍵盤接口電路18</p><p>  4.3.2 識別按鍵的方法19</p><p>  4.4 顯示電路21</p>

11、<p>  4.4.1 74HC595串入并出移位寄存器21</p><p>  4.4.2 LED8段數(shù)碼管22</p><p>  4.4.3 顯示電路23</p><p>  5 系統(tǒng)軟件設(shè)計25</p><p>  5.1 軟件開發(fā)環(huán)境25</p><p>  5.1.1 keil u

12、vision介紹25</p><p>  5.1.2 keil uvision的功能特點(diǎn)25</p><p>  5.2 流程圖26</p><p>  5.3 揚(yáng)聲器發(fā)聲原理27</p><p>  5.3.1 單片機(jī)產(chǎn)生不同頻率脈沖信號的原理27</p><p>  5.3.2 單片機(jī)產(chǎn)生不同音調(diào)的程序設(shè)

13、計28</p><p>  5.4 鍵盤矩陣的設(shè)計29</p><p>  5.5 鍵盤矩陣與不同頻率音調(diào)發(fā)聲的結(jié)合31</p><p>  5.6 音樂自動演奏和音樂彈奏的轉(zhuǎn)換32</p><p>  5.7 數(shù)碼管顯示程序設(shè)計32</p><p>  5.7.1 數(shù)碼管顯示程序設(shè)計32</p>

14、;<p>  5.7.2 數(shù)碼管數(shù)據(jù)發(fā)送的程序設(shè)計33</p><p>  5.7.3 數(shù)碼管所需要發(fā)送的數(shù)據(jù)程序設(shè)計33</p><p>  5.8 音樂自動演奏程序設(shè)計34</p><p>  5.8.1 音樂代碼庫的建立方法34</p><p>  5.8.2 選曲34</p><p> 

15、 5.8.3音符的節(jié)拍35</p><p>  5.8.4 音樂演奏的程序設(shè)計35</p><p><b>  結(jié) 論38</b></p><p><b>  致 謝39</b></p><p><b>  參考文獻(xiàn)40</b></p><p>

16、;  附錄A 英文原文41</p><p>  附錄B 漢語翻譯46</p><p>  附錄C 程序50</p><p>  附錄D 原理圖59</p><p><b>  1 緒論</b></p><p>  現(xiàn)如今,單片機(jī)控制音樂播放的例子不勝枚舉,音樂演奏系統(tǒng)也廣泛的應(yīng)用

17、,而利用單片機(jī)存儲音樂,控制播放最為廣泛。它有功能多﹑價格優(yōu)﹑外圍電路簡單的特點(diǎn),不僅很受音樂愛好者及音樂芯片制造商的熱衷,而且是一般家庭都能承受得了的經(jīng)濟(jì)投入范圍之內(nèi)。利用單片機(jī)發(fā)聲鍵盤操作直觀簡單。對于初學(xué)者來說,尤其對識譜的人來說是很容易彈奏的,一首簡單的曲子對于基礎(chǔ)好的人甚至不用過多的練習(xí)和教師的輔導(dǎo)就能很容易的彈奏出來。這樣就更大的提高了學(xué)習(xí)者的學(xué)習(xí)興趣,迅速地提高了電子音樂的普及率。由于本課題定為基于單片機(jī)的音樂演奏系統(tǒng),那

18、么不僅要使單片機(jī)可以播放音樂關(guān)鍵在于還有能夠彈奏自己想彈奏的音樂。 </p><p>  隨著以法國、德國、意大利為代表的歐洲電子音樂和以美國為代表的電子音樂、計算機(jī)音樂早期得到了充分發(fā)展,國際上許多國家紛紛開始引入電子音樂研究與創(chuàng)作。六十年代,美國物理學(xué)家研制出了小型實(shí)用的電子音樂演奏設(shè)備。從此,首先在歐美地區(qū),電子音樂演奏作為新型的樂器被音樂家特別是流行音樂家所采用并快速的流行起來。到當(dāng)今21世紀(jì),電子音樂演

19、奏系統(tǒng)的發(fā)展已經(jīng)經(jīng)過了很多代產(chǎn)品,尤其是電氣琴已經(jīng)非常完善,它可以說是無所不能了。</p><p>  本設(shè)計用4x4鍵盤來對應(yīng)每一個音樂的音符已達(dá)到彈奏的效果,為便于理解與說明,加入了LED數(shù)碼管以顯示對應(yīng)的歌曲的編碼和音調(diào)的高低等。本設(shè)計從選題、編程、搭接電路、焊接芯片至論文編寫在本文都會詳細(xì)的闡述。</p><p>  近年來,電子音樂越來越受到人們的關(guān)注,它有功能多﹑價格優(yōu)﹑外圍電

20、路簡單的特點(diǎn),很受音樂愛好者及音樂芯片制造商的青睞。本文設(shè)計的一種基于STC89C52的簡單音樂演奏系統(tǒng),利用單片機(jī)技術(shù)、LM386音頻功放芯片、4x4鍵盤、SPEARK實(shí)現(xiàn)原理圖設(shè)計到電路板設(shè)計開發(fā),并用C51高級語言進(jìn)行鍵盤識別程序設(shè)計和音頻脈沖輸出程序的設(shè)計。經(jīng)過硬件的調(diào)試,該音樂發(fā)生器能通過鍵盤彈奏出來的樂曲,音樂播放良好,音調(diào)和節(jié)拍都由單片機(jī)控制,使之產(chǎn)生精確的音樂。</p><p>  該系統(tǒng)能夠?qū)崿F(xiàn)

21、樂曲演奏和自動播放音樂兩種功能。</p><p>  當(dāng)實(shí)現(xiàn)樂曲演奏時,P0.3端子的信號為高電平,采用4x4矩陣鍵盤作為發(fā)生器的輸入設(shè)備。為了放大單片機(jī)STC89C52產(chǎn)生的樂曲聲音,采用了功率放大器LM386,通過SPEAKER進(jìn)行發(fā)生。彈出不同的音調(diào)都可以通過LED數(shù)碼管顯示出來。</p><p>  當(dāng)實(shí)現(xiàn)自動播放音樂時,將P0.3端子的電壓拉成低電平,用矩陣鍵盤的按鍵去控制所選取

22、的歌曲,可以由LED數(shù)碼管顯示所選取歌曲的序號。</p><p><b>  2 設(shè)計概述</b></p><p>  2.1主要器件的概述</p><p>  本次設(shè)計的核心是STC89C52芯片,本論文涉及了有關(guān)STC89C52的所有功能,并針對設(shè)計中所用到的STC89C52進(jìn)行拓展。大致上包括STC89C52芯片的引腳功能介紹、圖表的說

23、明、以及它的輸入/輸出(I/O)口的說明。對于輸入/輸出(I/O)口的說明會有詳細(xì)的說明,接下來是電路的硬件部分說明,最后是軟件設(shè)計。</p><p>  設(shè)計的主要器件包括LM386音頻功放芯片,4x4鍵盤,以及74HC595和LED數(shù)碼管。LM386是音頻功放電路的核心。4x4鍵盤用于控制電路,74HC595和LED數(shù)碼管用于顯示電路。</p><p><b>  2.2 設(shè)

24、計思想</b></p><p>  本設(shè)計主要分成選題思想、硬件思想、編程思想三個方面。</p><p>  選題思想,它實(shí)際上就是一個音樂演奏系統(tǒng),在人的操作下,通過LM386功放和SPEAKER播放,用4x4鍵盤進(jìn)行彈奏,并可以顯示彈奏的樂曲和音調(diào)。</p><p>  硬件思想,它的基礎(chǔ)是選題思想,根據(jù)題目,硬件也就要配合著來選擇。這里所用的單片機(jī)

25、是STC89C52,選擇它,首先市場上大部分賣的都是STC89C52型號的。其次,STC89C52是STC89C51的加強(qiáng)版,功能多穩(wěn)定性好,本次設(shè)計業(yè)非常適合這款單片機(jī)。</p><p>  在它們的輸出端分別接有LM386音頻放大器和74HC595串入并出寄存器。</p><p>  程序編寫階段,在程序中分了兩個大程序塊:</p><p>  主程序段。包括對

26、定時計數(shù)器的初始化,音樂演奏與音樂彈奏的轉(zhuǎn)變和數(shù)碼管的顯示。</p><p>  音樂自動演奏的編碼。這里包括了化蝶和渴望兩首歌曲的音調(diào)和節(jié)拍。</p><p>  以上是大致的劃分,在程序中還有許多子程序塊,來具體的執(zhí)行這些,例如最基本的鍵盤掃描,數(shù)碼管數(shù)據(jù)發(fā)送等等。</p><p><b>  2.3 功能說明</b></p>

27、<p>  當(dāng)實(shí)現(xiàn)樂曲演奏時,P0.3端子的信號為高電平,采用4x4矩陣鍵盤作為發(fā)生器的輸入設(shè)備。為了放大單片機(jī)STC89C52產(chǎn)生的樂曲聲音,采用了功率放大器LM386,通過SPEAKER進(jìn)行發(fā)生。彈出不同的音調(diào)都可以通過LED數(shù)碼管顯示出來。</p><p>  當(dāng)實(shí)現(xiàn)自動播放音樂時,將P0.0端子的電壓拉成低電平,用矩陣鍵盤的按鍵去控制所選取的歌曲,可以由LED數(shù)碼管顯示所選取歌曲的序號<

28、/p><p>  通過按鍵開關(guān)來實(shí)現(xiàn)P0.3的高低電平變換。</p><p><b>  2.4 電路圖說明</b></p><p>  可參見附錄 D,為該設(shè)計的電路圖,它大至上分為五個部分:</p><p>  為STC89C52芯片,上面畫出了各個引腳所對應(yīng)的連接方法,有晶振的連接引腳X1和X2,復(fù)位鍵連接到引腳RES

29、ET,P3.7接LM386音頻放大器電路用于發(fā)聲,P3.0—P3.2接74HC595寄存器,控制LED顯示。</p><p>  音頻放大電路,主要有LM386芯片,LM386的外形和引腳的排列:引腳2為反相輸入端,3為同相輸入端;引腳5為輸出端;引腳6和4分別為電源和地;引腳1和8為電壓增益設(shè)定端;使用時在引腳7和地之間接旁路電容,通常取10μF。</p><p>  兩個74HC595

30、串行輸入輸出或并行輸出移位寄存器,用于LED數(shù)碼管發(fā)光。有效的減少了單片機(jī)輸入/輸出端口的占用。</p><p>  電源。DC接口,接有二極管(保護(hù)作用),100UF的電解電容(濾低頻)和1UF的獨(dú)石電容(濾高頻)</p><p> ?。?)電平轉(zhuǎn)換,包括DB9和MAX232.</p><p>  本設(shè)計最初有兩種方案,一種是利用STC89C52、74LS373鎖

31、存器和27512外部擴(kuò)展組成的音樂播放器。電路以STC89C52為主控制器,74LS373和27512進(jìn)行外部程序存儲器的擴(kuò)展,播放/暫停鍵為播放/暫停歌曲,下一曲鍵和上一曲鍵分別為調(diào)整歌曲的下一曲和上一曲選擇鍵的按鈕。晶振采用12MHz,音樂信號由P3.0口輸出,經(jīng)喇叭發(fā)聲而播放歌曲。程序根據(jù)音選取的是C調(diào)三個8度內(nèi)的音符,共16個音。每個音符對應(yīng)頻率由定時器T0產(chǎn)生。為了程序調(diào)用方便,每個音符都對應(yīng)一個編碼,占用一個字節(jié)。在程序中以

32、查表的方式加載計數(shù)初值。當(dāng)值為00H時表示空拍,與節(jié)拍碼配合完成節(jié)拍發(fā)音。節(jié)拍碼也占一個字節(jié),其總時間長度等于基本時間乘以節(jié)拍碼的值。節(jié)拍碼值為01H時,表示當(dāng)前樂曲結(jié)束,為00H時,表示全部樂曲結(jié)束。為了編碼簡單,一般節(jié)拍碼高半字節(jié)表示整拍,低半字節(jié)表示分?jǐn)?shù),只要基本延時設(shè)定恰當(dāng)即可并且在按開始按鈕后,可以播放歌曲。另一種是利用STC89C52和LM386(音頻功放) 組成的音樂播放器。電路以STC89C52為主控制器,LM386(音

33、頻功放)來實(shí)現(xiàn)的。經(jīng)喇叭發(fā)聲而播放歌曲。程序中根據(jù)每個</p><p>  最終,考慮到方案二可以彈奏任意歌曲而采用了方案二,并加以改良使之能演奏存儲好的歌曲,并通過LED數(shù)碼管顯示聲調(diào)和曲號。</p><p><b>  3 單片機(jī)的介紹</b></p><p><b>  3.1 單片機(jī)簡介</b></p>

34、;<p>  單片機(jī)是一種集成電路芯片。它采用超大規(guī)模技術(shù)將具有數(shù)據(jù)處理能力的微處理器(CPU)、存儲器(含程序存儲器ROM和數(shù)據(jù)存儲器RAM)、輸入、輸出接口電路(I/O接口)集成在同一塊芯片上,構(gòu)成一個即小巧又很完善的計算機(jī)硬件系統(tǒng),在單片機(jī)程序的控制下能準(zhǔn)確、迅速、高效地完成程序設(shè)計者事先規(guī)定的任務(wù)。所以說,一片單片機(jī)芯片就具有了組成計算機(jī)的全部功能。由此來看,單片機(jī)有著一般微處理器(CPU)芯片所不具備的功能,它可

35、單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,這是單片機(jī)最大的特征。</p><p>  然而單片機(jī)又不同于單板機(jī)(一種將微處理器芯片、存儲器芯片、輸入輸出接口芯片安裝在同一塊印制電路板上的微型計算機(jī)),單片機(jī)芯片在沒有開發(fā)前,它只是具備功能極強(qiáng)的超大規(guī)模集成電路,如果對它進(jìn)行應(yīng)用開發(fā),它便是一個小型的微型計算機(jī)控制系統(tǒng),但它與單板機(jī)或個人電腦(PC機(jī))有著本質(zhì)的區(qū)別。</p><p> 

36、 單片機(jī)的應(yīng)用屬于芯片級應(yīng)用,需要用戶(單片機(jī)學(xué)習(xí)者與使用者)了解單片機(jī)芯片的結(jié)構(gòu)和指令系統(tǒng)以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計所需要的理論和技術(shù),用這樣特定的芯片設(shè)計應(yīng)用程序,從而使該芯片具備特定的功能。</p><p>  不同的單片機(jī)有著不同的硬件特征和軟件特征,即它們的技術(shù)特征均不盡相同,硬件特征取決于單片機(jī)芯片的內(nèi)部結(jié)構(gòu),用戶要使用某種單片機(jī),必須了解該型產(chǎn)品是否滿足需要的功能和應(yīng)用系統(tǒng)所要求的特性指標(biāo)。

37、這里的技術(shù)特征包括功能特性、控制特性和電氣特性等等,這些信息需要從生產(chǎn)廠商的技術(shù)手冊中得到。軟件特征是指指令系統(tǒng)特性和開發(fā)支持環(huán)境,指令特性即我們熟悉的單片機(jī)的尋址方式,數(shù)據(jù)處理和邏輯處理方式,輸入輸出特性及對電源的要求等等。開發(fā)支持的環(huán)境包括指令的兼容及可移植性,支持軟件(包含可支持開發(fā)應(yīng)用程序的軟件資源)及硬件資源。要利用某型號單片機(jī)開發(fā)自己的應(yīng)用系統(tǒng),掌握其結(jié)構(gòu)特征和技術(shù)特征是必須的。</p><p>  

38、單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或數(shù)字電路構(gòu)成的控制系統(tǒng),可以以軟件控制來實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化,現(xiàn)在單片機(jī)控制范疇無所不在,例如通信產(chǎn)品、家用電器、智能儀器儀表、過程控制和專用控制裝置等等,單片機(jī)的應(yīng)用領(lǐng)域越來越廣泛。</p><p>  誠然,單片機(jī)的應(yīng)用意義遠(yuǎn)不限于它的應(yīng)用范疇或由此帶來的經(jīng)濟(jì)效益,更重要的是它已從根本上改變了傳統(tǒng)的控制方法和設(shè)計思想,是控制技術(shù)的一次革命,是一座重要的里程碑。&l

39、t;/p><p>  3.2 單片機(jī)的發(fā)展</p><p>  單片機(jī)由于這種特殊的結(jié)構(gòu)形式,在某些應(yīng)用領(lǐng)域中承擔(dān)了大中型計算機(jī)和通用微型計算機(jī)無法完成的一些工作。總體來說,單片機(jī)的發(fā)展可分為三個階段:</p><p>  第一階段(1976——1978年):以Intel公司的MCS-48系列單片機(jī)為代表,該系列單片機(jī)在片內(nèi)集成了8位CPU、并行I/O接口、8位定時/計

40、數(shù)器、RAM和ROM等,片內(nèi)RAM和ROM容量較小,尋址范圍不大于4KB。</p><p>  第二階段(1978——1983年):以Intel公司的MCS-51系列單片機(jī)為代表,該系列單片機(jī)均帶有串行I/O接口,具有多級中斷處理系統(tǒng),定時/計數(shù)器位16位,片內(nèi)RAM和ROM容量相對增大,有的片內(nèi)還帶有A/D轉(zhuǎn)換接口。</p><p>  第三階段(1983年至今):高檔8位單片機(jī)鞏固發(fā)展

41、及16位單片機(jī)推出階段。此階段主要特征是:一方面不斷完善高檔8位單片機(jī),改善其性能、結(jié)構(gòu),另一方面發(fā)展16位單片機(jī)及專用單片機(jī)。16位單片機(jī)除了CPU位16位外,片內(nèi)RAM和ROM的容量進(jìn)一步增大,片內(nèi)RAM為232位,ROM為8KB,片內(nèi)帶有高速輸入/輸出部件,多通道10位A/D轉(zhuǎn)換部件,8級中斷處理系統(tǒng)。近年來,32位單片機(jī)已進(jìn)入了實(shí)用階段[1]。</p><p>  3.3 單片機(jī)內(nèi)部結(jié)構(gòu)</p>

42、;<p>  STC89C52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,STC89C52是一種高效微控制器,為很多嵌入式

43、控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p>  3.3.1 主要特征 ·與MCS-51 兼容 ·8K字節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年 ·全靜態(tài)工作:0Hz-24Hz ·三級程序存儲器鎖定</p><p>  ·128*8位內(nèi)部RAM ·32可編程I/O線 

44、83;兩個16位定時器/計數(shù)器 ·6個中斷源 ·可編程串行通道 ·低功耗的閑置和掉電模式 ·片內(nèi)振蕩器和時鐘電路</p><p>  3.3.2 管腳說明[2]     VCC:供電電壓。     GND:接地。</p><p>  P0口:P0口

45、為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。   P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可

46、用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸

47、出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容</p><p>  P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功

48、能口,如下表所示:口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3口同時為閃爍編程和編程校驗(yàn)接收一些

49、控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。 ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此</p><p>  X1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。  X2:來自反向振蕩器的輸出。

50、</p><p>  3.3.3 振蕩器特性  X1和X2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  3.4 引腳電路連接及說明</p&

51、gt;<p>  P2.0~P2.7為I/O口的P2口:內(nèi)部帶有弱上拉的雙向I/O口,作為輸入引腳使用前,先向P2口鎖存器寫入1,使P2口引腳被上拉為高電平RESET為復(fù)位信號輸入端,高電平有效。</p><p>  /EA為外部程序存儲器選擇信號,低電平有效。在復(fù)位期間CPU檢測并鎖存該引腳電平狀態(tài),當(dāng)發(fā)現(xiàn)該引腳為高電平時,從片內(nèi)程序存儲器取指令,只有當(dāng)程序計數(shù)器PC超出片內(nèi)程序存儲器地址編碼范圍

52、時,才轉(zhuǎn)到外部ROM中取指令;當(dāng)該引腳為低電平時,一律從外部程序存儲器中取指令。/EA—在本次設(shè)計中此引腳接高電平,所以按照它的功能特性它將從內(nèi)部程序存儲器讀取指令碼。</p><p>  X1、X2的功能特性,其中X1接CPU內(nèi)部時鐘電路。本電路的時鐘電路采用芯片內(nèi)部的振蕩電路。當(dāng)使用片內(nèi)振蕩電路時,X1、X2與晶體振蕩器及電容C1、C2按電路圖上所示方式連接。晶振、電容C1 /C2及片內(nèi)與非門(作為反饋、放大

53、元件)構(gòu)成了電感三點(diǎn)式振蕩器,振蕩信號頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定。該設(shè)計中我所設(shè)計的晶振頻率為11.0592MHz,C1、C2都為22PF。</p><p>  對于89C52芯片來說,它內(nèi)置了ROM、EPROM、OTP ROM、Flash ROM,當(dāng)不使用外部存儲器 (包括程序存儲器和數(shù)據(jù)存儲器)時,P0口可以作為通用的輸入/輸出端口(I/O)使用。</p>&

54、lt;p>  P0口作為I/O端口使用時,多路開關(guān)“控制”信號為“0”(即低電平)。輸出時,寫鎖存器脈沖CLK有效,輸出信號經(jīng)內(nèi)部總線至鎖寸器輸入端D至反相輸入端Q反至`多路開關(guān)至V2柵極至V2漏極到輸出端,P0口是漏極開路輸出,當(dāng)驅(qū)動拉電流負(fù)載時,需要外接上拉電阻,P0口帶有鎖存器,因此具有輸出鎖存器,因此具有輸出鎖存功能。P0口作為輸入口時,與P1口類似,也必須先執(zhí)行寫端口指令。</p><p>  沒

55、有外部程序存儲器或雖然有外部數(shù)據(jù)存儲器,但容量不大于256字節(jié),不需要高8位地址時(在這種情況下,不能通過數(shù)據(jù)地址寄存器DPTR讀寫外部數(shù)據(jù)存儲器),P2口可以作為I/O端口使用,這時,“控制”信號為“0”;作為輸入口前,同樣需要向鎖存器寫入“1”,使反向器輸出低電平。</p><p>  3.5 引腳結(jié)合電路的說明</p><p>  圖 3.1 STC89C52芯片圖</p&

56、gt;<p>  讓圖3.1中31腳從內(nèi)部程序存儲器讀取程序,直接讓其接Vcc;40腳、20腳</p><p>  也分別按照它的功能接到Vcc 5V和GND。</p><p>  2)因?yàn)樾枰褂闷瑑?nèi)振蕩電路,所以在18腳、19腳之間串了一個12MHz的晶振,</p><p>  在晶振的兩端分別接有一個22PF的電容,兩個電容的另一端共同接地。&l

57、t;/p><p>  在RESET位即引腳9接有一個按鍵,并接有一個0.01PF的電容與一個10千歐</p><p>  的電阻串聯(lián),構(gòu)成了復(fù)位按鍵。</p><p>  4)在17引腳處接有一個LED串聯(lián)一個10千歐的電阻,LED是工作指示燈,而電</p><p>  阻起到保護(hù)LED的作用。</p><p>  5)引

58、腳P1.6接到音頻放大器,作為音頻的輸出。</p><p>  3.6 89C51的展望</p><p>  有些文獻(xiàn)甚至也將8051泛指MCS-51系列單片機(jī),8051是早期的最典型的代表作,由于MCS-51單片機(jī)影響極深遠(yuǎn),許多公司都推出了兼容系列單片機(jī),就是說MCS-51內(nèi)核實(shí)際上已經(jīng)成為一個8位單片機(jī)的標(biāo)準(zhǔn)。 其他的公司的51單片機(jī)產(chǎn)品都是和MCS-51內(nèi)核兼容的產(chǎn)品而以。

59、同樣的一段程序,在各個單片機(jī)廠家的硬件上運(yùn)行的結(jié)果都是一樣的,如ATMEL的89C51(已經(jīng)停產(chǎn))、89S51, PHILIPS(菲利浦),和WINBOND(華邦)等,我們常說的已經(jīng)停產(chǎn)的89C51指的是ATMEL公司的 AT89C51單片機(jī),同時是在原基礎(chǔ)上增強(qiáng)了許多特性,如時鐘,更優(yōu)秀的是由Flash(程序存儲器的內(nèi)容至少可以改寫1000次)存儲器取帶了原來的ROM(一次性寫入),AT89C51的性能相對于8051已經(jīng)算是非常優(yōu)越的

60、了。     不過在市場化方面,89C51受到了PIC單片機(jī)陣營的挑戰(zhàn),89C51最致命的缺陷在于不支持ISP(在線更新程序)功能,必須加上ISP功能等新功能才能更好延續(xù)MCS-51的傳奇。89S51就是在這樣的背景下取代89C51的,現(xiàn)在,89S51目前已經(jīng)成為了實(shí)際應(yīng)用</p><p>  3.7 STC89C52與AT89C51的區(qū)別</p><

61、;p><b>  區(qū)別主要有3個:</b></p><p>  1、程序存儲器為8KB比C51多了4KB的存儲空間,在本次存儲歌曲時起到了重要的作用。</p><p>  2、STC可ISP在線編程</p><p>  3、STC89C52多一個定時計數(shù)器T2</p><p>  本次設(shè)計采用的是STC89C52

62、單片機(jī)。4 硬件電路設(shè)計</p><p>  硬件電路的設(shè)計,決定了整個流程的發(fā)展,其中包含了單片機(jī)以內(nèi)的全部器件的連接以及其他硬件電路的設(shè)計,首先,必須了解選用的的元器件的各項(xiàng)性能指標(biāo)與工作原理,本設(shè)計硬件電路包括最小系統(tǒng)、音頻功放電路、控制電路和顯示電路四大部分。最小系統(tǒng)只要是為了使單片機(jī)正常工作。音頻功放電路用于產(chǎn)生所要實(shí)現(xiàn)的音樂??刂齐娐分灰砷_關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進(jìn)行操作。顯示電路

63、主要是為了顯示歌曲序號和音調(diào)。電路流程圖如圖4.1所示,下面是對硬件電路的大環(huán)節(jié)的說明。</p><p>  圖4.1 電路流程圖 </p><p>  4.1 單片機(jī)的最小系統(tǒng)</p><p>  所謂最小系統(tǒng)是指能進(jìn)行正常工作的最簡單電路。包括電源電路,時鐘電路,復(fù)位電路,三者缺一不可。</p><p><b>

64、;  4.1.1電源電路</b></p><p>  單片機(jī)的電源電路顧名思義是給單片機(jī)供電的。如圖4.2所示,其中包含DC插口,開關(guān),二極管,電容,電阻和發(fā)光二極管。因?yàn)楸驹O(shè)計是直接通過USB接口提供5伏的電源所以不需要整流橋電路。</p><p><b>  各部分的作用:</b></p><p>  DC接口接直流電源,電壓5

65、伏</p><p>  電解電容C2:濾除高頻及脈沖干擾。獨(dú)石電容:濾除低頻及脈沖干擾</p><p>  二極管D1:起保護(hù)作用,防止電源接反,使反相電壓不通過。</p><p>  電阻R1:1K 限流作用。發(fā)光二極管D2:指示燈作用</p><p>  圖4.2 單片機(jī)的電源電路</p><p>  4.1.2

66、時鐘電路</p><p>  單片機(jī)的時鐘電路信號通常用兩張電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。本設(shè)計選用的是內(nèi)部振蕩方式。</p><p>  在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個高增益的反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器,并產(chǎn)生振蕩時鐘脈沖,晶振通常選用6MHZ,12MHZ和24MHZ,本設(shè)計選用

67、的是11.0592MHZ的晶振。如圖4.3,圖中電容器C15和C14起穩(wěn)定振蕩頻率快速起振的作用,一般選用5—30pF 本設(shè)計選用22pF。內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定,實(shí)用電路使用較多。</p><p>  圖4.3 單片機(jī)的時鐘電路</p><p>  4.1.3 復(fù)位電路</p><p>  復(fù)位操作完成單片機(jī)片內(nèi)的初始化,是單片機(jī)從一種確定的狀態(tài)開始

68、運(yùn)行。</p><p>  當(dāng)單片機(jī)的復(fù)位引腳RST出現(xiàn)5ms以上的高電平時,單片機(jī)就完成了復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序。因此要求單片機(jī)復(fù)位后能脫離復(fù)位狀態(tài)。</p><p>  根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實(shí)現(xiàn)復(fù)位操作。開關(guān)復(fù)位要求在電源接通的情況下,在單片機(jī)運(yùn)行期間,如果發(fā)生死

69、機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。</p><p>  常用的是上電且開關(guān)操作,如圖4.4所示。上電后,由于電容充電,使RST持續(xù)一段高電平時間。但單片機(jī)已經(jīng)運(yùn)行之中時,按下復(fù)位鍵也能使RST持續(xù)一段時間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。通常選用C=10-30μF,R=10K[3]。 </p><p>  圖4.4 單片機(jī)的復(fù)位電路</p>

70、;<p>  4.2 音頻功放電路設(shè)計</p><p>  在一定頻率范圍內(nèi),具有一定頻率的振動就能產(chǎn)生所要實(shí)現(xiàn)的音符,但因?yàn)閱纹瑱C(jī)沒有足夠的驅(qū)動能力,這就需要音頻功率放大電路。</p><p>  4.2.1 LM386音頻功放芯片介紹</p><p>  LM386是一種音頻集成功放,具有自身功耗低、更新內(nèi)鏈增益可調(diào)整、電源電壓范圍大、外接元件少和

71、總諧波失真小等優(yōu)點(diǎn)的功率放大器,廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。 </p><p>  LM386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。輸入端以地位參考,同時輸出端被自動偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電

72、的場合[4]。</p><p><b>  LM386特性:</b></p><p>  靜態(tài)功耗低,約為4mA,可用于電池供電;</p><p>  工作電壓范圍寬,4V-12V或5V-18V;</p><p><b>  外圍元件少;</b></p><p>  電壓增益

73、可調(diào),20-200;</p><p><b>  低失真度。</b></p><p>  LM386的封裝形式有塑封8引線雙列直插式和貼片式。</p><p>  4.2.2 LM386引腳圖</p><p>  LM386引腳圖,如圖4.5所示。引腳1為增益設(shè)定,引腳2為反相輸入端,3為正向輸入端;引腳5為輸出端;引腳

74、6和4分別為電源和地;引腳1和8為電壓增益設(shè)定端;使用時在引腳7和地之間接旁路電容,一般取10μF。查LM386的datasheet,電源電壓4-12V或5-18V(LM386N-4);靜態(tài)消耗電流為4mA;電壓增益為20-200dB;在1、8腳開路時,帶寬為300KHz;輸入阻抗為50K;音頻功率0.5W。 盡管LM386的應(yīng)用非常簡單,但如果不注意,特別是器件的上電、斷電瞬間,甚至工作穩(wěn)定后,一些操作</p><

75、p> ?。ㄈ绮灏我纛l插頭、旋音量調(diào)節(jié)鈕)都會帶來的瞬態(tài)沖擊,在輸出喇叭上會產(chǎn)生噪聲。</p><p>  4.5 LM386引腳圖 </p><p>  4.2.3 LM386內(nèi)部結(jié)構(gòu)</p><p>  LM386內(nèi)部電路原理圖如圖4.6所示。它是一個三級放大電路。 </p><p>  圖4.6 LM386的內(nèi)部結(jié)構(gòu)</p&g

76、t;<p>  第一級為差分放大電路,T1和T3、T2和T4分別構(gòu)成復(fù)合管,作為差分放大電路的放大管;T5和T6組成鏡像電流源作為T1和T2的有源負(fù)載;T3和T4信號從管的基極輸入,從T2管的集電極輸出,為雙端輸入單端輸出差分電路。使用鏡像電流源作為差分放大電路有源負(fù)載,可使單端輸出電路的增益近似等于雙端輸出電容的增益。 </p><p>  第二級為共射放大電路,T7為放大管,恒流源作有源負(fù)載,以

77、增大放大倍數(shù)。 </p><p>  第三級中的T8和T9管復(fù)合成PNP型管,與NPN型管T10構(gòu)成準(zhǔn)互補(bǔ)輸出級。二極管D1和D2為輸出級提供合適的偏置電壓,可以消除交越失真。 </p><p>  引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為OTL電路。輸出端(引腳5)應(yīng)外接輸出電容后再接負(fù)載。 </p><p>  電阻R7從輸出端連接到T2的

78、發(fā)射極,形成反饋通路,并與R5和R6構(gòu)成反饋網(wǎng)絡(luò),從而引入了深度電壓串聯(lián)負(fù)反饋,使整個電路具有穩(wěn)定的電壓增益[5]。</p><p>  4.2.4音頻處理模塊電路原理圖</p><p>  由于單片機(jī)驅(qū)動能力不夠,在處理音符信號時,需加功率放大裝置。因LM386具有低功耗、高增益的特點(diǎn),適合單片機(jī)低功耗輸出,所以加裝LM386音頻信號放大器對信號進(jìn)行放大。具體電路如圖4.7所示。<

79、/p><p>  圖4.7 音頻功放電路</p><p><b>  4.3 控制電路</b></p><p>  控制電路由開關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進(jìn)行操作。</p><p>  4.3.1鍵盤接口電路</p><p>  1、矩陣式鍵盤的結(jié)構(gòu)及原理</p><

80、p>  單片機(jī)系統(tǒng)中,若使用按鍵的數(shù)量比較多時,通常選用用矩陣式鍵盤。矩陣式鍵由行線和列線構(gòu)成,按鍵位于行、列線的交叉點(diǎn)上,目前計算機(jī)系統(tǒng)中使用的鍵盤按功能不同一般可分為編碼鍵盤和非編碼鍵盤兩種基本類型。 (1)編碼鍵盤:鍵盤本身帶有實(shí)現(xiàn)接口主要功能所需的硬件電路。不僅能自動檢測被按下的鍵,并完成去抖動、防串鍵等功能,而且能提供與被按鍵功能對應(yīng)的鍵碼(如ASCII碼)送往CPU。所以,編碼鍵盤接口簡單、使用方便。但由于硬件

81、電路較復(fù)雜,因而價格較貴。 (2)非編碼鍵盤:鍵盤只簡單地提供按鍵開關(guān)的行列矩陣。有關(guān)按鍵的識別、鍵碼的確定與輸入、去抖動等功能均由軟件完成。目前微機(jī)系統(tǒng)中,一般為了降低成本大多數(shù)采用非編碼鍵盤[6]。其結(jié)構(gòu)圖如圖4.8所示。</p><p><b>  圖4.8 鍵盤電路</b></p><p>  4.3.2 識別按鍵的方法</p><

82、p><b>  1、矩陣式方法</b></p><p>  識別按鍵的方法很多,其中,最常見的方法就是矩陣式方法。下面以圖4.8中8號鍵的識別為例來說明掃描法識別按鍵的過程。</p><p>  鍵盤矩陣是由四行四列構(gòu)成,矩陣的四列和P2口的低四位相連,四行與P2口的高四位相連。</p><p>  第一步:進(jìn)行鍵盤掃描。先將所有的列置1

83、行置為0,如果檢測到某列被拉為0,則確定有按鍵按下。接下來經(jīng)過10ms去抖,再次檢測是否有按鍵按下,如果有則確定有按鍵按下。</p><p>  第二步,確定是哪個按鍵被按下。先將第一行置0其他三行置1,所有列置1,如果有列被拉為0,假設(shè)為第N列,則確定為第一行第N列的按鍵被按下。如果將第一行置0,沒有檢測到有列被拉為0,則將第二行置0,其他三行被置1,所有列置1,按照上訴方式進(jìn)行鍵盤檢測。按照此方法依次進(jìn)行按鍵

84、確定,最終得到被按下按鍵確定的行值和列值。</p><p><b>  2、鍵盤的編碼</b></p><p>  對于獨(dú)立式按鍵盤,因?yàn)榘存I數(shù)量較少,可根據(jù)實(shí)際需要靈活編碼。對于矩陣式鍵盤,按鍵的位置由行線和列線交叉點(diǎn)唯一確定,因此可對行號和列號進(jìn)行二進(jìn)制編碼,然后將兩值合成一個字節(jié),高4位是行號,低4位是列號。如圖2.4中的8號鍵,它位于第2行,第3列,因此,其鍵

85、盤編碼應(yīng)為23H。采用上述編碼對于不同行的鍵離散性較大,不利于對按鍵進(jìn)行處理。因此,可采用依次排列鍵號編碼:01H、02H、03H、…0EH、0FH、10H等16個鍵號。編碼相互轉(zhuǎn)換可通過計算的方法實(shí)現(xiàn)。</p><p><b>  3、鍵盤實(shí)現(xiàn)的功能</b></p><p>  鍵盤接口必須具有去抖動、按鍵識別和鍵碼產(chǎn)生3個基本功能。 (1)去抖動:每個按鍵

86、在按下或松開時,都會產(chǎn)生短時間的抖動。抖動的持續(xù)時間與鍵的質(zhì)量相關(guān),一般為5—20mm。所謂抖動是指在識別被按鍵是必須避開抖動狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識別正確無誤。去抖問題可通過軟件延時或硬件電路解決。 (2)被按鍵識別:如何識別被按鍵是接口解決的主要問題,一般可通過軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的基本思想是,由程序?qū)︽I盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需

87、要設(shè)置入口、輸出口一個,該方法在微機(jī)系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵,為此需要提供兩個可編程的雙向輸入/輸出端口。 (3)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,可以通過軟件對行列進(jìn)行計算來實(shí)現(xiàn)。</p><p><b>  4.4 顯示電路</b></p><p>  4.4.1 74HC595串入并出移位

88、寄存器</p><p>  1、74HC595的介紹</p><p>  74HC595是硅結(jié)構(gòu)的CMOS器件, 兼容低電壓TTL電路,遵守JEDEC標(biāo)準(zhǔn)。74HC595是具有8位移位寄存器和一個存儲器,三態(tài)輸出功能。 移位寄存器和存儲器是分別的時鐘。 數(shù)據(jù)在SHcp的上升沿輸入到移位寄存器中,在STcp的上升沿輸入到存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個

89、脈沖。 移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復(fù)位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻關(guān)斷狀態(tài)。三態(tài)。將串行輸入的8位數(shù)字,轉(zhuǎn)變?yōu)椴⑿休敵龅?位數(shù)字,例如控制一個8位數(shù)碼管,將不會有閃爍[7]。</p><p><b>  2、特點(diǎn)及輸出能力&

90、lt;/b></p><p><b> ?。?)特點(diǎn):</b></p><p>  8位串行輸入 /8位串行或并行輸出 存儲狀態(tài)寄存器,三種狀態(tài)  </p><p>  輸出寄存器(三態(tài)輸出:就是具有高電平、低電平和高阻抗三種輸出狀態(tài)的門電路。)可以直接清除 100MHz的移位頻率</p><p><b>

91、; ?。?)輸出能力:</b></p><p>  并行輸出,總線驅(qū)動; 串行輸出;標(biāo)準(zhǔn)中等規(guī)模集成電路   </p><p>  595移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復(fù)位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。 </p><p><

92、b> ?。?)引腳說明:</b></p><p>  Q0…Q7 第15腳, 1, 7 并行數(shù)據(jù)輸出</p><p><b>  GND 第8腳 地</b></p><p>  Q7’ 第9腳 串行數(shù)據(jù)輸出</p><p>  MR 第10腳 主復(fù)位(低電平)   </p><p&g

93、t;  SHCP 第11腳 移位寄存器時鐘輸入   </p><p>  STCP 第12腳 存儲寄存器時鐘輸入   </p><p>  OE 第13腳 輸出有效(低電平)   </p><p>  DS 第14腳 串行數(shù)據(jù)輸入   </p><p>  VCC 第16腳 電源</p><p>  4.4.2 LED

94、8段數(shù)碼管</p><p>  LED數(shù)碼管實(shí)際上是由七個發(fā)光二極管組成8字形構(gòu)成的,加上小數(shù)點(diǎn)是8個。如圖4.9所示這些段分別由字母a,b,c,d,e,f,g,dp來表示。當(dāng)數(shù)碼管特定的段加上電壓后,這些特定的段就會發(fā)亮,以形成不同的數(shù)字樣了。如:顯示一個“3”字,那么應(yīng)當(dāng)是a亮b亮g亮c亮d亮e不亮f不亮dp不亮。小尺寸數(shù)碼管的顯示常用一個發(fā)光二極管組成,而大尺寸的數(shù)碼管由二個或多個發(fā)光二極管組成,一般情況下

95、,單個發(fā)光二極管的管壓降為1.8V左右,電流不超過30mA。發(fā)光二極管的陽極連接到一起連接到電源正極的稱為共陽數(shù)碼管,發(fā)光二極管的陰極連接到一起連接到電源負(fù)極的稱為共陰數(shù)碼管[8]。</p><p>  圖4.9 LED7段數(shù)碼管</p><p>  LED數(shù)碼管的結(jié)構(gòu)和工作原理:</p><p>  led數(shù)碼管(LED Segment Displays)是由多個

96、發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點(diǎn)。位數(shù)有半位,1,2,3,4,5,6,8,10位等等....,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,硬件電路有差異外,編程方法也是不同的。圖2是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。led數(shù)碼管廣泛用于儀表,

97、時鐘,車站,家電等場合。選用時要注意產(chǎn)品尺寸顏色,功耗,亮度,波長等。</p><p>  LED數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。   </p><p>  靜態(tài)顯示驅(qū)動: 靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機(jī)的I/O埠進(jìn)行驅(qū)動,或者使用如BC

98、D碼二-十進(jìn)位*器*進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O埠多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O口來驅(qū)動,要知道一個89S52單片機(jī)可用的I/O口才32個呢。故實(shí)際應(yīng)用時必須增加驅(qū)動器進(jìn)行驅(qū)動,增加了硬體電路的復(fù)雜性。   </p><p>  動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃&qu

99、ot;a,b,c,d,e,f,g,dp "的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會亮。   透過分時輪流控制各個LED數(shù)碼管的COM端,就使各個數(shù)碼管

100、輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。</p><p>  4.4.3 顯示電路</p><p>  本設(shè)計的顯示電路由兩個

101、74HC595串入并出移位寄存器和4位8段LED數(shù)碼管共同組成。</p><p>  為了節(jié)省I/O接口,本設(shè)計加入了2個74HC595移位寄存器,如圖3.4.3一個是控制位選一個是控制段選。位選是選擇用哪個LED燈,段選是顯示亮的數(shù)字。</p><p>  工作時,信號由單片機(jī)P0.0,P0.1,P0.2輸入寄存器。信號在寄存器中鎖存之后一起并行輸出給LED數(shù)碼管。如圖4.10所示<

102、;/p><p>  圖4.10 74HC595</p><p><b>  5 系統(tǒng)軟件設(shè)計</b></p><p>  5.1 軟件開發(fā)環(huán)境</p><p>  5.1.1 keil uvision介紹</p><p>  Keil uvision是德國Keil Software公司生產(chǎn)的51系列

103、兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)C語言的語法來開發(fā),和匯編語言相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而容易掌握,而且很大的提高了工作效率和項(xiàng)目開發(fā)周期,它還能嵌入?yún)R編,也可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。KEILC51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效,快速的特點(diǎn)。C51編譯器的功能不斷增強(qiáng), 使你可以更加貼近CPU本身,及其它的衍生

104、產(chǎn)品。C51已被完全集成到keil uvision的集成開發(fā)環(huán)境中,此集成開發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uvision IDE可為它們提供單一而靈活的開發(fā)環(huán)境。</p><p>  本設(shè)計使用的是keil uvision3軟件來編程。</p><p>  5.1.2 keil uvision的功能特點(diǎn)</p><p>  Keil

105、C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,用戶能輕松的學(xué)會并使用keil C51來開發(fā)單片機(jī)應(yīng)用程序。</p><p>  操作簡單,只要看一下編譯后生成的匯編代碼,就能感受到Keil C51生成的目標(biāo)代碼效率高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢[9]。</p><p><b>  5.2 流程圖&

106、lt;/b></p><p><b>  主程序流程圖:</b></p><p><b>  圖5.1 主流程圖</b></p><p><b>  2、子流程圖:</b></p><p><b>  圖5.2 子流程圖</b></p>

107、<p>  5.3 揚(yáng)聲器發(fā)聲原理</p><p>  5.3.1 單片機(jī)產(chǎn)生不同頻率脈沖信號的原理</p><p>  要產(chǎn)生音頻脈沖,只要算出某一音頻的脈沖(1/頻率),然后將此周期除以2,即為半周期的時間,利用定時器計時這個半周期的時間,每當(dāng)計時到后就將輸出脈沖的I/O反相,然后重復(fù)計時此半周期的時間再對I/O反相,就可以在I/O腳上得到此頻率的脈沖。</p>

108、<p>  2、利用8051的內(nèi)部定時器使其工作在計數(shù)器模式MODE1下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法如下:</p><p>  例如,頻率為523Hz,其周期523 HZ=1912uS,因此只要令計數(shù)器計時956uS/1us=956,在每計數(shù)956次時就將I/O反接,就可得到中音DO(532Hz)。</p><p>  計數(shù)脈沖值與頻率的關(guān)系公式如下:<

109、;/p><p>  N=Fi/2/Fr </p><p> ?。∟:計數(shù)值,F(xiàn)i:內(nèi)部計時一次為1uS,故其頻率為1MHz,F(xiàn)r:要產(chǎn)生的頻率 )</p><p>  3、其計數(shù)值的求法如下:</p><p>  T=65536-N=65536-Fi/2/Fr</p><p>  5.3.2 單片機(jī)產(chǎn)生不同音調(diào)的程序設(shè)計&

110、lt;/p><p>  對單片機(jī)內(nèi)部T0定時\計數(shù)器設(shè)置中斷,通過對數(shù)組查詢的方式經(jīng)過P1.6口對音頻放大器發(fā)送信號,產(chǎn)生不同頻率的脈沖,實(shí)現(xiàn)揚(yáng)聲器音樂演奏。程序設(shè)計如下:</p><p>  1、根據(jù)不同的音調(diào)頻率設(shè)置不同的T0計數(shù)器計數(shù)的次數(shù)</p><p>  //以下是C調(diào)低音的音頻宏定義</p><p>  #define L1 26

111、2 //將“l(fā)_dao”宏定義為低音“1”的頻率262Hz</p><p>  #define L2 286 //將“l(fā)_re”宏定義為低音“2”的頻率286Hz</p><p>  #define L3 311 //將“l(fā)_mi”宏定義為低音“3”的頻率311Hz</p><p>  #define L4 349 //將“l(fā)_fa”宏定

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論