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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  電子科技發(fā)展日益迅速,與人們的生活也發(fā)生著愈加緊密的聯(lián)系。隨著人們精神追求的不斷提升,電子琴作為電子科技發(fā)展的標志性產(chǎn)物,在人們的生活中扮演著非常重要的角色。單片機因其強大的控制功能和靈活的編程實現(xiàn)特性,應(yīng)用范圍已經(jīng)融入到生產(chǎn)生活的各個領(lǐng)域。本電子琴的設(shè)計在實現(xiàn)其基本彈奏功能的基礎(chǔ)上,添加了自動播放音樂的功能。該系統(tǒng)采用AT

2、89C51單片機作為主控芯片,并設(shè)置矩陣鍵盤、揚聲器、LED顯示器和二極管等外圍器件。通過按鍵實現(xiàn)音符的輸入及不同功能的選擇切換;使用二極管顯示被操作按鍵和程序存儲樂曲中音符所對應(yīng)的數(shù)字,在演奏時具有動態(tài)閃爍的效果;而且還使用LED顯示器顯示被按下鍵的序號,以便使用者眼觀和耳聽相結(jié)合,準確確定音符及其發(fā)音;最后通過揚聲器發(fā)出相應(yīng)的音。</p><p>  音樂是由不同的音符組成的,而每個音符對應(yīng)著不同的頻率,因此

3、可以利用不同的頻率組合來實現(xiàn)想要表達的音樂。單片機可以通過定時/計數(shù)器T0產(chǎn)生不同頻率方波信號的方法產(chǎn)生音頻脈沖,使得該電子琴的功能實現(xiàn)更加容易。</p><p>  關(guān)鍵詞:電子琴;AT89C51單片機;手動彈奏;自動播放 </p><p><b>  Abstract</b></p><p>  The Electronic Scien

4、ce and technology is developing rapidly, and it is closely related to people's life. Along with the unceasing promotion of the spiritual pursuit, the electronic organ is the symbol product of the electronic science a

5、nd technology development, and plays a very important role in people's life.. Because of its powerful control functions and flexible programming features, the application has been integrated into various fields of pr

6、oduction and life.. The design of the electronic</p><p>  Music is composed of different notes, and each note is different frequency, so you can use different frequency combinations to achieve the music you

7、want to express. Single chip microcomputer can generate the audio pulse by the time / counter T0 to generate the different frequency square wave signal, making the function of the keyboard more easy.</p><p>

8、  Key words: Electronic organ; AT89C51 SCM; Manual playing; Automatic player</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><

9、p><b>  1. 緒論1</b></p><p>  1.1 設(shè)計背景1</p><p>  1.2 設(shè)計意義1</p><p>  1.3 設(shè)計內(nèi)容2</p><p>  2. 總體設(shè)計方案3</p><p>  2.1 設(shè)計要求3</p><p&g

10、t;  2.2 設(shè)計思路3</p><p>  2.3 設(shè)計方案3</p><p>  3. 硬件設(shè)計5</p><p>  3.1 硬件簡介5</p><p>  3.1.1 AT89C515</p><p>  3.1.2 LED顯示器7</p><p>  3.1.3 鍵盤

11、8</p><p>  3.2 硬件電路設(shè)計9</p><p>  3.2.1 單片機系統(tǒng)電路9</p><p>  3.2.2 顯示電路10</p><p>  3.2.3 揚聲器模塊電路11</p><p>  3.3.4 外中斷控制電路12</p><p>  3.3.5 矩陣鍵

12、盤電路12</p><p>  4. 軟件設(shè)計13</p><p>  4.1 音樂產(chǎn)生的方法13</p><p>  4.1.1 音樂產(chǎn)生的原理13</p><p>  4.1.2 音樂實現(xiàn)過程14</p><p>  4.2 矩陣鍵盤識別處理程序18</p><p>  4.3

13、 顯示程序19</p><p>  4.4 外中斷控制程序19</p><p>  5. 系統(tǒng)仿真21</p><p>  5.1 Keil C5121</p><p>  5.1.1 Keil C51軟件簡介21</p><p>  5.1.2 程序編譯21</p><p>  

14、5.2 Proteus22</p><p>  5.2.1 Proteus軟件簡介22</p><p>  5.2.2 電路編輯22</p><p>  5.3 仿真調(diào)試23</p><p>  5.3.1 硬件調(diào)試23</p><p>  5.3.2 軟件調(diào)試23</p><p>

15、  5.3.3 調(diào)試操作過程23</p><p><b>  結(jié) 論27</b></p><p><b>  致 謝28</b></p><p>  參 考 文 獻29</p><p><b>  附件130</b></p><p><

16、;b>  附件231</b></p><p><b>  附件332</b></p><p><b>  1. 緒論</b></p><p><b>  1.1 設(shè)計背景</b></p><p>  單片機(Microcontrollers)又被稱作單片

