版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 前言2</b></p><p><b> 1 方案論證2</b></p><p> 1.1 控制模塊選擇方案2</p><p> 1.2 按鍵選擇方案3</p><p> 2 系統(tǒng)硬件設計3</p><p> 2.1
2、 系統(tǒng)組成及總體框圖3</p><p> 2.2 元件介紹4</p><p> 2.2.1 AT89S524</p><p> 2.2.2 LM3866</p><p> 2.2.3 LED數(shù)碼管8</p><p> 2.3 顯示電路9</p><p> 2.4
3、 各功能模塊原理圖9</p><p> 2.4.1 AT89S52模塊電路原理圖9</p><p> 2.4.2 鍵盤掃描模塊電路原理圖10</p><p> 2.4.3 數(shù)碼管顯示模塊電路原理圖11</p><p> 2.4.4 音頻處理模塊電路原理圖12</p><p> 2.4.5
4、 電源模塊電路原理圖12</p><p> 3 系統(tǒng)軟件設計13</p><p> 3.1 音樂相關知識13</p><p> 3.2 如何用單片機實現(xiàn)音樂的節(jié)拍13</p><p> 3.3 如何用單片機產生音頻脈沖14</p><p> 3.4 系統(tǒng)總體功能流程圖15</p&g
5、t;<p> 4 電路仿真18</p><p> 4.1 ISIS軟件介紹18</p><p> 4.2 仿真圖介紹18</p><p> 4.3仿真圖19</p><p> 5 PCB印制板制作20</p><p> 5.1 印制板制作的要求20</p>
6、<p> 5.2 印制電路板圖20</p><p><b> 6 系統(tǒng)調試22</b></p><p> 6.1 軟件仿真調試22</p><p> 6.2 軟件調試22</p><p><b> 7 調試結論22</b></p><p>
7、; 附錄1:元器件清單23</p><p> 附錄2:主要電路原理圖24</p><p> 附錄3:主要程序25</p><p><b> 參考文獻:28</b></p><p> 基于單片機的電子琴設計</p><p><b> 前言</b></p
8、><p> 單片微型計算機是大規(guī)模集成電路技術發(fā)展的產物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應用廣泛的特點。它的應用必定導致傳統(tǒng)的控制技術從根本上發(fā)生變革。因此,單片機的開發(fā)應用已成為高科技和工程領域的一項重大課題。</p><p> 電子琴是現(xiàn)代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活
9、的編程實現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內容是用STC89C52單片機為核心控制元件,設計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有16個按鍵和揚聲器。</p><p> 本文主要對使用單片機設計簡易電子琴進行了分析,并介紹了基于單片機電子琴統(tǒng)硬件組成。利用單片機產生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。并
10、且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調試來詳細闡述。</p><p> 一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機來產生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。</p><p>&
11、lt;b> 1 方案論證</b></p><p> 1.1 控制模塊選擇方案</p><p> 方案一:用可控硅制作電子琴。將220V交流電經(jīng)變壓器降壓,再經(jīng)過整流、濾波,獲得+13.5V直流電壓。將單向可控硅SCR和電阻、電容組成馳張振蕩器電路。但該設計方案制作成本高且復雜。</p><p> 方案二: 采用AT89C51單片機進行控
12、制,由于AT89C51不具備ISP功能,</p><p> 因此Atmel公司已經(jīng)停產在市面上已經(jīng)不常見,況且其ROM只有4K在系統(tǒng)將來升級方面沒有潛力。</p><p> 方案三:采用AT89S52單片機進行控制,由于其性價比高,完全滿足了本作品智能化的要求,它的內部程序存儲空間達到8K,使軟件設計有足夠的內部使用空間并且方便日后系統(tǒng)升級,使用方便,抗干擾性能提高。</p>
13、;<p> 鑒于上述對比與分析,本設計采用方案三。</p><p> 1.2 按鍵選擇方案</p><p> 方案一 利用I/O口直接連接的獨立式鍵盤,每鍵都有相應的I/O口對應,編程容易控制,實現(xiàn)方便;但拒于IO口有限,能接的按鍵不能太多,而本系統(tǒng)需用戶根據(jù)需要調整的參數(shù)較多,用獨立按鍵會使操作變得復雜。</p><p> 方案二
14、利用PA口接成4*4鍵盤。優(yōu)點:利用8個IO口得到16個按鍵,可使操作介界變得簡單,操作也方便;缺點:軟件處理比獨立按鍵復雜。</p><p> 通過比較,方案二為最佳方案。</p><p><b> 2 系統(tǒng)硬件設計</b></p><p> 2.1 系統(tǒng)組成及總體框圖</p><p> 硬件設計的任務是根
15、據(jù)總體設計要求,在選擇的機型的基礎上,具體確定系統(tǒng)中所要使用的元器件,設計出系統(tǒng)的原理框圖、電路原理圖。</p><p> 該設計要實現(xiàn)一種由單片機控制的電子琴,單片機工作于12MHZ時鐘頻率,使用其定時/計數(shù)器T0,工作模式為1,改變計數(shù)值TH0和TL0可以產生不同頻率的脈沖信號。該設計具有11個音節(jié)的鍵盤,用戶可以根據(jù)樂譜在鍵盤上進行演奏,音樂發(fā)生器會根據(jù)用戶的彈奏,通過揚聲器將音樂播放出來。由于本例實現(xiàn)的
16、音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。用單片機產生的音頻脈沖直接驅動揚聲器并不能產生所要實現(xiàn)的音樂,因為它沒有足夠的驅動能力,這就需要音頻功率放大電路。</p><p> 本例使用國家半導體公司的低壓音頻功率放大器LM386來實現(xiàn)音頻功放電路。</p><p> 圖2.1-1 系統(tǒng)結構圖</p><p><b>
17、 2.2 元件介紹</b></p><p> 2.2.1 AT89S52</p><p> 功能特性:AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位
18、CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/
19、計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止[1]。</p><p> 主要性能:與MCS-51單片機產品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz~33Hz 、三級加密程序存儲器 、32個可編程I/O口線 、三個16位定時器/計數(shù)器八個中斷源、全雙工UART串行
20、通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符[2]。</p><p><b> 管腳說明:</b></p><p> VCC:供電電壓。 </p><p><b> GND:接地。</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,
21、每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被
22、外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p> P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進
23、行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流
24、(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p> 表2.2.1-1 管腳備選功能</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。<
25、/p><p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOV
26、C指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不
27、管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出[3]。</p><p> 2.2.2 LM386
28、</p><p> LM386是美國國家半導體公司生產的音頻功率放大器,主要應用于低電壓消費類產品。為使外圍元件最少,電壓增益內置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調為任意值,直至 200。輸入端以地為參考同時輸出端被自動偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場合。LM386是一種音頻集成功放,具有自身功耗低、電壓增益可
29、調整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點,廣泛應用于錄音機和收音機之中[4]。</p><p> LM386的封裝形式有塑封8引線雙列直插式和貼片式。</p><p> 圖2.2.2-1 LM386的封裝形式</p><p> 特性(Features):</p><p> (1)靜態(tài)功耗低,約為4mA,可用于電池供電;
30、</p><p> (2)工作電壓范圍寬,4-12V or 5-18V;</p><p> (3)外圍元件少; </p><p> (4)電壓增益可調,20-200; </p><p><b> (5)低失真度。</b></p><p><b> 其典型電路如下圖:</b
31、></p><p> 圖2.2.2-2 放大器增益=20(最少器件)</p><p> 圖2.2.2-3 放大器增益=50</p><p> 圖2.2.2-4 低頻提升放大器</p><p> 2.2.3 LED數(shù)碼管</p><p> 本次畢業(yè)設計的顯示電路采用LED數(shù)碼管顯示,LED(Lig
32、ht-Emitting Diode)是一種外加電壓從而流過電流并發(fā)出可見光的器件。LED是屬于電流控制器件,使用時必須加限流電阻。LED有單個LED和八段LED之分,也有共陰和共陽兩種。</p><p> 常用的七段顯示器的結構如圖下圖所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器(如圖b所示),陰極連在一起的稱為共陰極顯示器(如圖c所示)。1位顯示器由八個發(fā)光二極管組成,其中七個發(fā)光二極管a~g控制七個筆畫
33、(段)的亮或暗,另一個控制一個小數(shù)點的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡單,使用方便[5]。</p><p> 此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進行正確的字型段碼編碼。才能顯示出正確的數(shù)字來。</p><p> ?。╝)外形 (b)共陽極 (
34、C)共陰極</p><p> 圖2.2.3-1 數(shù)碼管引腳</p><p><b> 2.3 顯示電路</b></p><p> 本次畢業(yè)設計的顯示電路采用LED數(shù)碼管顯示,由于 LED是屬于電流控制器件,使用時必須加限流電阻。通過單片機查表得出數(shù)碼管顯示編碼,傳送給數(shù)碼管顯示,以此來實現(xiàn)按鍵與顯示程序的一致性。</p>
35、<p> 2.4 各功能模塊原理圖</p><p> 2.4.1 AT89S52模塊電路原理圖</p><p> 單片機主程序模塊通過對鍵盤掃描程序信號的讀取,在通過對應的表,取出數(shù)碼管顯示編碼和定時器初始值以產生不同的聲音信號。在這一過程中,對數(shù)碼管編碼是直接賦值,對聲音信號則是通過中斷程序進行控制。</p><p> 圖2.4.1-1
36、AT89S52模塊電路原理圖</p><p> 2.4.2 鍵盤掃描模塊電路原理圖</p><p> 對鍵盤掃描電路的掃描方式有行掃描法和線反轉法,在此次程序編寫中,采用行掃描法,通過在p20~p23上循環(huán)送出0掃描信號,p24~p27輸入按鍵上的高低電平信息給單片機,經(jīng)處理程序,判斷出是哪個開關按下,并送主程序以實現(xiàn)不同功能。</p><p> 圖2.4.
37、2-1 鍵盤掃描模塊電路原理圖</p><p> 2.4.3 數(shù)碼管顯示模塊電路原理圖</p><p> 數(shù)碼管顯示模塊核心是共陽級數(shù)碼管,通過來自單片機I/O口的電平高低來點亮和熄滅數(shù)碼管上的發(fā)光二極管,通過單片機送來的數(shù)碼管顯示編碼可以在數(shù)碼管上顯示數(shù)字和字符,使應用人員可以很容易的理解按鍵按下所對應的音符。</p><p> 圖2.4.3-1 數(shù)碼管顯
38、示模塊電路原理圖</p><p> 2.4.4 音頻處理模塊電路原理圖</p><p> 由于單片機驅動能力不夠,在處理音符信號時,需加功率放大裝置,因LM386芯片具有低功耗、高增益的特點,這合適單片機低功耗輸出,所以加裝LM386音頻信號放大器對信號進行放大。</p><p> 圖2.4.4-1 音頻處理模塊電路原理圖</p><p&
39、gt; 2.4.5 電源模塊電路原理圖</p><p> 由于本次設計的芯片的工作電壓都為5V,為了排除因為電壓不穩(wěn)定或者不準確影響電路的工作和軟件的調試,本次設計單獨用LM7805設計了一個輸出5V的電壓的電路,如圖3-11所示,其中J0為一變壓器插排接口,輸出電壓在7.5V,為交流電壓,經(jīng)過整流橋進行整流,電容濾波,再經(jīng)過LM7805穩(wěn)壓后,得到本次設計所需的5V直流電源。</p><
40、;p> 圖2.4.5-1 電源模塊電路原理圖</p><p><b> 3 系統(tǒng)軟件設計</b></p><p> 本軟件設計關鍵是要實現(xiàn)一種由單片機控制的簡單音樂發(fā)生器,它由16個音節(jié)組成的的鍵盤,用戶可以根據(jù)樂譜在鍵盤上進行演奏,音樂發(fā)生器會根據(jù)用戶的彈奏,通過揚聲器將音樂播放出來。</p><p> 3.1 音樂相關知識
41、</p><p> 樂音聽起來有的高,有的低,這就叫音高,音高是由發(fā)音物體振動頻率的高低決定的,頻率高聲音就高,頻率低,聲音就低,不同音調的樂音是用C、D、E、F、G、A、B表示的,這7個字母就是樂音的音名,它們一般依次唱成DO、RE、MI、FA、SO、LA、SI,這是唱曲時樂音的發(fā)音,所以叫唱名。</p><p> 音持續(xù)時間的長短即時值,一般用拍數(shù)表示,休止符表示暫停發(fā)音。<
42、/p><p> 一首音樂是由許多不同的音符組成的,而每個音符對應著不同的頻率,這樣就可以利用不同頻率的組合,加以與拍數(shù)對應的延時,構成音樂[6]。</p><p> 3.2 如何用單片機實現(xiàn)音樂的節(jié)拍</p><p> 除了音符以外,節(jié)拍也是音樂的關鍵組成部分。</p><p> 節(jié)拍實際上就是音持續(xù)時間的長短,在單片機系統(tǒng)中可以用延時
43、來實現(xiàn),如果1/4拍的延時是0.4秒,則1拍的延時是1.6秒,只要知道1/4拍的延時時間,其余的節(jié)拍延時時間就是它的陪數(shù)。如果單片機要自己播放音樂,那么必須在程序設計中考慮到節(jié)拍的設置,由于本例實現(xiàn)的音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。對于不同的曲調我們也可以用單片機的另外一個定時/計數(shù)器來完成[7]。音樂的音拍,一個節(jié)拍為單位(C調)具體如下表:</p><p> 表2
44、.3.2-1 音樂節(jié)拍表</p><p> 3.3 如何用單片機產生音頻脈沖</p><p> 了解音樂的一些基本知識后可知,產生不同頻率的音頻脈沖即能產生音樂,對于單片機而言,產生不同頻率有脈沖非常方便,可以利用它的定時/計數(shù)器來產生這樣的方波頻率信號,因此,需要弄清楚音樂中的音符和對應的頻率,以及單片機定時計數(shù)的關系。</p><p> 在本實驗中,
45、單片機工作于12MHZ時鐘頻率,使用其定時/計數(shù)器T0,工作模式為1,改變計數(shù)值TH0和TL0可以產生不同頻率的脈沖信號,在此情況下,C調的各音符頻率與計數(shù)值T的對照如下表:</p><p> 表3.3.3-1 音符頻率與計數(shù)值T的對照表</p><p> T的值決定了TH0和TL0的值,其關系為:TH0=T/256,TL0=T%256[8]</p><p>
46、; 3.4 系統(tǒng)總體功能流程圖</p><p> 圖3.4-1 主程序框圖</p><p> 圖3.4-2 按鍵子程序流程圖</p><p><b> 4 電路仿真</b></p><p> 4.1 ISIS軟件介紹</p><p> Proteus ISIS是英國Labcent
47、er公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路。</p><p><b> 該軟件的特點是:</b></p><p> (1)實現(xiàn)了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調試器、SPI調試器、鍵盤
48、和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。</p><p> (2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。</p><p> (3)提供軟件調試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調試功能,同時可以
49、觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調試環(huán)境,如Keil C51 uVision2等軟件。</p><p> (4)具有強大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真軟件,功能極其強大。本章介紹Proteus ISIS軟件的工作環(huán)境和一些基本操作[9]。</p><p> 4.2 仿真圖
50、介紹</p><p> 單片機:P0 口對應數(shù)碼管編碼輸出端;</p><p> P10 口做音樂信號輸出端;</p><p> P2 口做鍵盤掃描部分輸入輸出端。</p><p> 鍵盤掃描:將16位開關通過矩陣連接,接出來四端接輸入口(P0.4~P0.7)用于鍵盤情況的輸入,另外四端接輸出口(P0.0~P0.3)用于給鍵盤掃描信號
51、。</p><p> 數(shù)碼管顯示:在使用時一要接上拉電阻(這是有單片機P0口的物理特性決定的),二是要加限流電阻以使流進單片機的小于單片機所能承受的電流。</p><p> 音樂處理:LM386將單片機P1.0口送過來的信號進行20倍的功率放大并送揚聲器進行音樂的播出。</p><p><b> 仿真圖</b></p>&l
52、t;p> 圖4.3-1 仿真圖</p><p> 5 PCB印制板制作</p><p> 5.1 印制板制作的要求</p><p> ?。?)電源線、地線應各設置一條總線;</p><p> ?。?)線寬盡可能的寬;</p><p> ?。?)應減少軟線跳線的使用;</p><p&g
53、t; (4)元器件排版要均勻,按模塊排版,防止各模塊信號干擾;</p><p> (5)銅箔線不可以產生銳角。</p><p> 5.2 印制電路板圖</p><p> 圖5.2-1 主控電路PCB板圖</p><p> 圖5.2-2輸入按鍵PCB板圖</p><p><b> 6 系統(tǒng)調試&l
54、t;/b></p><p> 電路調試是整個系統(tǒng)功能否實現(xiàn)的關鍵步驟,我們將整個調試過程分為三大部分:硬件調試、軟件調試和綜合調試。</p><p> 6.1 軟件仿真調試</p><p> 軟件仿真調試主要是針對單片機部分進行調試。</p><p> 在軟件運行前,先確保電路中連線正確,這一工作是整個調試工作的第一步,也是非
55、常重要的一個步驟。在這部分調試中主要通過目測,用來完成檢測電路中是否存在斷路或者短路情況等。</p><p> 在確保軟件仿真電路正常,無異常情況(斷路或短路)方可進行軟件運行,在本次設計中,軟件運行主要是測試單片機鍵盤控制部分、數(shù)碼管點亮部分、和音頻功放電路調試。</p><p> A、數(shù)碼管LED電路調試:軟件運行,隨機按下按鈕可以看到數(shù)碼管顯示數(shù)字;</p><
56、;p> B、單片機鍵盤控制部分調試:軟件運行,隨機按動鍵盤可以發(fā)現(xiàn)各個按鍵對應的音正確。</p><p><b> 6.2 軟件調試</b></p><p> 調試主要方法和技巧:</p><p> 通常一個調試程序應該具備至少四種性能:跟蹤、斷點、查看變量、更改數(shù)值。整個程序是一個主程序調用各個子程序實現(xiàn)功能的過程,要使主程序
57、和整個程序都能平穩(wěn)運行,各個模塊的子程序的正確與平穩(wěn)運行必不可少,所以在軟件調試的最初階段就是把各個子程序模塊進行分別調試[10]。</p><p><b> 7 調試結論</b></p><p> 通過各方面努力,本次畢業(yè)設計任務完成,系統(tǒng)部分功能已實現(xiàn)??梢噪S意演奏一首喜歡的曲子,并可以顯示在數(shù)碼管上?;具_到預定的效果。畢業(yè)設計是??茖W習階段一次非常難得的理
58、論與實踐相結合的機會,通過這次系統(tǒng)的項目設計提高了我運用所學的專業(yè)基礎知識來解決面臨實際問題的能力,同時也提高了我查閱各種文獻資料、設計手冊、設計規(guī)范以及軟件編程排版的水平。</p><p><b> 附錄1:元器件清單</b></p><p> 附錄2:主要電路原理圖</p><p><b> 附錄3:主要程序</b&g
59、t;</p><p> ORG 0000H ;初始位置00H</p><p> JMP STARET ;跳到主程序</p><p> ORG 000BH ;定時器0中斷起始單元</p><p> JMP TIME0 ;跳到中斷程序</p><p> STARET: MOV TMOD,#000
60、00001B;設定工作方式為1</p><p> MOV IE, #10000010B ;開中斷允許</p><p><b> SETB TR0</b></p><p> L1: CALL KEY ;調用鍵盤掃描程序</p><p> CLR EA ;關中斷總允許</p>
61、<p> JB F0,L1 ;查詢鍵盤按下標志</p><p> MOV A,22H ;將鍵盤碼送單元A</p><p> MOV DPTR,#TABLE1</p><p> MOVC A,@A+DPTR ;將查詢的數(shù)碼管顯示碼送A</p><p> MOV P0,A ;將數(shù)碼管顯示碼
62、送數(shù)碼管</p><p> MOV A,22H ;將鍵盤碼送單元A</p><p> RL A ;數(shù)據(jù)倍乘</p><p> MOV DPTR,#TABLE</p><p> MOVC A,@A+DPTR;將聲音編碼送A</p><p> MOV TH0,A;將聲音編碼高位給T
63、H0</p><p> MOV 21H,A;送聲音編碼給21H單元儲存</p><p><b> MOV A,22H</b></p><p><b> RL A</b></p><p><b> INC A</b></p><p> MOVC
64、A,@A+DPTR;取聲音編碼地位給A</p><p> MOV TL0,A;將聲音編碼送TL0</p><p> MOV 20H,A;將聲音編碼低位送20H儲存</p><p> L2: CALL KEY;調用江畔掃描程序</p><p> SETB EA;開斷總允許</p><p> JB F
65、0,L1;查詢鍵盤按下標志</p><p> JMP L2 ;沒有轉L2循環(huán)</p><p> /*******鍵盤掃描程序*********/</p><p> KEY: SETB F0 ;鍵盤按下標志至1</p><p> MOV R3,#0F7H;R3送掃描碼 </p><p> MOV
66、R1,#00H;R1初始為0</p><p> L3: MOV A,R3;將掃描碼送A</p><p> MOV P2,A將掃描碼送P2掃描</p><p> MOV A,P2;讀取鍵盤狀態(tài)</p><p> SETB C;進位至1</p><p> MOV R5,#04H;將4給R5單元,用于行
67、掃描</p><p> L4: RLC A</p><p> JNC KEYIN;有鍵按下跳到KEYIN</p><p> INC R1;無鍵按下R1加1</p><p> DJNZ R5,L4;判斷一行有沒有判斷完畢</p><p> MOV A,R3;掃描完畢后,再次送掃描碼給A</p&
68、gt;<p> SETB C;進位置1</p><p> RRC A;對A進行右移</p><p> MOV R3 ,A ;送新的掃描碼給R3</p><p> JC L3 ;判斷是否掃描完畢,是則循環(huán)</p><p><b> RET;返回主程序</b></p><p>
69、 KEYIN: MOV 22H,R1;將鍵盤碼送22H儲存</p><p> CLR F0;對鍵盤按下標志清0</p><p><b> RET;返回主程序</b></p><p> TIME0: PUSH ACC;將A壓入堆棧</p><p> PUSH PSW;將PSW壓入堆棧</
70、p><p> MOV TL0,20H;將聲音編碼低位送TL0</p><p> MOV TH0,21H;將聲音編碼高位送TH0</p><p> CPL P1.0;對輸出口聲音信號取反</p><p> POP PSW;.從堆棧還原PSW</p><p> POP ACC;從堆棧還原ACC</p>
71、<p> RETI;中斷返回</p><p> /********音符編碼***************/</p><p> TABLE: DW 64021,64103,64260,64400</p><p> DW 64524,64580,64684,64777</p><p> DW 64820,64898,64
72、968,65030</p><p> DW 65058,65110,65157,65178</p><p> /********共陽極數(shù)碼編碼*********/</p><p> TABLE1: DB 0CH,98H,48H,40H,1EH </p><p> DB 9FH,25H,0DH,99H,49H,41H,1F
73、H</p><p> DB 11H,01H0,63H,3H</p><p><b> END </b></p><p><b> 參考文獻:</b></p><p> [1] 胡漢才:單片機原理及其接口技術,北京清華大學出版社,2004,P142-P145</p>
74、<p> [2] 蘇家健、曹柏榮、汪志鋒:單片機原理及應用技術,高等教育出版社,2004.9,P3-P7</p><p> [3] 陳明熒:單片機課程設計實訓教材,北京清華大學出版社,2003.9,P231-P235</p><p> [4] 劉永明、賀民譯:[美]Ashish Wilfred Meeta Gupta Kartik Bhatnagar, php專業(yè)
75、項目實例開發(fā),水利水電出版社,2003,P79-P83</p><p> [5] 趙鑫、蔣亮、齊兆群:數(shù)字電路設計,北京機械工業(yè)出版社,2005.6,P27-P31</p><p> [6] 龔妮麗:音樂美學論綱,中國社會科學出版社,2002.12,P47-P51</p><p> [7] 楊恢先、黃輝先:單片機原理及應用,人民郵電出版社,2006,P1
76、14-P117</p><p> [8] 徐新艷:單片機原理應用與實踐,北京高等教育出版社,2005.3,P64-P67</p><p> [9] 張靖武、周靈彬:單片機原理、應用與PROTEUS仿真,2008.8,P71-P74</p><p> [10] 謝自美:電子線路設計·實驗·測試,華中理工大學出版社,1992,P131-P1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的電子琴畢業(yè)設計
- 單片機畢業(yè)設計電子琴
- 畢業(yè)設計(論文)-基于單片機的微型電子琴設計
- 畢業(yè)設計(論文)基于單片機的簡易電子琴
- 畢業(yè)設計----基于單片機的電子琴設計
- 基于單片機的電子琴設計畢業(yè)設計
- 基于單片機的電子琴系統(tǒng)設計_畢業(yè)設計
- 電子信息畢業(yè)設計論文 基于單片機的電子琴設計
- 畢業(yè)設計---基于單片機的簡單電子琴設計
- 基于單片機的電子琴設計畢業(yè)論文
- 電子琴課程設計--基于單片機的電子琴設計
- 電子琴課程設計--基于單片機的電子琴設計
- 基于單片機的電子琴設計
- 電子琴課程設計-- 基于單片機的電子琴設計
- 畢業(yè)論文--基于單片機的簡單電子琴設計
- 基于51單片機的電子琴設計畢業(yè)論文
- 畢業(yè)設計說明書(論文)基于單片機的電子琴設計
- 基于單片機原理的簡易電子琴系統(tǒng) 畢業(yè)設計
- 聲光電子琴畢業(yè)論文--基于51單片機簡易電子琴設計
- 基于51單片機簡易電子琴設計畢業(yè)論文
評論
0/150
提交評論