[畢業(yè)設(shè)計精品]電子音樂盒畢業(yè)論文_第1頁
[畢業(yè)設(shè)計精品]電子音樂盒畢業(yè)論文_第2頁
[畢業(yè)設(shè)計精品]電子音樂盒畢業(yè)論文_第3頁
[畢業(yè)設(shè)計精品]電子音樂盒畢業(yè)論文_第4頁
[畢業(yè)設(shè)計精品]電子音樂盒畢業(yè)論文_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、電子音樂盒畢業(yè)論文【摘要】:單片機(jī)的易用性與多功能性使它廣泛應(yīng)用于各種微控制系統(tǒng)。本文介紹了一種基于單片機(jī)的電子音樂盒的設(shè)計,它是以stc89c52rc單片機(jī)為控制核心,輔以一些外圍器件,采用匯編語言編寫程序,實(shí)現(xiàn)音樂播放功能。并在音樂盒基礎(chǔ)上利用單片機(jī)閑置p1口拓展了數(shù)碼管顯示功能。整個系統(tǒng)電路結(jié)構(gòu)簡單,可靠性能高,測試結(jié)果滿足設(shè)計要求。本文著重介紹了該系統(tǒng)的設(shè)計原理,硬件設(shè)計方法與軟件編程思路。關(guān)鍵字:單片機(jī);音樂盒;數(shù)碼管abstract: scm ease of use and versatility make it widely used in various micro-contr

2、ol system. this paper describes a microcontroller-based electronic music box design, it is stc89c52rc microcontroller for the control of the core, supplemented by a number of peripheral devices, the use of assembly language programming, playback of music. and based on the use of the music box chip i

3、dle port p1 expands digital display. the whole system simple circuit structure, high reliability, the test results meet the design requirements. this article highlights the system design principles, hardware design and software programming ideas.keywords: single-chip digital music box目錄緒論11 單片機(jī)介紹12

4、stc89c52rc單片機(jī)內(nèi)部結(jié)構(gòu)23 單片機(jī)音樂4第1章 設(shè)計要求及理論基礎(chǔ)51.1 設(shè)計要求51.2 音樂知識51.3 單片機(jī)產(chǎn)生音頻脈沖原理51.4 單片機(jī)實(shí)現(xiàn)音樂的節(jié)拍6第2章 硬件外圍電路82.1 選擇按鍵輸入電路82.2 音頻發(fā)生器8第3章 軟件設(shè)計93.1 設(shè)計原理圖93.2 各部分程序流程圖103.3 所需要的軟件123.3.1 proteus軟件簡介123.3.2 keil簡介133.4 相關(guān)程序代碼13設(shè)計總結(jié)171 設(shè)計過程中遇到的問題及解決方法172 設(shè)計體會17參考文獻(xiàn)18致謝19緒論1 單片機(jī)介紹單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能

5、力的中央處理器cpu隨機(jī)存儲器ram、只讀存儲器rom、多種i/o口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、a/d轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機(jī)系統(tǒng)。單片機(jī)也被稱為微控制器(microcontroller unit),常用英文字母的縮寫mcu表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有cpu的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和cpu集成在一個芯片中,使計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。intel的z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機(jī)和

6、專用處理器的發(fā)展便分道揚(yáng)鑣。 早期的單片機(jī)都是8位或4位的。其中最成功的是intel的8031,因?yàn)楹唵慰煽慷阅懿诲e獲得了很大的好評。此后在8031上發(fā)展出了mcs51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢r比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大提高。隨著intel i960系列特別是后來的arm系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32

7、位單片機(jī)主頻已經(jīng)超過300mhz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的windows和linux操作系統(tǒng)。由于單片機(jī)具有控制功能強(qiáng),體積小,成本低,功耗小等一系列的特點(diǎn),使它在工業(yè)控制,智能儀器,節(jié)能技術(shù)改造,通信系統(tǒng),信號處理及家用電器產(chǎn)品中都得到廣泛的應(yīng)用,隨著數(shù)字技術(shù)的發(fā)展及單片機(jī)在電子系統(tǒng)中的廣泛應(yīng)用,在很大程度上改變了傳統(tǒng)的設(shè)計方法。以往采用模擬電路,數(shù)字電路實(shí)