17、微控制器,它并不僅僅是完成某一個邏輯功能的芯片,而是一種集成電路芯片,是通過采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等功能(有的可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小但是很完善的微型計算機系統(tǒng)[1]。</p><p>  由于體積小、功耗低、控制功能強、擴

18、展靈活、微型化和使用方便等優(yōu)點,以及單片機強大的控制功能和靈活的編程實現(xiàn)特性,使得單片機使用領(lǐng)域十分廣泛,甚至滲透到了我們生活的各個領(lǐng)域,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。</p><p>  由于單片機的諸多優(yōu)點,使得應(yīng)用單片機所設(shè)計的產(chǎn)品通常具有很強的競爭力。生活和生產(chǎn)的各個領(lǐng)域中,單片機出現(xiàn)在任何有自動控制要求的地方?,F(xiàn)在,盡管單片機的應(yīng)用已經(jīng)非常普遍,但依然有很多用單片機控制尚未實現(xiàn)的

19、領(lǐng)域,因此單片機的應(yīng)用仍然有很大的想象和拓展空間。</p><p>  單片機的開發(fā)和利用有助于提高產(chǎn)品的微型化、多功能化和智能化等。但是,單片機開發(fā)利用的價值絕不僅限于它廣闊的應(yīng)用范圍和帶來的巨大經(jīng)濟利益上,其更重要的意義在于:單片機的應(yīng)用從根本上改變了傳統(tǒng)控制系統(tǒng)設(shè)計的思想和方法,具有里程碑式的革命意義。</p><p><b>  1.2 設(shè)計意義</b><

20、;/p><p>  電子琴是電子科技發(fā)展的重要標志,它是通過與音樂相結(jié)合設(shè)計制造的一種鍵盤樂器。在電子音樂這個領(lǐng)域里,作為一種極具創(chuàng)造性的產(chǎn)物,電子琴在現(xiàn)代音樂中扮演著非常重要的角色,并且因其良好的性能和方便的可操作性已被人們廣泛地使用于學(xué)習(xí)生活中。</p><p>  電子琴具有非常穩(wěn)定、準確的演奏性能,而且還有很鮮明的強弱變化規(guī)律,能夠根據(jù)使用者的要求自主掌握其速度等特點。因此能夠有效地幫

21、助初學(xué)者由淺入深,比較容易地準確掌握使用電子琴彈奏樂曲的技能,并且對其訓(xùn)練彈奏的穩(wěn)定性和準確性有很好的作用。</p><p>  目前市場上的電子琴功能也越來越完善。使用單片機作為控制核心設(shè)計的電子琴系</p><p>  統(tǒng)是單片機開發(fā)和應(yīng)用的一項重要實踐,該系統(tǒng)具有簡單的硬件電路、完善的軟件功能、</p><p>  可靠的控制系統(tǒng)和很高的運行穩(wěn)定性等優(yōu)點,因此

22、為電子琴的推廣和使用提供了保障。</p><p>  以基于單片機的電子琴設(shè)計為選題,目的在于培養(yǎng)我們從日常生活著手,利用所學(xué)知識理論與實踐相結(jié)合,在實踐中進一步完善理論的科學(xué)意識。通過這個選題,還可以更深層次地了解單片機技術(shù),更加熟練地掌握一些單片機芯片的開發(fā)和應(yīng)用。對目前應(yīng)用日益廣泛的單片機有一個更加理性的認識,使所學(xué)理論和實踐很好的結(jié)合起來。</p><p><b>  1

23、.3 設(shè)計內(nèi)容</b></p><p>  本電子琴設(shè)計的主要內(nèi)容是用AT89C51單片機作為控制元件,設(shè)計一個含16個按鍵并添加多項功能的電子琴。該電子琴的硬件系統(tǒng)除以單片機作為主控核心外,外加4×4矩陣鍵盤、揚聲器、二極管和LED顯示器等模塊組成核心主控制模塊。</p><p>  該電子琴是根據(jù)音樂是由許多不同的音階組成,而每個音階對應(yīng)著不同的頻率,通過不同頻率

24、的組合,來實現(xiàn)想要的音樂這一基本理論設(shè)計的。通過單片機定時/計數(shù)器T0產(chǎn)生不同頻率的方波信號產(chǎn)生不同的音階頻率,然后識別按鍵所代表的音階及其對應(yīng)的頻率來發(fā)音實現(xiàn)的。</p><p>  本文將對以單片機為控制核心設(shè)計電子琴的主要內(nèi)容進行詳細分析。主要介紹基于單片機電子琴系統(tǒng)的硬件和軟件組成,并且分別從系統(tǒng)設(shè)計方案、主要硬件設(shè)備、各模塊電路設(shè)計以及各模塊的軟件實現(xiàn)進行詳細闡述。</p><p&g

25、t;  在實現(xiàn)電子琴彈奏功能基礎(chǔ)上,本設(shè)計對電子琴的功能作了進一步的擴展,使其具有自動播放所存曲目的功能,并且可以通過按鍵來實現(xiàn)兩大功能的切換選擇。本文也將對該部分設(shè)計加以分析并闡述。</p><p>  2. 總體設(shè)計方案</p><p><b>  2.1 設(shè)計要求</b></p><p>  本電子琴系統(tǒng)主要設(shè)計內(nèi)容按其功能分為手動彈奏

26、和自動播放音樂兩個部分。其實現(xiàn)過程采用匯編語言編程的方法。具體要求如下:</p><p> ?。?)能夠?qū)崿F(xiàn)電子琴的基本彈奏功能,并且可以彈奏簡單的樂曲。</p><p> ?。?)該電子琴使用16個按鍵,每個鍵分別代表一個音符。</p><p> ?。?)使用彈奏功能時能發(fā)出準確的聲音,使用自動播放音樂功能時可以播放已設(shè)定的音樂,不同功能的切換通過按鍵選擇來實現(xiàn)。

27、</p><p> ?。?)彈奏和自動播放音樂時,利用二極管組合的點亮個數(shù)表示音符所對應(yīng)的數(shù)字,達到二極管點亮個數(shù)伴隨音符閃爍的效果;彈奏時LED顯示器顯示按鍵的序號。</p><p><b>  2.2 設(shè)計思路</b></p><p>  從系統(tǒng)要求實現(xiàn)的手動彈奏樂曲和自動播放音樂兩大功能考慮。該電子琴硬件系統(tǒng)首先需要設(shè)置16個音符按鍵和揚

28、聲器,通過查表程序按其對應(yīng)的頻率發(fā)音實現(xiàn)。自動播放音樂是通過軟件編程的方法放置音樂代碼和相關(guān)播放程序來實現(xiàn)的。另外還需設(shè)置用來選擇手動彈奏樂曲功能和自動播放音樂功能的對應(yīng)功能鍵。</p><p>  從系統(tǒng)硬件結(jié)構(gòu)考慮,該電子琴系統(tǒng)需要設(shè)計AT89C51單片機電路、4×4矩陣鍵盤輸入電路、LED數(shù)碼管和二極管輸出顯示電路、功能鍵控制電路、揚聲器相關(guān)電路以及電源電路等,并且能將這些硬件電路正確組合使之滿足

29、電子琴設(shè)計的基本要求。</p><p>  從系統(tǒng)軟件設(shè)計的方法考慮,該電子琴根據(jù)其要求實現(xiàn)的功能和程序設(shè)計技巧,主要采用模塊化程序設(shè)計的方法。包括主程序模塊、鍵盤識別程序模塊、LED數(shù)碼管和二極管顯示模塊、功能選擇控制模塊和揚聲器音樂產(chǎn)生模塊等等。其中,功能選擇控制模塊使用外中斷控制和按鍵查詢兩種方式相結(jié)合的方法,實現(xiàn)其功能選擇切換功能。</p><p>  從音樂產(chǎn)生的原理考慮,該電子

30、琴的發(fā)音功能是通過對單片機進行控制,利用軟件編程的方法使定時器產(chǎn)生不同頻率的音頻脈沖,然后驅(qū)動揚聲器發(fā)音實現(xiàn)的。其中節(jié)拍是通過調(diào)用延時程序的方法進行控制的。因此把音樂的音符和相應(yīng)的節(jié)拍設(shè)置為定時常數(shù)和延時常數(shù)作為程序表存儲在單片機內(nèi)存中,由查表程序取出執(zhí)行可以實現(xiàn)音樂的自動播放。</p><p><b>  2.3 設(shè)計方案</b></p><p>  AT89C51

