




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河南理工大學(xué)單片機(jī)應(yīng)用與仿真訓(xùn)練設(shè)計(jì)報(bào)告題目:基于AT89S52單片機(jī)的電子琴設(shè)計(jì)姓 名:學(xué) 號(hào):專(zhuān)業(yè)班級(jí):指導(dǎo)老師:所在學(xué)院:電氣工程與自動(dòng)化學(xué)院 2012年5月18 日摘要單片機(jī)即單片微型計(jì)算機(jī)(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定時(shí),計(jì)數(shù)和多種接口于一體的微控制器。其中51單片機(jī)是各種單片機(jī)中最為典型和最有代表性的一種,廣泛應(yīng)用于各個(gè)領(lǐng)域。電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器。而單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89S52單片機(jī)
2、為核心控制元件,設(shè)計(jì)一個(gè)電子琴,以單片機(jī)作為主控核心,與鍵盤(pán)、蜂鳴器等模塊組成核心主控制模塊。在主控模塊上設(shè)有11個(gè)按鍵和蜂鳴器,利用蜂鳴器作為發(fā)聲部件,兩個(gè)數(shù)碼管作為顯示部件,實(shí)現(xiàn)高音、中音、低音的1、2、3、4、5、6、7的發(fā)聲與顯示,并存儲(chǔ)一首歌曲的內(nèi)容,可實(shí)現(xiàn)自動(dòng)播放。一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,可以利用不同的頻率的組合,構(gòu)成我們所要的設(shè)定的音樂(lè),利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,只要將一首歌曲的音階對(duì)應(yīng)頻率關(guān)系對(duì)照即可。本文主要對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴的硬件組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得
3、我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來(lái)詳細(xì)闡述。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性?xún)r(jià)比高等,具有一定的實(shí)用和參考價(jià)值。目錄1 概述3 1.1 課題開(kāi)發(fā)背景3 1.2 設(shè)計(jì)任務(wù)與要求32 系統(tǒng)總體方案及硬件設(shè)計(jì)42.1系統(tǒng)組成及總體框圖42.2 硬件電路圖42.2.1 電路總接線圖42.2.2 單片機(jī)最小應(yīng)用系統(tǒng)52.2.3 數(shù)碼管顯示模塊72.2.4 按鍵及聲音控制模塊72.3 元件介紹82.3.1AT89S5282.3.2LED數(shù)碼管103 軟件設(shè)計(jì)123.1音樂(lè)相關(guān)知識(shí)簡(jiǎn)述123.2利
4、用單片機(jī)實(shí)現(xiàn)節(jié)拍控制原理123.3系統(tǒng)總體功能流程圖134 Proteus軟件仿真144.1 仿真圖形14 4.2 系統(tǒng)調(diào)試144.2.1 軟件仿真調(diào)試14 4.2.2 軟件調(diào)試155課程設(shè)計(jì)體會(huì)16參考文獻(xiàn)16附:源程序代碼171概述1.1 課題開(kāi)發(fā)背景隨著電子科技的飛速發(fā)展,電子技術(shù)正在逐漸改善著人們的學(xué)習(xí)、生活、工作,因此開(kāi)發(fā)本系統(tǒng)希望能夠給人們多帶來(lái)一點(diǎn)生活上的樂(lè)趣。基于當(dāng)前市場(chǎng)上的玩具市場(chǎng)需求量大,其中電子琴就是一個(gè)很好的應(yīng)用方面。單片機(jī)技術(shù)使我們可以利用軟硬件實(shí)現(xiàn)電子琴的功能,從而實(shí)現(xiàn)電子琴的微型化,可以用作玩具琴、音樂(lè)轉(zhuǎn)盤(pán)以及音樂(lè)童車(chē)等等。并且可以進(jìn)行一定的功能擴(kuò)展。不但可以實(shí)現(xiàn)
5、對(duì)樂(lè)曲的演奏,同時(shí)還具有存儲(chǔ)音樂(lè)、播放歌曲以及顯示按鍵的功能,使該設(shè)計(jì)功能更加完善。1.2 設(shè)計(jì)任務(wù)與要求利用所給鍵盤(pán)的1,2,3,4,5,6,7,七個(gè)按鍵,能夠發(fā)出7個(gè)不同的音調(diào),而且有一個(gè)按鍵可以自動(dòng)播放歌曲,要求按鍵按下時(shí)發(fā)聲,松開(kāi)延時(shí)一小段時(shí)間,中間再按別的鍵則發(fā)另外一音調(diào)的聲音,當(dāng)系統(tǒng)掃描到鍵盤(pán)按下,則快速檢測(cè)出是哪一個(gè)按鍵被按下,然后單片機(jī)的定時(shí)器啟動(dòng),發(fā)出一定頻率的脈沖,該頻率的脈沖經(jīng)喇叭驅(qū)動(dòng)電路放大濾波后,就會(huì)發(fā)出相應(yīng)的音調(diào)。如果在前一個(gè)按下的鍵發(fā)聲的同時(shí)有另一個(gè)按鍵被按下,則啟動(dòng)中斷系統(tǒng)。前面的發(fā)音停止,轉(zhuǎn)到后按的鍵的發(fā)音程序。發(fā)出后按的鍵的音調(diào)。2 系統(tǒng)總體方案及硬件設(shè)計(jì)2
6、.1系統(tǒng)組成及總體框圖該設(shè)計(jì)方案是通過(guò)按鍵隨意按下所要表達(dá)的音符,作為電平送給主體電路,中央處理器通過(guò)識(shí)別,解碼輸出音符,在揚(yáng)聲器中發(fā)出有效的聲音。通過(guò)這樣可以不斷的彈奏我們想要的音符或者是音調(diào),電路由復(fù)位電路,指示燈電路,和功能按鍵電路組成,通過(guò)功能鍵可以選擇播放音樂(lè)或者彈奏音節(jié),硬件主要有下面幾個(gè)部分組成。蜂鳴器發(fā) 聲AT89S52單片機(jī)功 能 選 擇(彈奏/播放)鍵盤(pán)輸入數(shù)碼管顯示圖2-1電子琴硬件設(shè)計(jì)框圖 在本設(shè)計(jì)中,采用P1.0-P1.6口作為七個(gè)音符的輸入,通過(guò)按下其中任一個(gè)鍵實(shí)現(xiàn)1,2,3,4,5,6,7的演奏,P3.0-P3.3口四位作為按鍵輸入實(shí)現(xiàn)低、中、高音切換,P0、P2
7、口作為顯示輸出,實(shí)現(xiàn)音符顯示和音調(diào)顯示,P3.4接蜂鳴器作為聲音輸出,實(shí)現(xiàn)音符發(fā)聲和音樂(lè)歌曲播放功能。2.2 硬件電路圖2.2.1 電路總接線圖 如圖所示,本設(shè)計(jì)包括單片機(jī)芯片AT89S52最小應(yīng)用系統(tǒng)、鍵盤(pán)輸入電路、數(shù)碼管顯示電路、蜂鳴器發(fā)聲電路等模塊組成。圖2.1 電路總接線圖2.2.2單片機(jī)最小應(yīng)用系統(tǒng)單片機(jī)加上適當(dāng)?shù)耐鈬骷ūWC單片機(jī)系統(tǒng)運(yùn)行的最小外圍器件)和應(yīng)用程序,構(gòu)成的應(yīng)用系統(tǒng)稱(chēng)為最小系統(tǒng)。包括單片機(jī)、復(fù)位電路和時(shí)鐘電路,圖2.2 單片機(jī)最小應(yīng)用系統(tǒng)接線圖復(fù)位電路采用按鍵復(fù)位方式,若要復(fù)位,只需按下復(fù)位按鈕,此時(shí)電源Vcc經(jīng)電阻器R1、R2分壓,在RST端產(chǎn)生一個(gè)復(fù)位高電平。圖
8、2.3 按鍵復(fù)位電路圖時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。單片機(jī)本身如同一個(gè)復(fù)雜的同步時(shí)序邏輯電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。AT89S52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2上外接時(shí)鐘源即可構(gòu)成時(shí)鐘電路圖2.4 時(shí)鐘電路圖2.2.3數(shù)碼管顯示模塊數(shù)碼管顯示模塊核心是共陽(yáng)級(jí)數(shù)碼管,通過(guò)來(lái)自單片機(jī)I/O口的電平高低來(lái)點(diǎn)亮和熄滅數(shù)碼管上的發(fā)光二極管,通過(guò)單片機(jī)送來(lái)的數(shù)碼管顯示編碼可以在數(shù)碼管上顯示數(shù)字和字符,可以很容易地理解按鍵按下所對(duì)應(yīng)的音符。圖2.5 數(shù)碼
9、管顯示模塊電路原理圖2.2.4 按鍵及聲音控制模塊 如圖2.6、2.7所示,音節(jié)按鍵從P1口進(jìn)行輸入,實(shí)現(xiàn)1,2,3,4,5,6,7,播放。音調(diào)切換按鍵從P3.0-P3.3口輸入,實(shí)現(xiàn)高、中、低音切換及音樂(lè)歌曲播放控制。蜂鳴器接P3.4實(shí)現(xiàn)聲音輸出。圖2.6 按鍵輸入電路圖圖2.7 音調(diào)切換按鍵輸入及發(fā)聲輸出電路圖2.3 元件介紹2.3.1AT89S52一、功能特性:AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于
10、常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為
11、止1。二、主要性能:與MCS-51單片機(jī)產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次擦寫(xiě)周期、全靜態(tài)操作:0Hz33Hz 、三級(jí)加密程序存儲(chǔ)器 、32個(gè)可編程I/O口線 、三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門(mén)狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符2。三、管腳說(shuō)明:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編
12、程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程
13、序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:表2.1 各管腳其它功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P
14、3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用
15、作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FL
16、ASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出2.3.2 LED數(shù)碼管本次設(shè)計(jì)的顯示電路采用LED數(shù)碼管顯示,LED(Light-Emitting Diode)是一種外加電壓從而流過(guò)電流并發(fā)出可見(jiàn)光的器件。LED是屬于電流控制器件,使用時(shí)必須加限流電阻。LED有單個(gè)LED和八段LED之分,也有共陰和共陽(yáng)兩種。常用的七段顯示器的結(jié)構(gòu)如圖下圖所示。(a)外形 (b)共陽(yáng)極 (C)共陰極圖2.5 數(shù)碼管引腳圖發(fā)光二極管的陽(yáng)極連在一起的稱(chēng)為共陽(yáng)極顯示器(如圖b所示),陰極連在一起的稱(chēng)為共陰極顯示器(如
17、圖c所示)。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管ag控制七個(gè)筆畫(huà)(段)的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫(huà)式的七段顯示器能顯示的字符較少,字符的開(kāi)頭有些失真,但控制簡(jiǎn)單,使用方便5。此外,要畫(huà)出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進(jìn)行正確的字型段碼編碼。才能顯示出正確的數(shù)字來(lái)。3 軟件設(shè)計(jì)本軟件設(shè)計(jì)關(guān)鍵是要實(shí)現(xiàn)一種由單片機(jī)控制的簡(jiǎn)單音樂(lè)發(fā)生器,它由7音節(jié)組成的的鍵盤(pán),用戶(hù)可以根據(jù)樂(lè)譜在鍵盤(pán)上進(jìn)行演奏,音樂(lè)發(fā)生器會(huì)根據(jù)用戶(hù)的彈奏,通過(guò)蜂鳴器將音樂(lè)播放出來(lái)。3.1 音樂(lè)相關(guān)知識(shí)簡(jiǎn)述音樂(lè)聽(tīng)起來(lái)有的高,有的低,這就叫音高,音高是由發(fā)音物體振動(dòng)頻率
18、的高低決定的,頻率高聲音就高,頻率低,聲音就低,不同音調(diào)的樂(lè)音是用C、D、E、F、G、A、B表示的,這7個(gè)字母就是樂(lè)音的音名,它們一般依次唱成DO、RE、MI、FA、SO、LA、SI,這是唱曲時(shí)樂(lè)音的發(fā)音,所以叫唱名。音持續(xù)時(shí)間的長(zhǎng)短即時(shí)值,一般用拍數(shù)表示,休止符表示暫停發(fā)音。一首音樂(lè)是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同的頻率,這樣就可以利用不同頻率的組合,加以與拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂(lè)。3.2 利用單片機(jī)實(shí)現(xiàn)節(jié)拍控制原理除了音符以外,節(jié)拍也是音樂(lè)的關(guān)鍵組成部分。節(jié)拍實(shí)際上就是音持續(xù)時(shí)間的長(zhǎng)短,在單片機(jī)系統(tǒng)中可以用延時(shí)來(lái)實(shí)現(xiàn),如果1/4拍的延時(shí)是0.4秒,則1拍的延時(shí)是1.6秒,只要
19、知道1/4拍的延時(shí)時(shí)間,其余的節(jié)拍延時(shí)時(shí)間就是它的陪數(shù)。如果單片機(jī)要自己播放音樂(lè),那么必須在程序設(shè)計(jì)中考慮到節(jié)拍的設(shè)置,由于本例實(shí)現(xiàn)的音樂(lè)發(fā)生器是由用戶(hù)通過(guò)鍵盤(pán)輸入彈奏樂(lè)曲的,所以節(jié)拍由用戶(hù)掌握,不由程序控制。對(duì)于不同的曲調(diào)我們也可以用單片機(jī)的另外一個(gè)定時(shí)/計(jì)數(shù)器來(lái)完成7。音樂(lè)的音拍,一個(gè)節(jié)拍為單位(C調(diào))具體如下表:表3.1 音樂(lè)節(jié)拍表曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms了解音樂(lè)的一些基本知識(shí)后可知,產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂(lè),對(duì)于單片機(jī)而言,產(chǎn)生不同頻率有脈沖非常方便,可以利用它的定
20、時(shí)/計(jì)數(shù)器來(lái)產(chǎn)生這樣的方波頻率信號(hào),因此,需要弄清楚音樂(lè)中的音符和對(duì)應(yīng)的頻率,以及單片機(jī)定時(shí)計(jì)數(shù)的關(guān)系。在本設(shè)計(jì)中,單片機(jī)工作于12MHZ時(shí)鐘頻率,使用其定時(shí)/計(jì)數(shù)器T0,工作模式為1,改變計(jì)數(shù)值TH0和TL0可以產(chǎn)生不同頻率的脈沖信號(hào),在此情況下,C調(diào)的各音符頻率與計(jì)數(shù)值T的對(duì)照如表3-2所示。T的值決定了TH0和TL0的值,其關(guān)系為:TH0=T/256,TL0=T/2563.3 系統(tǒng)總體功能流程圖N定時(shí)器初始化數(shù)碼管顯示0主程序開(kāi)始循環(huán)檢測(cè)按鍵Y數(shù)碼管顯示蜂鳴器發(fā)聲圖3.1 主程序框圖4 Proteus軟件仿真4.1 仿真圖形圖4.1 Proteus仿真圖4.2 系統(tǒng)調(diào)試電路調(diào)試是整個(gè)系統(tǒng)
21、功能否實(shí)現(xiàn)的關(guān)鍵步驟,我們將整個(gè)調(diào)試過(guò)程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。4.2.1 軟件仿真調(diào)試軟件仿真調(diào)試主要是針對(duì)單片機(jī)部分進(jìn)行調(diào)試。在軟件運(yùn)行前,先確保電路中連線正確,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要通過(guò)目測(cè),用來(lái)完成檢測(cè)電路中是否存在斷路或者短路情況等。在確保軟件仿真電路正常,無(wú)異常情況(斷路或短路)方可進(jìn)行軟件運(yùn)行,在本次設(shè)計(jì)中,軟件運(yùn)行主要是測(cè)試單片機(jī)鍵盤(pán)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻功放電路調(diào)試。A、數(shù)碼管LED電路調(diào)試:軟件運(yùn)行,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字;B、單片機(jī)鍵盤(pán)控制部分調(diào)試:軟件運(yùn)行,隨機(jī)按動(dòng)鍵盤(pán)可以發(fā)現(xiàn)
22、各個(gè)按鍵對(duì)應(yīng)的音正確。4.2.2 仿真調(diào)試調(diào)試主要方法和技巧:通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功能的過(guò)程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序模塊進(jìn)行分別調(diào)試。5 課程設(shè)計(jì)體會(huì)這次實(shí)驗(yàn)總共經(jīng)歷了兩周的時(shí)間,從功能需求分析到功能分析,從程序的設(shè)計(jì)到程序的調(diào)試,下載,最后終于完成了這次具有實(shí)際使用價(jià)值的實(shí)驗(yàn)。在設(shè)計(jì)中我運(yùn)用自己平時(shí)學(xué)到的一些知識(shí),以及自己在課下所查找的進(jìn)行設(shè)計(jì),剛開(kāi)始遇到很多困難,包括對(duì)使用匯編語(yǔ)言環(huán)境語(yǔ)言的不熟悉,后來(lái)一起和同
23、學(xué)研究,而一些課程設(shè)計(jì)中的故障,也請(qǐng)同學(xué)幫忙參考一下,最終找到了解決問(wèn)題的答案,在程序修改中用了大量時(shí)間,但是是值得的。我感覺(jué)自己在設(shè)計(jì)方面提高很大,特別是在設(shè)計(jì)程序時(shí),邏輯思維能力有所加強(qiáng),同時(shí)對(duì)以前所學(xué)的知識(shí)有了更深刻的認(rèn)識(shí),并進(jìn)一步的得到了鞏固和提高,充分的做到了理論聯(lián)系實(shí)際,也使我認(rèn)識(shí)到理論與實(shí)際的差別,通過(guò)該課程設(shè)計(jì),不但對(duì)單片機(jī)有了較為全面的認(rèn)識(shí),而且相關(guān)的知識(shí)也有了足夠的掌握,我感覺(jué)最重要的還是設(shè)計(jì)思維的形成。更發(fā)現(xiàn)自己在平時(shí)學(xué)習(xí)中的缺陷。對(duì)以后的學(xué)習(xí)也有很大的幫助。這次的單片機(jī)課程設(shè)計(jì),我所收獲的不僅是學(xué)習(xí)知識(shí)方面,更多的是生活方面。我了解到,在我們生活中,應(yīng)該學(xué)會(huì)與別人共同分
24、享,分享知識(shí),分享問(wèn)題,這樣更有助于我們的交流,有利于我們共同進(jìn)步,有利于我們對(duì)學(xué)習(xí)養(yǎng)成良好的興趣。最后,我要感謝那些帶我們課程設(shè)計(jì)的老師們,感謝你們對(duì)我們的耐心,感謝你們對(duì)我們的鼓勵(lì),讓我們有信心繼續(xù)下去,成功走到最后。參考文獻(xiàn)1 張毅剛.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M哈爾濱工業(yè)大學(xué)出版社,20042 龍威林.單片機(jī)應(yīng)用入門(mén):AT89S51和AVRM.北京:化學(xué)工業(yè)出版社,20083 張虹.單片機(jī)原理及應(yīng)用M.北京:中國(guó)電力出版社,2009. 4 張毅剛.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M哈爾濱工業(yè)大學(xué)出版社,20045 徐新艷單片機(jī)原理、應(yīng)用與實(shí)踐M北京:高等教育出版社,2005年3月附:源程序代
25、碼 ORG 00H JMP START ORG 0BH JMP EXT0 ORG 1BH JMP EXT1START: MOV TMOD,#00010001B MOV IE,#10001010B SETB P3.4MOV C,P3.3 JC START1 JMP START2START1: JNB P3.0,DYJMP START11DY: MOV P2,#06H JNB P1.0,DK1 JNB P1.1,DK2 JNB P1.2,DK3JNB P1.3,DK4JNB P1.4,DK5JNB P1.5,DK6JNB P1.6,DK7JMP STARTDK1: MOV P0,# 06H MOV
26、 R1,#0F8H MOV R0,#8CH MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTDK2: MOV P0,# 5BHMOV R1,#0F9H MOV R0,#5BH MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTDK3: MOV P0,# 4FH MOV R1,#0FAH MOV R0,#15H MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTDK4: MOV P0,#
27、 66H MOV R1,#0FAH MOV R0,#67H MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTDK5: MOV P0,# 6DH MOV R1,#0FBH MOV R0,#04H MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTDK6: MOV P0,# 7DH MOV R1,#0FBH MOV R0,#90HMOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTDK7:
28、MOV P0,# 07H MOV R1,#0FCH MOV R0,#0CH MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTSTART11: JNB P3.1,ZYJMP START12ZY: MOV P2,#5BHJNB P1.0,ZK1 JNB P1.1,ZK2 JNB P1.2,ZK3JNB P1.3,ZK4JNB P1.4,ZK5JNB P1.5,ZK6JNB P1.6,ZK7JMP STARTZK1: MOV P0,# 06H MOV R1,#0FCH MOV R0,#44H MOV TH0,R1 MOV TL0
29、,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTZK2: MOV P0,# 5BH MOV R1,#0FCH MOV R0,#0ACH MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTZK3: MOV P0,# 4FH MOV R1,#0FDH MOV R0,#09HMOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTZK4: MOV P0,# 66H MOV R1,#0FDH MOV R0,#34HMOV TH0,R1
30、 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTZK5: MOV P0,#6DH MOV R1,#0FDH MOV R0,#82HMOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTZK6: MOV P0,# 7DH MOV R1,#0FDH MOV R0,#0C8HMOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTZK7: MOV P0,# 07H MOV R1,#0FEH MOV R0,#06H MOV
31、 TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTSTART12: JNB P3.2,GY JMP STARTGY: MOV P2,#4FH JNB P1.0,GK1 JNB P1.1,GK2 JNB P1.2,GK3JNB P1.3,GK4JNB P1.4,GK5JNB P1.5,GK6JNB P1.6,GK7JMP STARTGK1: MOV P0,#06H MOV R1,#0FEH MOV R0,#22H MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP START
32、GK2: MOV P0,#5BH MOV R1,#0FEH MOV R0,#56H MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTGK3: MOV P0,# 4FH MOV R1,#0FEH MOV R0,#85HMOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTGK4: MOV P0,# 66H MOV R1,#0FEH MOV R0,#9AHMOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTGK5: MOV P0,#6DH MOV R1,#0FEH MOV R0,#0C1H MOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY CLR TR0 JMP STARTGK6: MOV P0,# 7DH MOV R1,#0FEH MOV R0,#0E4HMOV TH0,R1 MOV TL0,R0 SETB TR0 LCALL DELAY
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 售賣(mài)機(jī)站址協(xié)議合同
- 商場(chǎng)聯(lián)營(yíng)合作協(xié)議合同
- 商業(yè)攝影版權(quán)合同協(xié)議
- 商品經(jīng)銷(xiāo)合同協(xié)議
- 櫥柜終止合同協(xié)議書(shū)范本
- 歌廳入股協(xié)議書(shū)范本合同
- 商業(yè)店鋪合同終止協(xié)議
- 和物業(yè)合作創(chuàng)業(yè)合同協(xié)議
- 商家合租合作合同協(xié)議
- 欠帳協(xié)議書(shū)范本
- 寵物買(mǎi)賣(mài)合同模板2025年
- 社區(qū)工作者綜合能力考試基礎(chǔ)知識(shí)試題及答案
- 科室院感2025年度工作計(jì)劃
- 藥品召回管理課件
- 石化工程質(zhì)量管理培訓(xùn)
- 《中國(guó)血糖監(jiān)測(cè)臨床應(yīng)用指南(2021年版)》解讀課件
- 【MOOC】構(gòu)造地質(zhì)學(xué)-中國(guó)地質(zhì)大學(xué)(武漢) 中國(guó)大學(xué)慕課MOOC答案
- 【MOOC】模擬電子電路與技術(shù)基礎(chǔ)-西安電子科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 醫(yī)療質(zhì)量控制培訓(xùn)方案
- 病理性近視怎治療
- 《工業(yè)機(jī)器人系統(tǒng)維護(hù)》試卷6及答案
評(píng)論
0/150
提交評(píng)論