8、現(xiàn)的電路系統(tǒng),大部分功能單元都可以通過對單片機(jī)硬件功能的擴(kuò)展及專用程序的開發(fā)來實(shí)現(xiàn)系統(tǒng)提出的要求,這意味著許多電路設(shè)計問題將轉(zhuǎn)化為程序設(shè)計問題。這種用模擬技術(shù),數(shù)字技術(shù)的綜合設(shè)計系統(tǒng),用軟件取代硬件實(shí)現(xiàn)和提供系統(tǒng)系能的新的設(shè)計思想體系,一般稱之為微控制技術(shù)。在微控制系統(tǒng)的設(shè)計中,系統(tǒng)設(shè)計和軟件設(shè)計起著關(guān)鍵性的作用。2 stc89c52rc單片機(jī)內(nèi)部結(jié)構(gòu)at89c2051單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上,除模擬比較器外其內(nèi)部結(jié)構(gòu)與8051內(nèi)部結(jié)構(gòu)基本一致。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據(jù)存儲器、程序存儲器、并行i/o口、串行口、

9、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是cpu加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。其內(nèi)部結(jié)構(gòu)框圖見圖。1)微處理器該單片機(jī)中有一個8位的微處理器,與通用的微處理器基本相同,同樣包括了運(yùn)算器和控制器兩大部分。2)數(shù)據(jù)存儲器片內(nèi)為128個字節(jié),用來存儲程序在運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等,所以稱為數(shù)據(jù)存儲器。3)程序存儲器片內(nèi)只讀存儲器有64k字節(jié)。4)中斷系統(tǒng)具有6個中斷源,2級中斷優(yōu)先權(quán)。5)定時/計數(shù)器片內(nèi)有2個16位的定時器/計數(shù)器, 具有四種工作方式。6)串

10、行口1個全雙工的串行口,具有四種工作方式。可用來進(jìn)行串行通訊,擴(kuò)展并行i/o口,甚至與多個單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng)且應(yīng)用更廣。7)p1口、p3口為2個并行8位i/o口,15根可編程i/o引線。8)特殊功能寄存器共有19個,用于對片內(nèi)的個功能的部件進(jìn)行管理、控制、監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器,是一個具有特殊功能的ram區(qū)。由上可見,stc89c52rc 單片機(jī)的硬件結(jié)構(gòu)具有功能部件種類全,功能強(qiáng)等特點(diǎn)。圖stc89c52rc單片機(jī)內(nèi)部結(jié)構(gòu)框圖3 單片機(jī)音樂電子音樂已廣泛地應(yīng)用于社會生活的各個領(lǐng)域。其類型從音樂卡片到cd、mp3 等多種多樣,制作原理也各不相同。聲

11、音是通過振動產(chǎn)生的。單片機(jī)對某一i/o引腳以一定的頻率循環(huán)置1和清0,這一引腳便產(chǎn)生一定頻率的方波,該方波作用于蜂鳴器便產(chǎn)生一定頻率的聲音。若改變輸出方波的頻率,產(chǎn)生的聲音也就改變了。通過控制輸出方波的時間長短,聲音的長短也就得到控制。因此,根據(jù)樂譜,單片機(jī)就可產(chǎn)生電子音樂。音樂中最關(guān)鍵的兩個要素是音符和節(jié)拍。單片機(jī)控制的音樂發(fā)生器系統(tǒng)由硬件電路和軟件兩部分構(gòu)成。利用單片機(jī)控制的電子音樂發(fā)生器軟硬件上具有獨(dú)特的優(yōu)點(diǎn),系統(tǒng)的開發(fā)周期短,成本低,電路制作容易。更換歌曲時,硬件電路無需作任何修改,只需修改軟件即可實(shí)現(xiàn)。軟件編程時,可用51系列單片機(jī)的匯編語言或c51語言實(shí)現(xiàn)。同時還可根據(jù)個人的習(xí)好通

12、過軟件改變節(jié)拍的延時時間。第1章 設(shè)計要求及理論基礎(chǔ)1.1 設(shè)計要求 以單片機(jī)為控制核心設(shè)計的音樂盒 用數(shù)碼管顯示歌曲號 有兩個獨(dú)立按鍵來控制歌曲的開始/停止和播放下一首 內(nèi)部存至少三首歌曲1.2 音樂知識音樂分為兩個要素,音符和節(jié)拍。只要控制好他們就能讓單片機(jī)發(fā)出美妙的聲音。本文講述的是以單片機(jī)中的計數(shù)器t0來控制輸出頻率,形成不同的音符。利用軟件延時來控制節(jié)拍的。1.3 單片機(jī)產(chǎn)生音頻脈沖原理音符頻率例如:中音1(do)的頻率=523hz,周期 t=1/f;定時/計數(shù)器0的定時時間為:t0=t/2 ;裝入定時器0的計數(shù)初值thtl = 65536-956 = 64580。將64580裝入t