31、單片機具有一系列實用性的特點,因此本電子琴系統(tǒng)硬件設(shè)計采用AT89C51單片機作為整個電路的核心控制元件。由于AT89C51單片機自身功能非常完備,因此在設(shè)計中不再需要擴展外部存儲功能,依然能夠?qū)崿F(xiàn)電子琴的顯示、發(fā)音、狀態(tài)預(yù)設(shè)和動態(tài)切換等基本功能,因而整體結(jié)構(gòu)比較簡單。</p><p>  該電子琴硬件系統(tǒng)采用AT89C51單片機作為主控芯片,并設(shè)置鍵盤、揚聲器、顯示器等外圍器件。利用按鍵實現(xiàn)音符的輸入及不同功能

32、的選擇切換,二極管點亮個數(shù)表示被操作按鍵和程序存儲樂曲中音符所對應(yīng)的數(shù)字,LED顯示器顯示被按下鍵的序號,最后通過揚聲器發(fā)出相應(yīng)的音。</p><p>  因此本電子琴系統(tǒng)是以AT89C51單片機為主控芯片,使得LED顯示器和二極管、4×4矩陣鍵盤、功能鍵和揚聲器等各功能模塊協(xié)調(diào)工作。主電路由LED和二極管顯示電路、4×4矩陣鍵盤電路、功能鍵控制電路、揚聲器、復(fù)位電路、晶振電路以及電源電路幾大

33、模塊組成。該電子琴系統(tǒng)硬件電路總體設(shè)計框圖如圖2.1所示:</p><p>  圖2.1 系統(tǒng)框圖</p><p>  該電子琴系統(tǒng)中使用AT89C51單片機接口來實現(xiàn)信號的輸入和輸出功能。其中P3.7引腳作為音頻輸出口,向揚聲器發(fā)聲電路輸出信號;P1口作為鍵盤信號的輸入輸出口,實現(xiàn)鍵盤的輸入功能;使用P0口直接驅(qū)動二極管,P2口直接驅(qū)動LED顯示器,實現(xiàn)其顯示功能;P2.2和P2.3兩

34、個外部中斷輸入端分別連接自動播放選擇功能鍵和彈奏選擇功能鍵。</p><p>  在電子琴開始工作時,該系統(tǒng)默認電子琴處于自動播放內(nèi)置音樂狀態(tài),使用者可以通過功能鍵來選擇執(zhí)行手動彈奏功能或音樂自動播放功能。</p><p><b>  3. 硬件設(shè)計</b></p><p><b>  3.1 硬件簡介</b></

35、p><p>  3.1.1 AT89C51</p><p>  AT89C51單片機是一種低電壓、高性能的CMOS8位微處理器,帶有4K字節(jié)的閃爍可編程可擦除只讀存儲器,而且它還是一種高效微控制器,將多功能8位CPU和閃爍存儲器組合在單個芯片中,因此AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高但價格低廉的設(shè)計方案[2]。</p><p><b>

36、 ?。?)內(nèi)部結(jié)構(gòu)</b></p><p>  51系列單片機內(nèi)核其實質(zhì)是基于使用多個內(nèi)部寄存器結(jié)構(gòu)的累加器,用于數(shù)據(jù)儲存和外部設(shè)備的管理。作為微型機的一種,單片機也包括運算器、控制器、存儲器、輸入/輸出接口電路這五個基本組成部分。AT89C51的內(nèi)部結(jié)構(gòu)框圖如圖3.1所示。</p><p>  外部時鐘源

37、 外部事件計數(shù)器</p><p>  外中斷 并行口 串行通信</p><p>  圖3.1 AT89C51單片機的內(nèi)部結(jié)構(gòu)</p><p>  CPU即中央處理器,它是AT89C51單片機的核心部分。其結(jié)構(gòu)主要包括運算器和控制器兩大部分,是分別用來完成單片機的運算和控制功能的。其中運算器是指單片機用于進行算

38、術(shù)和邏輯運算的運算電路。運算電路又包括算術(shù)邏輯單元ALU、累加器ACC、程序狀態(tài)字PSW和B寄存器等,其中算術(shù)邏輯單元ALU是運算單元的核心;控制器是指單片機用來發(fā)出控制信號,指揮各部件協(xié)調(diào)工作的控制電路??刂齐娐钒ǔ绦蛴嫈?shù)器PC、指令寄存器、指令譯碼器、定時與控制電路等[1]。</p><p>  AT89C51單片機芯片內(nèi)部存儲器包括供用戶使用的256個字節(jié)的RAM(地址范圍是00H~FFH)和供用戶使用的

39、共4KB個字節(jié)的ROM(地址范圍是0000H~FFFH)。</p><p>  AT89C51單片機有2個16位的定時/計數(shù)器,用來實現(xiàn)單片機的定時或計數(shù)功能,并且根據(jù)該定時或計數(shù)結(jié)果對單片機進行反饋控制。</p><p>  AT89C51單片機共有4個用來實現(xiàn)數(shù)據(jù)并行輸入輸出的8位I/O口,分別是P0,P1,P2和P3。</p><p>  AT89C51單片機

40、有一個全雙工UART(通用異步接受發(fā)送器)的串行I/O口(是P3.0和P3.1口線的第二功能),用來實現(xiàn)串行通信功能。</p><p>  AT89C51單片機共有5個中斷源(其中2個外部中斷源)以滿足控制應(yīng)用的需求。每一個中斷源都有其對應(yīng)的的矢量地址、標志位、優(yōu)先級和允許控制。</p><p>  AT89C51單片機有一個內(nèi)振蕩器,它通過XTAL1引腳和XTAL2引腳與外接晶體振蕩器和

41、微調(diào)電容相連,用來為單片機產(chǎn)生時鐘脈沖序列。典型的晶振頻率為6~12MHZ。</p><p><b> ?。?)管腳介紹</b></p><p>  AT89C51單片機是40引腳的雙列直插式集成電路芯片,許多管腳具有兩個功能。AT89C51引腳排列如圖3.2所示。</p><p>  主電源引腳VCC和GND功能如下:</p>

42、<p>  VCC(40腳)— 接+5V電源。</p><p>  GND(20腳)— 接數(shù)字電路地。</p><p>  主要控制信號引腳功能如下: </p><p>  RST(9腳)— 復(fù)位輸入端。 </p>&

43、lt;p>  PSEN(29腳)— 外部程序存儲器讀選通信號輸出端。 </p><p>  EA(31腳)— 程序存儲器訪問控制信號。</p><p>  ALE(30腳)— 地址鎖存信號輸出端。 圖3.2 AT

44、89C51引腳排列圖</p><p>  輸入/輸出端口引腳P0、P1、P2、P3(共32條口線)功能如下:</p><p>  P0口(32腳~39腳)是一個復(fù)用端口。可以作為單片機數(shù)據(jù)并行輸入/輸出的通用8位準雙向I/O端口(作輸入口時先向鎖存器寫“1”),口線是P0.0~P0.7。另外,P0口還是復(fù)用的地址/數(shù)據(jù)總線AD0~AD7。</p><p>  P1口

45、(1腳~9腳)是一個通用的8位準雙向I/O端口,其口線是P1.0~P1.7。</p><p>  P2口(21腳~28腳)也是一個復(fù)用端口。從理論上講可以作為通用的8位準雙向I/O端口使用,其口線是P2.0~P2.7。但在實際應(yīng)用中總是作為高位地址總線使用。</p><p>  P3口(10腳~17腳)也是一個復(fù)用端口。使用時可以作為通用的8位準雙向I/O端口,功能和操作方法與P1口相同,

46、其口線是P3.0~P3.7。P3口的第二功能分別是作為串行口輸入/輸出、外部中斷請求輸入、定時/計數(shù)器和外部數(shù)據(jù)存儲器讀/寫選通信號的控制端口使用。</p><p>  3.1.2 LED顯示器</p><p>  單片機開發(fā)應(yīng)用系統(tǒng)中使用的發(fā)光二極管顯示器(LED) 因其價格低廉、配置靈活以及與單片機接口方便等優(yōu)點,使得在單片機的開發(fā)設(shè)計中使用非常廣泛。</p><p

47、>  (1)LED顯示器的結(jié)構(gòu)</p><p>  通常所說的LED顯示器就是指七段LED顯示器,它的結(jié)構(gòu)是由七個發(fā)光二極管組成的,其排列形狀如圖3.3所示。LED顯示器是通過七段發(fā)光二極管的不同點亮組合來顯示數(shù)字、字母或其他符號的。此外,LED顯示器中還有一個用于顯示小數(shù)點的圓點型發(fā)光二極管(dp)。</p><p>  圖3.3 七段LED顯示器</p><p

48、> ?。?)LED顯示器的連接方法</p><p>  LED顯示器的連接方法有共陽極連接和共陰極連接兩種:</p><p>  共陽極連接是指把發(fā)光二極管的陽極全部連在一起接+5V電源的接法。使用這種方法連接時,只要給某一段的陰極端輸入低電平就可以使其電路導(dǎo)通而點亮。</p><p>  共陰極接法與共陽極接法恰好相反,它是把發(fā)光二極管的陰極通過接地全部連在

49、一起的接法。使用這種方法連接時,只要給某一段的陽極端輸入高電平就可以使其電路導(dǎo)通而點亮。</p><p>  LED顯示器是通過字形代碼來顯示數(shù)字或符號的。七段發(fā)光二極管和小數(shù)點位加起來共計8段,因此其字形代碼正好是一個字節(jié)的長度。規(guī)定各代碼位的對應(yīng)關(guān)系如表3.1所示。用LED顯示器顯示十六進制數(shù)時所對應(yīng)的字形代碼如表3.2所示。</p><p>  表3.1 各代碼位的對應(yīng)關(guān)系</

50、p><p>  表3.2 十六進制數(shù)字形代碼表</p><p><b>  3.1.3 鍵盤</b></p><p>  鍵盤是一種非常便捷有效的輸入設(shè)備。按照其結(jié)構(gòu)形式可以分為使用軟件方法產(chǎn)生鍵碼的非編碼式鍵盤和使用硬件方法產(chǎn)生鍵碼的編碼式鍵盤兩種基本類型。由于非編碼鍵盤結(jié)構(gòu)比較簡單,成本相對低廉等特點,因此在單片機開發(fā)應(yīng)用中使用更加廣泛。非編碼

51、鍵盤接口技術(shù)的主要問題是確定被按下鍵的位置并根據(jù)其位置產(chǎn)生鍵碼,即所謂鍵的識別。</p><p>  非編碼鍵盤根據(jù)其與單片機的連接方法又可分為獨立聯(lián)接式和矩陣式兩種類型。</p><p>  (1)獨立聯(lián)接式鍵盤</p><p>  獨立聯(lián)接式鍵盤的每一個鍵都獨自接通單片機的一條輸入數(shù)據(jù)線。任意一個鍵被按下接通時,與之相連的輸入數(shù)據(jù)線即被清0變?yōu)榈碗娖?,而不按下?/p>

52、鍵時該線狀態(tài)為1即高電平。因此只需根據(jù)輸入線的電平狀態(tài)即可判斷是否有鍵被按下、按下的是哪一個鍵。</p><p>  這種鍵盤結(jié)構(gòu)的優(yōu)點是電路配置靈活,軟件結(jié)構(gòu)簡單。但每個按鍵都需占用一根輸入口線,因此當按鍵數(shù)較多時,輸入口線浪費比較大,電路結(jié)構(gòu)也顯得非常繁雜。所以獨立聯(lián)接式鍵盤適用于按鍵數(shù)較少或者操作速度要求較高的情況。</p><p><b>  (2)矩陣式鍵盤</b

53、></p><p>  矩陣式鍵盤中,每條水平線和垂直線在交叉處通過一個按鍵加以連接。利用這種矩陣結(jié)構(gòu)只需N+M條I/O口線(N和M分別是水平和垂直連線的數(shù)目)即可連接N×M個鍵。因此當應(yīng)用系統(tǒng)所要求的按鍵數(shù)量較多時,為了減少單片機I/O口的占用,通常采用矩陣式鍵盤。</p><p>  單片機系統(tǒng)在編程使用鍵盤時必須具有去抖動、防串鍵、按鍵識別和產(chǎn)生鍵碼這4個基本功能。&

54、lt;/p><p>  3.2 硬件電路設(shè)計</p><p>  根據(jù)該電子琴要求實現(xiàn)的功能,其系統(tǒng)硬件電路將主要由AT89C51單片機電路、鍵盤輸入輸出電路、揚聲器輸出電路、外中斷控制電路、LED顯示器和二極管輸出顯示電路等模塊組成。下文將分別對各模塊電路原理圖的設(shè)計進行分析說明。</p><p>  3.2.1 單片機系統(tǒng)電路</p><p>