13、h0、tl0寄存器中,啟動t0工作后,每計數(shù)956次時將產(chǎn)生溢出中斷,進(jìn)入中斷服務(wù)程序,每次對該引腳的輸出值進(jìn)行取反,就可得到中音do(523hz)的音符頻率。通過上述方法依次求出音符c調(diào)低音高音的所有計數(shù)初值。例如:c調(diào)的低音do的thtl=65536500000/262=63627,高音do的thtl=65536500000/1047=65058。為了編程記譜方便,對它們進(jìn)行簡單的音符編碼,如表所示。在編程中,歌曲的音符用音符編碼記譜,然后根據(jù)音符編碼查找對應(yīng)的計數(shù)初值。音符編碼記譜表符音調(diào)音c262294330350393441495d294330371393441495556e3303

14、71416441495556624f350393441467525589661g393441495525589661742a441495556589661742833b495556589661742833935每個音符都有不同各自的頻率,根據(jù)他本身的頻率就能算出他的周期,我們可以利用單片機(jī)中的計數(shù)器對他計時,每經(jīng)過半個周期就將連接外部蜂鳴器的i/o口取反,從而產(chǎn)生一定頻率的方波來驅(qū)動蜂鳴器產(chǎn)生不同的音調(diào)。經(jīng)過計算產(chǎn)生各個音符所需計數(shù)器的初值為: 字符與計數(shù)值初值表音符thtl音符編碼音符thtl音符編碼642631765031a64402265087b64526365136c164580465

15、161d264668565200e364780665236f4648227不發(fā)音0564900866497091.4 單片機(jī)實(shí)現(xiàn)音樂的節(jié)拍音樂盒功能程序部分主要包括音樂盒功能主程序、音頻節(jié)拍讀取子程序、t0中斷服務(wù)子程序、節(jié)拍延時子程序。在建立了音符編碼和節(jié)拍編碼后,編程時,每個音符占用一個字節(jié),高4位是音符編碼,低4位是節(jié)拍編碼。根據(jù)上述原則建立樂譜編碼表,以及按照音符順序?qū)?yīng)的thtl值表。例如:在生日快樂歌中,第一個音符“5”的音符編碼為“8” ,對應(yīng)的thtl值為64900,見表2-2。第一個音符“5”的節(jié)拍是2/4拍,節(jié)拍編碼為“2”,見表2-3。則定義該音符編碼為“82h” 。為了

16、聽好兩個同音符,在兩者之間空1/4拍,即在55見加入“01h”編碼。同理,整首歌的樂譜編碼表舅可以得出。在程序運(yùn)行過程中順序取出樂譜編碼,然后查表找到對應(yīng)的thtl值。首先通過對tmod控制字將定時器0初始化為工作方式1,通過控制字ie允許定時器0中斷。接著等待選擇按鍵的按下,經(jīng)過按鍵去抖程序確認(rèn)按下之后為按鍵次數(shù)賦初值0。之后到第一首歌曲的簡譜碼取簡譜碼。經(jīng)過音頻節(jié)拍讀取子程序?qū)⒐?jié)拍、音頻分別讀取后空音符則直接將定時器0暫停,非空音符則通過對音符表的查詢提取t值后,經(jīng)中斷服務(wù)子程序發(fā)出音頻,后都經(jīng)音頻節(jié)拍子程序完成一個音樂節(jié)拍的輸出。之后將提取簡譜碼的指針加1,再次循環(huán)上述步驟。歌曲節(jié)拍表生

17、日快樂歌|5565|7|5565|祝 你生日快樂,祝 你生日快樂。|55|76 |5565|我 們高聲歌唱,祝 你生日快樂。節(jié)拍的控制可以通過軟件的延時來達(dá)到,通過延時以1/4拍為一個單位,需要幾個就循環(huán)幾次,下圖是各個節(jié)拍所需要的時間。節(jié)拍時間表樂譜節(jié)拍1/4拍的延時時間/ms樂譜節(jié)拍1/8拍的延時時間/ms4/41254/4623/41873/4942/42502/4125第2章 硬件外圍電路2.1 選擇按鍵輸入電路通過對p3.2腳按鍵次數(shù)進(jìn)行計數(shù),從而通過編程實(shí)現(xiàn)與按鍵次數(shù)相對應(yīng)的歌曲播放。選擇按鍵電路如圖2-1所示,其中r選值1k。圖2-1 選擇按鍵電路2.2 音頻發(fā)生器音頻發(fā)生器由單