55、;<b>  (1)時鐘電路</b></p><p>  時鐘電路用來驅(qū)動單片機進行工作,單片機的XTAL1、XTAL2引腳分別連接系統(tǒng)時鐘信號的輸入、輸出端??紤]到系統(tǒng)穩(wěn)定性、晶振精度和系統(tǒng)的抗干擾性,該系統(tǒng)晶振電路的設(shè)計使用兩個30pF的電容和一個12MHz的晶振,用來產(chǎn)生一個約等于12MHz的穩(wěn)定頻率,其輸入輸出端分別連在單片機XTAL1、XTAL2接口上。該時鐘電路原理圖如圖3.4所

56、示。</p><p><b> ?。?)復(fù)位電路</b></p><p>  復(fù)位電路的功能是設(shè)定單片機和該電子琴系統(tǒng)中其它功能部件工作的初始狀態(tài),即單片機的初始化操作。該電子琴系統(tǒng)的硬件復(fù)位電路設(shè)計采用上電復(fù)位,為了防止干擾串攏復(fù)位段,所以再接一個10nF的去耦電容[3]。復(fù)位電路原理圖如圖3.5所示。</p><p>  圖 3.4 時鐘電

57、路連接圖 圖 3.5 復(fù)位電路連接圖</p><p>  3.2.2 顯示電路</p><p>  該電子琴系統(tǒng)分別利用單片機的P2口和P0口直接驅(qū)動控制LED顯示器的數(shù)字顯示和二極管的點亮顯示,LED顯示器和二極管的連接方法均采用共陽極連接,即公共端接電源。該模塊電路的連接方法是,用AT89C51單片機P2端口的P2.0~P2.7口線分別連接七段數(shù)碼管

58、的a~h筆段;P0端口的P0.0~P0.7口線分別連接一個二極管。</p><p>  當使用電子琴的彈奏功能且有按鍵按下時,LED數(shù)碼管將對應(yīng)顯示該鍵的編號,二極管點亮個數(shù)對應(yīng)該鍵所代表音符的數(shù)字加1的值,從而可以通過手動和眼看來確定所按下的是哪個鍵,應(yīng)該發(fā)哪個音。LED顯示的數(shù)字以及二極管點亮個數(shù)與16個按鍵所代表的音符對應(yīng)關(guān)系如圖3.6所示。</p><p>  圖 3.6 按鍵與

59、音符、LED顯示值和二極管點亮個數(shù)對應(yīng)關(guān)系</p><p>  圖3.6中表示方法a/b/c,其中a表示該鍵所代表的音符,數(shù)字下面有著重號表示低</p><p>  音,數(shù)字上面有一點表示高音;b表示該鍵的鍵碼,即LED顯示的數(shù)字或字母;c表示該鍵所表示音符對應(yīng)的數(shù)字加1的值,即二極管對應(yīng)該鍵點亮的個數(shù)。</p><p>  當切換到自動播放音樂功能時,二極管點亮個

60、數(shù)伴隨程序讀取的音符不同而閃爍,使人產(chǎn)生音樂感和節(jié)奏感。該模塊硬件電路原理圖如圖3.7所示。其中74LS245芯片是總線驅(qū)動器,用于保證LED數(shù)碼管顯示時有足夠的亮度。</p><p>  圖 3.7 顯示電路連接圖 </p><p>  3.2.3 揚聲器模塊電路</p><p>  該電子琴系統(tǒng)的揚聲器模塊端口接AT89C51單片機的P3.5引腳。單片機可

61、以通過對P3.5引腳輸出信號頻率的控制對輸出音頻進行控制,使得在使用彈奏功能和自動播放功能時發(fā)出相應(yīng)的音。揚聲器模塊硬件連線如圖3.8所示。</p><p>  圖3.8 揚聲器電路連接圖圖3.9 外中斷控制電路連接</p><p>  3.3.4 外中斷控制電路</p><p>  該電子琴系統(tǒng)外部中斷控制電路是通過按鍵實現(xiàn)的,具有簡單直觀、易于控制的優(yōu)點。單片

62、機外中斷口P3.2引腳和P3.3引腳各自連接一個獨立按鍵,分別用來控制啟動自動播放功能和手動彈奏功能。該模塊硬件連線如圖3.9所示。</p><p>  3.3.5 矩陣鍵盤電路</p><p>  鍵盤用來輸入音符。該模塊硬件電路的連接方法是,用AT89C51單片機的P1口接4×4矩陣鍵盤,其中P1.0~P1.3口線作為信號輸入端,分別連接矩陣鍵盤的第4列到第1列;P1.4~P

63、1.7口線作為信號輸出端,分別連接矩陣鍵盤的第1行到第4行。矩陣鍵盤模塊硬件連線如圖3.10示。</p><p>  圖 3.10 矩陣鍵盤電路連接</p><p>  使用彈奏功能時,單片機首先給P1.4口輸出低電平“0”,再把P1口的電平信號輸入單片機,然后通過將該信號數(shù)據(jù)屏蔽高四位后進行判斷來確定第1行是否有鍵按下,按下的是哪一個鍵。如果P1口的值屏蔽高四位后低四位的值全為高電平,

64、則表示第1行沒有鍵被按下,否則的話第1行必定有鍵按下。P1.3引腳口變?yōu)榈碗娖綍r,表示第1行第1列的鍵K1被按下去了,P1.2、P1.1、P1.0則分別表示K2、K3、K4鍵被按下了。</p><p>  單片機通過給P1.5、P1.6、P1.7分別輸出低電平來判斷第2、3、4行是否有鍵按下,判斷方法類似于給P1.4引腳輸出低電平判斷第一行是否有鍵按下。P1.3、P1.2、P1.0分別表示該行第1、2、3、4列的

65、電平,電平為高時該列沒有被按下,電平為低時則表示該列鍵被按下。</p><p><b>  4. 軟件設(shè)計</b></p><p>  4.1 音樂產(chǎn)生的方法</p><p>  4.1.1 音樂產(chǎn)生的原理</p><p> ?。?)音符頻率的產(chǎn)生</p><p>  聲音是由介質(zhì)按某一頻率振動

66、產(chǎn)生的。音樂由不同的音符組成,而每個音符對應(yīng)著不同的頻率。因此可以利用單片機通過定時器/計數(shù)器T0產(chǎn)生不同頻率方波信號的方法產(chǎn)生音頻脈沖。</p><p>  要使AT89C51單片機產(chǎn)生音頻脈沖,算出某一音頻的半周期(1/頻率)時間后,使內(nèi)部定時器/計數(shù)器T0工作在計數(shù)模式MODE1下,并改變其計數(shù)值TH0和TL0計時此半周期時間。當該半周期時間計時到后,將輸出脈沖的I/O口反相,然后重復(fù)計時此半周期時間再對I

67、/O反相,如此就可在I/O口得到該頻率的脈沖[4]。</p><p>  例如,C調(diào)中音DO的頻率為523Hz,其周期T=1/523=1912μs。因此只要令計數(shù)器每計時956μs/1μs=956次時將I/O反相,就可得到中音DO(523Hz)的音頻脈沖。由此可以總結(jié)得出計數(shù)脈沖值與頻率的關(guān)系式如式(1)所示:</p><p>  N=fi÷2÷fr

68、 式(1)</p><p>  式中,N是計數(shù)值;fr是想要產(chǎn)生的頻率;fi是該系統(tǒng)單片機的機器頻率(當晶體振蕩器為12MHz時,機器頻率為1MHz)。</p><p>  其計數(shù)初值T的求法如下: T=65536-N=65536-fi÷2÷fr例如,當fi=1MHz時,C調(diào)低音DO(261Hz)、中音DO(523Hz)和高音DO

69、(1046Hz)的計數(shù)值分別為:</p><p>  T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr</p><p>  低音DO的T=65536-500000/262=63627</p><p>  中音DO的T=65536-500000/523=6458

70、0</p><p>  高音DO的T=65536-500000/1046=65059</p><p>  單片機采用12MHZ晶振時,C調(diào)時各音符的高音、中音、低音所對應(yīng)頻率與定時器/計數(shù)器T0的計數(shù)值對應(yīng)關(guān)系如表4.1所示。</p><p><b> ?。?)節(jié)拍的產(chǎn)生</b></p><p>  樂譜是由不同的音符和

71、節(jié)拍有機組合而成的。節(jié)拍即音符持續(xù)時間的長短,單片機對音樂節(jié)拍的控制是通過調(diào)用延時子程序的方法實現(xiàn)的,該延時子程序的延長的時間是根據(jù)節(jié)拍定的。如果設(shè)定該延時子程序的延時時間為1/4拍,即把1/4拍確定為基本時長的延時程序,則2/4拍只要調(diào)用兩次該延時子程序就可實現(xiàn),以此類推。因此對于某一確定的樂譜,只要知道該樂譜特定調(diào)的1/4拍時間就可以了。以一個節(jié)拍為單位(C調(diào)),1/4和1/8拍的延時值對照表如表4.2所示。</p>

72、<p>  表4.1 音符頻率表</p><p><b>  表4.2 曲調(diào)值表</b></p><p>  4.1.2 音樂實現(xiàn)過程</p><p>  (1)彈奏音樂的實現(xiàn)</p><p>  彈奏音樂的實現(xiàn)是由單片機執(zhí)行鍵盤識別程序,然后通過軟件查詢按鍵所對應(yīng)音律表,給定時器/計數(shù)器T0賦初值產(chǎn)生音頻來完

73、成的。首先識別被按下的鍵碼值,然后根據(jù)不同的鍵碼值查詢音律表,對定時器T0送入不同的初值,調(diào)節(jié)T0的溢出時間,這樣就可以通過給P3.5引腳輸出不同音調(diào)頻率的方波,在揚聲器上發(fā)出相應(yīng)頻率的聲音,形成音樂效果。T0中斷服務(wù)流程圖如圖4.1所示。</p><p>  該電子琴系統(tǒng)的16個鍵分別代表從低3M音到高4FA之間的16個音符。根據(jù)編程實現(xiàn)的方法,在程序中建立如下各音符對應(yīng)T值程序表:</p>&l

74、t;p>  TABLE:DW 64021,64103,64260,64400 ;低3,低4,低5,低6</p><p>  DW 64524,64580,64684,64777 ;低7,中1,中2,中3</p><p>  DW 64820,64898,64968,65030 ;中4,中5,中6,中7</p><p>  DW 65058,65110,6

75、5157,65178 ;高1,高2,高3,高4</p><p>  通過軟件實現(xiàn)查表的程序如下:</p><p>  MOV A,KEYBUF ;KEYBUF表示鍵值</p><p>  MOV B,#2 </p><p>  MUL AB ;表按字存放,調(diào)整表指針</p><p>

76、;  MOV TEMP,A</p><p>  MOV DPTR,#TABLE ;指向程序表</p><p>  MOVC A,@A+DPTR ;查表</p><p>  MOV STH0,A</p><p>  MOV TH0,A;將數(shù)據(jù)送高位TH0</p><p><b>  INC TEMP

77、</b></p><p>  MOV A,TEMP</p><p>  MOVC A,@A+DPTR</p><p>  MOV STL0,A圖4.1 T0中斷服務(wù)流程圖</p><p>  MOV TL0,A;將數(shù)據(jù)送低位TL0</p><p>  SETB TR0 ;啟動定時

78、器T0 </p><p> ?。?)自動播放音樂的實現(xiàn)</p><p>  自動播放音樂的功能,是通過將需要播放音樂的音符以及節(jié)拍按順序編成一個程序表,然后當程序進入自動播放模式時調(diào)用相應(yīng)程序并將其順序讀出實現(xiàn)的。</p><p>  樂曲中每一音符對應(yīng)著確定的頻率,在軟件實現(xiàn)過程中,將樂譜中的音符與其節(jié)拍用一個字節(jié)表示,這樣樂譜中順序出現(xiàn)的音符及

79、節(jié)拍就構(gòu)成一個程序表。其中每一字節(jié)的高四位表示音符碼,低四位表示節(jié)拍碼。在查表程序查表時,將高四位的音符碼取出,然后根據(jù)音符碼查表得到T0的初值,通過定時器/計數(shù)器產(chǎn)生音頻脈沖;將低四位的節(jié)拍碼取出,通過調(diào)用對應(yīng)的延時程序得到節(jié)拍。這樣每個字節(jié)按順序讀出,就可以產(chǎn)生音符并控制節(jié)奏,實現(xiàn)音樂的自動播放。</p><p>  本設(shè)計中程序?qū)懭氲念A(yù)制音樂是《蘭花草》和《綠島小夜曲》,下文將以《蘭花草》為例對軟件實現(xiàn)過程