18、片機(jī)內(nèi)部的定時/計數(shù)器0和p1.7引腳配合。定時/計數(shù)器0計時某一音符的半周期時長,計時結(jié)束p1.7口電平取反,這樣形成該音符相應(yīng)頻率的方波信號。 圖2-2 發(fā)音系統(tǒng)第3章 軟件設(shè)計3.1 設(shè)計原理圖圖3-1 原理圖3.2 各部分程序流程圖主程序流程圖顯示子程序流程圖播放子程序流程圖播放子程序與中斷0程序流程圖3.3 所需要的軟件keil單片機(jī)編譯軟件,protuse 單片機(jī)仿真軟件,protel99se 電子制圖軟件,stc_isp_v483 stc專用下載器,flow4 畫流程圖軟件等 3.3.1 proteus軟件簡介proteus軟件是英國labcenter electronics公司

19、出版的eda工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計,真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、pcb設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、hc11、pic10/12/16/18/24/30

20、/dspic33、avr、arm、8086和msp430等,2010年即將增加cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器。 3.3.2 keil簡介單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)閏pu可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于mcs-51單片機(jī)的匯編軟件有早期的a51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,keil

21、軟件是目前最流行開發(fā)mcs-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。運(yùn)行keil軟件需要pentium或以上的cpu,16mb或更多ram、20m以上空閑的硬盤空間、win98、nt、win2000、winxp等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用c語言編程,那么keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟

22、件),即使不使用c語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。3.4 相關(guān)程序代碼org 0000hajmp mainorg 0003hajmp zd0org 000bhajmp time0org 0100hmain :mov 40h,#01h ;第一首歌曲編號mov 41h,#09h ;最后一首編號mov dptr,#1000h ;第一首歌入口地址mov 42h,dph ;分高低八位寄存在42h與43hmov 43h,dpls1

23、:jb 80h.0 , $ ; 檢測標(biāo)志位 jnbp3.2,loop ;第一次按按鍵? acall delay1 ;消除抖動jbp3.2,loop ;按鍵放開? acall display ;調(diào)用顯示子程序acall playmusic ;調(diào)用歌曲播放子程序loop: acall playnext ;調(diào)用轉(zhuǎn)換下一首子程序 ajmp s1time0 :mov th0,30h ;計數(shù)器溢出中斷子程序mov tl0,31h ;裝載計數(shù)初值cpl p1.7 ;取反p1.7產(chǎn)生脈沖retidisplay:mov a,40h ;顯示編號子程序mov dptr,#tabdisplay ;讓累加器a取編號控制

24、字給數(shù)碼管movc a,a+dptr mov p0,amov p2,#07hrettabdisplay:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67h ;數(shù)碼管1-9控制字playmusic:mov ie,#82h ;播放音樂子程序 允許中斷mov tmod,#01h ;計數(shù)器初始化 計數(shù)方式1mov r0,#0ps1 :mov a,r0 ;音符表取碼acall table2cjne a,#88h,ps2 ;檢查是否取到最后的音符碼ajmp ps6 ;如果一首歌曲完畢就跳回播放下一 首歌曲ps2 :cjne a,#0,ps3 ;檢查是否不發(fā)音clr tr0

25、 ;不發(fā)音就關(guān)閉計數(shù)器ajmp ps4ps3 :rl a ;為t0計數(shù)器裝載初值mov b,a ;累加器左移等于乘以二acall table1mov 30h,a ;數(shù)器初值由兩個單元存儲mov th0,a ;大端存儲方式mov a,binc aacall table1mov 31h,amov tl0,asetb tr0 ;打開計數(shù)器ps4 :inc r0 ;去取節(jié)拍碼mov a,r0acall table2mov r3,a ;把節(jié)拍數(shù)寄存起來ps5 :acall delay ;一個節(jié)拍單位djnz r3,ps5 ;需要幾個節(jié)拍就延時幾次inc r0 ;為下一次取音符碼準(zhǔn)備ajmp ps1ps6

26、 :ret ;單獨(dú)跳回子程序playnext:inc 40h ;播放下一首歌曲子程序mov a,40h cjne a,#9,pn1 ;檢測是否九首歌曲播放完畢mov a,#0 ;播放完畢從頭開始循環(huán)mov 40h,#1pn1 :rl a ;為歌曲入口地址裝載dptr值,找到歌曲入口地址mov b,aacall table3mov dph,amov 42h,amov a,binc aacall table3mov dpl,amov 43h,aretzd0:push acc ;中斷改變標(biāo)志位push pswcpl 80h.0pop accpop pswretdelay :mov r5,#2 ;延時