80、進行闡述,該樂曲簡譜如下:</p><p>  由簡譜可以看出該樂曲為C調(diào),其中最低音為低3M,最高音為中6LA,因此可以對低3音到中6音之間的音符確定其音符碼,其對應(yīng)關(guān)系如表4.3所示;以1/4拍時間為基本延時時間,節(jié)拍與節(jié)拍碼的對照關(guān)系如表4.4所示。</p><p>  表4.3 簡譜對應(yīng)音符碼</p><p>  表4.4 節(jié)拍碼對照表</p>

81、<p>  根據(jù)樂曲軟件編程實現(xiàn)的方法,對應(yīng)簡譜所寫《蘭花草》的程序代碼如下,其中節(jié)拍碼00H為音樂結(jié)束標記:</p><p>  SONG:DB 42H,82H,82H,82H,86H,72H ;我從山中來</p><p>  DB 63H,71H,62H,52H,48H ;帶著蘭花草</p><p>  D

82、B 0B2H,0B2H,0B2H,0B2H,0B6H,0A2H ;種在小園中</p><p>  DB 83H,0A1H,0A2H,92H,88H ;希望花開早</p><p>  DB 82H,0B2H,0B2H,0A2H,86H,72H ;一日看三回</p><p>  DB 63H,71H,62H,52H,44H,12H,02H

83、 ;盼得花開時</p><p>  DB 12H,62H,62H,52H,46H,82H ;蘭花卻依然</p><p>  DB 73H,61H,52H,32H,48H ;苞也無一個</p><p><b>  DB 00H</b></p><p>  通過查表程序?qū)?/p>

84、現(xiàn)自動播放音樂功能的程序流程圖如圖4.2所示,程序如下:</p><p>  NEXT:MOV 30H,#0 ;指向音樂開始音符</p><p>  MOV 50H,#2</p><p>  MOV A,30H </p><p>  MOV DPTR,#SONG ;指向樂曲表頭

85、 </p><p>  MOVC A,@A+DPTR ;查表取音符</p><p><b>  MOV R2,A</b></p><p>  JZ NEXT ;判斷是否終止</p><p>  ANL A,#0FH</p><p>  MOV R5,A

86、 </p><p><b>  MOV A,R2</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH </p><p>  JNZ SING ;跳轉(zhuǎn)至播放音樂

87、 </p><p><b>  CLR TR0</b></p><p>  SING:DEC A ;節(jié)拍碼減1</p><p><b>  ADD A,50H</b></p><p>  MOV TEMP,A</p><p>  MOV A,TEMP

88、 </p><p><b>  RL A</b></p><p>  MOV DPTR,#TABLE3 ;查詢音符對應(yīng)頻率 </p><p>  MOVC A,@A+DPTR 圖4.2 自動播放音樂程序流程圖 </p><p>  MOV TH0,A

89、 ;將數(shù)據(jù)送高位TH0 </p><p>  MOV A,TEMP</p><p>  RL A </p><p><b>  INC A</b></p><p>  MOVC A,@A+DPTR

90、 </p><p>  MOV TL0,A ;將數(shù)據(jù)送低位TH0</p><p>  SETB TR0;啟動定時器T0</p><p>  SING1:LCALl DELAY;調(diào)用延時</p><p>  INC 30H;指向下一音符</p><p>  LJMP NEXT </p>

91、<p>  4.2 矩陣鍵盤識別處理程序 </p><p>  鍵盤處理程序的任務(wù)是:確定有無鍵按下、哪一個鍵按下、該鍵的功能是什么、另外還要消除按鍵在閉合或斷開時的抖動。該系統(tǒng)鍵盤識別處理流程圖如圖4.3所示,程序如下:</p><p>  MOV P1,#0FFH ;置P1口為輸入模式</p><p>  CL

92、R P1.4 ;P1.4清零,按鍵第一行掃描</p><p>  MOV A,P1 </p><p>  ANL A,#0FH</p><p>  XRL A,#0FH ;輸入按鍵狀態(tài)</p><p>  JZ NOKEY1 ;無鍵按下時轉(zhuǎn)向下一行</p><p>

93、  LCALL DELY10MS ;延時10ms消抖</p><p><b>  MOV A,P1</b></p><p>  ANL A,#0FH</p><p>  XRL A,#0FH</p><p><b>  JZ NOKEY1</b></p><p><b

94、>  MOV A,P1</b></p><p>  ANL A,#0FH</p><p>  CJNE A,#07H,NK1 ;K1鍵按下</p><p>  MOV KEYBUF,#0 ;確定鍵碼值</p><p>  LJMP DK1 ;轉(zhuǎn)向執(zhí)行按鍵功能</p><p>  DK1A:

95、MOV A,P1 ;等待按鍵釋放子程序 </p><p>  ANL A,#0FH 圖 4.3 鍵盤識別流程圖</p><p>  XRL A,#0FH</p><p>  JNZ DK1A </p>

96、;<p><b>  4.3 顯示程序</b></p><p>  該電子琴設(shè)計中用LED顯示器顯示0~F,分別表示16個按鍵的序號,用二極管組合的點亮個數(shù)來表示不同的音符,使得在彈奏的過程中達到動態(tài)閃爍的效果。該顯示程序是按照檢測到的按鍵值,根據(jù)不同的鍵碼通過查表實現(xiàn)的方法實現(xiàn)的。對應(yīng)16個按鍵,根據(jù)各自顯示值的不同,建立如下顯示程序表,其中高位是二極管點亮個數(shù)對應(yīng)值,低位是

97、LED數(shù)碼管顯示值。:</p><p>  TABLE1:DW 0FC0H,07F9H,03A4H,01B0H</p><p>  DW 0099H,3F92H,1F82H,0FF8H</p><p>  DW 0780H,0390H,0188H,0083H</p><p>  DW 3FC6H,1FA1H,0F86H,078EH</p

98、><p>  通過查表發(fā)實現(xiàn)顯示功能的程序如下:</p><p>  MOV A,KEYBUF ;傳送鍵碼值</p><p><b>  MOV B,#2</b></p><p><b>  MUL AB</b></p><p>  MOV TEMP,A</p>

99、<p>  MOV DPTR,#TABLE1 ;指向表頭</p><p>  MOVC A,@A+DPTR ;查表</p><p>  MOV P0,A ;將二極管顯示值傳送給P0口</p><p><b>  INC TEMP</b></p><p>  MOV A,TEMP&

100、lt;/p><p>  MOV DPTR,#TABLE1</p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,A ;將LED顯示值傳送給P2口</p><p>  4.4 外中斷控制程序</p><p>  該系統(tǒng)外中斷控制電路的軟件實現(xiàn)過程是,通過外中斷口連接的不同

101、功能鍵按下時給單片機輸入低電平而發(fā)出中斷請求信號,然后單片機響應(yīng)中斷并執(zhí)行中斷服務(wù)子程序,控制該系統(tǒng)執(zhí)行相應(yīng)的功能程序,最后單片機恢復(fù)現(xiàn)場并返回,如此往復(fù)執(zhí)行程序。</p><p>  外中斷0控制啟動自動播放功能的程序如下:</p><p>  ZIDONG BIT P3.2</p><p>  ORG 0003H;中斷入口地址</p><p

102、>  LJMP ZD0;中斷服務(wù)程序入口</p><p>  MOV TMOD,#01H </p><p>  MOV IE,#87H;開中斷</p><p>  SETB IT0;設(shè)中斷為邊沿觸發(fā)</p><p>  SETB PX0;外中斷0優(yōu)先級控制</p><p>  ZD0:C

103、LR EX0 </p><p>  PUSH ACC ;保護現(xiàn)場</p><p><b>  PUSH PSW </b></p><p>  LCALL DELAY0;調(diào)用延時子程序</p><p>  JB ZIDONG,TO1;判斷自動播放功能鍵是否被按下</p><

104、p>  K1:MOV SNB,#0;功能標志位</p><p>  TO1:POP PSW;恢復(fù)現(xiàn)場</p><p><b>  POP ACC</b></p><p>  SETB EX0;允許外中斷0中斷</p><p><b>  RETI;返回</b></p>&

105、lt;p>  當按下彈奏功能鍵向外中斷1時發(fā)出中斷請求時,單片機執(zhí)行其服務(wù)子程序,并且設(shè)置功能標志SNB的值為1,然后系統(tǒng)執(zhí)行相應(yīng)的彈奏功能程序,達到功能切換的目的。其外中斷1控制彈奏功能的子程序與外中斷0服務(wù)子程序相似。</p><p><b>  5. 系統(tǒng)仿真</b></p><p>  5.1 Keil C51</p><p>

106、  5.1.1 Keil C51軟件簡介</p><p>  由美國Keil Software公司出品的Keil C51軟件,是當前普遍使用的兼容51系列單片機的軟件開發(fā)系統(tǒng)。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理等在內(nèi)的完整開發(fā)方案,以及提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具[5]。Keil C51的這些特點在開發(fā)大型軟件時體現(xiàn)出巨大的優(yōu)勢。</p><p>  5.1

107、.2 程序編譯</p><p>  安裝Keil μVision2 IDE后,采用標準AT89C51芯片建立名為MyProject的項目。具體操作過程如下所示:</p><p>  選擇新建項目選項,在Create New Project對話框中選擇要保存項目文件的路徑,然后單擊保存項目名為MyProject的項目文件。</p><p>  進行上述操作后在選擇單片

108、機型號的對話框中,先選擇ATMEL公司,然后選中AT89C51芯片,最后單擊“確定”按鈕。并且在彈出將8051初始化代碼復(fù)制到項目中的詢問窗口中單擊“是”按鈕完成該步驟。</p><p>  圖 5.1 程序編譯圖</p><p>  選擇新建文件選項在新建的項目窗口中建立一個源程序文件,然后在彈出的程序文本框中輸入設(shè)計的系統(tǒng)源程序,最后保存文件,確定其文件名為My,擴展名為.asm。

109、 </p><p>  單擊項目窗口中的Source Group 1,在彈出的菜單中選擇Add Files to Group ’Source Group1’選項將前面建立的My.asm文件加入到項目中,其文件類型選擇Asm Source file 。 </p><p>  接下來對剛才新建的目標進行一些設(shè)置。在MyProject中選擇Options for Target‘T

110、arget 1‘選項,然后在彈出的對話框進行如下設(shè)置: </p><p>  在Target選項卡中設(shè)置單片機的工作頻率Xtal(MHZ)為11.0592MHz。</p><p>  在Output選項卡中選中生成HEX文件的Create HEX File選項。</p><p>  在Project中選擇Rebuild all target files選項編譯該電子

111、琴系統(tǒng)源程序,編譯連接成功后出現(xiàn)如圖5.1所示界面。 </p><p>  5.2 Proteus</p><p>  5.2.1 Proteus軟件簡介</p><p>  Proteus軟件是一種EDA工具軟件,由英國Lab Center Electronics公司出版。它不僅具有其它EDA工具軟件的仿真功能,而

112、且還具有仿真單片機以及外圍器件的功能,因此該軟件是目前普遍使用的單片機及外圍器件的仿真工具。</p><p>  Proteus軟件含有超過27000個仿真器件、多樣的激勵源、豐富的虛擬儀器和實用的PCB設(shè)計平臺;支持主流的CPU類型、通用外設(shè)模型以及多種輸出格式;具有完善的電路仿真功能、高級圖形仿真功能(ASF)、單片機協(xié)同仿真功能、先進的自動布局/布線功能和完整的PCB設(shè)計功能。</p><

113、;p>  5.2.2 電路編輯</p><p>  安裝Proteus 7.8 Professional后,在原理圖編輯窗口繪制該系統(tǒng)電路原理圖。繪制步驟如下:</p><p>  單擊對象選擇按鈕,在彈出的元器件選擇窗口中分別輸入AT89C51(單片機)、BUTTON(按鍵)、LED(二極管)、7SEG-MPX1-CA(LED顯示器)、74LS245(總線驅(qū)動器)、CAP(電容)、

114、CRYSTAL(晶振)、RES(電阻)和SPEAKER(揚聲器),然后在搜索結(jié)果欄中找到需要的元器件,并將其添加到對象選擇窗口。</p><p>  分別將AT89C51、BUTTON、LED、7SEG-MPX1-CA、74LS245、CAP、CRYSTAL、RES和SPEAKER放置到圖形編輯窗口。</p><p>  單擊繪圖工具欄中的“終端模式”按鈕,然后在對象選擇器窗口分別選中對象

115、POWER(電源)和GROUND(接地),并將其放置到圖形編輯窗口給系統(tǒng)硬件電</p><p>  路添加電源和接地引腳。</p><p>  在圖形編輯窗口,完成各對象之間的電路連線。</p><p>  圖5.2 系統(tǒng)電路原理圖</p><p>  選擇繪圖工具欄中的文字標簽按鈕,在圖形編輯窗口,完成文字標注的添加。完成如圖5.2所示的

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論