27、 一個節(jié)拍單位 125msd2 :mov r6,#187d1 :mov r7,#148djnz r7,$djnz r6,d1djnz r5,d2ret ;消除抖動延時子程序 delay1:;10ms延時程序 movr4,#20 d4:movr3,#248djnzr3,$djnzr4,d4rettable1: mov dptr,#tab1 movc a,a+dptr ret tab1 : dw 0,63628,63835,64021,64103,64260,64399,64523 ;不同音調(diào)的頻率的計數(shù)初值 dw 64579,64684,64777,64819,64898,64968,65030

28、 dw 65058,65110,65157,65178,65217,65252,65282table2 :mov dph,42hmov dpl,43hmovc a,a+dptrrettable3 :mov dptr,#tab3 :首歌曲的音符表入口地址movc a,a+dptrrettab3 :dw 1000h,1100h,1200h,1300h,1400h,1500h,1700h,1800horg 1000hdb 08h,04h,09h,04h,0ah,04h,08h,04h,08h,04h,09h,04h,0ah,04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h

29、,0ah,04h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah,04h,08h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h,08h,04h,05h,04h,08h,08horg 1100hdb 04h,04h,03h,04h,0ah,04h,0dh,04h,08h,04h,09h,04h,0ah,04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h,0dh,04h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah

30、,04h,08h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h,08h,04h,05h,04h,08h,08h org 1200h db 08h,04h,09h,04h,0ah,04h,08h,04h,08h,04h,09h,04h,0ah,04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h,0ah,04h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah,04h,08h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh

31、,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h,08h,04h,05h,04h,08h,08horg 1300hdb 08h,04h,09h,04h,0ah,04h,08h,04h,08h,04h,09h,04h,0ah,04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h,0ah,04h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah,04h,08h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h

32、,08h,04h,05h,04h,08h,08horg 1400hdb 08h,04h,09h,04h,0ah,04h,08h,04h,08h,04h,09h,04h,0ah,04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h,0ah,04h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah,04h,08h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h,08h,04h,05h,04h,08h,08horg 1500hdb 08h,04h,

33、09h,04h,0ah,04h,08h,04h,08h,04h,09h,04h,0ah,04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h,0ah,04h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah,04h,08h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h,08h,04h,05h,04h,08h,08horg 1600hdb 08h,04h,09h,04h,0ah,04h,08h,04h,08h,04h,09h,04h,0ah,

34、04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h,0ah,04h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah,04h,08h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h,08h,04h,05h,04h,08h,08horg 1700hdb 08h,04h,09h,04h,0ah,04h,08h,04h,08h,04h,09h,04h,0ah,04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h,0ah,0

35、4h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah,04h,08h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h,08h,04h,05h,04h,08h,08horg 1800hdb 08h,04h,09h,04h,0ah,04h,08h,04h,08h,04h,09h,04h,0ah,04h,08h,04h,0ah,04h,0bh,04h db 0ch,08h,0ah,04h,0bh,04h,0ch,08h,0ch,03h,0dh,01h,0ah,04h,0

36、8h,04h,0ch,03h,0dh,01h,0ch,03hdb 0bh,01h,0ah,04h,08h,04h,08h,04h,05h,04h,08h,08h,08h,04h,05h,04h,08h,08hend設(shè)計總結(jié)1 設(shè)計過程中遇到的問題及解決方法 有時會出現(xiàn)程序一點(diǎn)錯誤也沒有,但就是不能正常運(yùn)行的現(xiàn)象,最后我們發(fā)行是因?yàn)槌绦蛑杏械闹噶顣鴮懙貌灰?guī)范導(dǎo)致的,例如有的ret返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。 程序中的跳轉(zhuǎn)指令的運(yùn)用很重要,為保險起見,都用ljmp,我們就遇到過跳轉(zhuǎn)指令用錯程序無法正常運(yùn)行的現(xiàn)象。當(dāng)用jnz指令時,跳轉(zhuǎn)范圍比較少,這時要用一個標(biāo)號中轉(zhuǎn)。編程時要注意,在程序開始時,要寫入各定時器中斷的入口地址。編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。2 設(shè)計體會 學(xué)習(xí)單片機(jī),對單片機(jī)的硬件設(shè)計,軟件設(shè)計掌握的深度不夠,但通過此次課程設(shè)計,卻改變了很多,首先對于硬件電路的工作原理有了進(jìn)一步的學(xué)習(xí),同樣就有了進(jìn)一步的認(rèn)識;其次軟件方面,在程序的設(shè)計,程序的調(diào)試方面都學(xué)到了很多東西,這是第一次閱讀編寫單片機(jī)的大程序,很有成就感。單片機(jī)是一種非常小巧但功能非常多,應(yīng)用非常廣的一種芯片,功率也非常的小,采用s

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論