版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 畢業(yè)設計報告(論文)</p><p> 報告(論文)題目:基于單片機的音樂播放器 </p><p> 作者所在系部: 電子工程系 </p><p> 作者所在專業(yè): 電氣自動化技術(shù) </p><p> 畢業(yè)設計(論文)任務書</p><p&g
2、t; 指導教師: 教研室主任: 系主任:</p><p><b> 摘 要</b></p><p> 近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月異更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu),以
3、及針對具體應用對象特點的軟件結(jié)合,加以完善。</p><p> 當今,利用單片機控制音樂播放多不勝舉,音樂芯片也相當之多,而利用單片機存儲音樂,控制播放最為廣泛。它有功能多﹑價格優(yōu)﹑外圍電路簡單的特點,很受音樂愛好者及音樂芯片制造商的青昧。本文中,用單片機芯片及少數(shù)外圍電路控制音樂播放。</p><p> 本設計是以單片機AT89C51為核心數(shù)據(jù)處理器件,由LCD液晶顯示屏LM016L
4、顯示歌曲的曲號、播放時間、開機畫面以及鍵號,開機畫面為交替顯示W(wǎng)ELCOM HERE和作者姓名,采用4*4行列式鍵盤實現(xiàn)曲號的選擇,其中1~A號按鍵用來選擇曲號,C鍵控制下一曲,D鍵控制上一曲,E鍵控制播放/暫停,F(xiàn)鍵為開機畫面顯示,元件以低耗、高能、耐用、精確、易于操作等為優(yōu)先考慮因素。采當鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出樂曲。同時啟動定時器T1,顯示樂曲播放的時間,并驅(qū)動LCD,顯示歌曲
5、號及播放時間。AT89C51單片機的內(nèi)存較小,就用了一個74LS373鎖存器和27512外部擴展芯片對該單片機進行了內(nèi)存的擴充,增大了它的存儲空間,讓他可以存儲足夠多的歌曲。</p><p> 該音樂發(fā)生器的論文詳細介紹了其硬件結(jié)構(gòu)和設計方法,整個設計簡單實用,功能完整。</p><p> 關(guān)鍵詞:音樂;AT89C51;單片機;LCD LM016L;</p><p&
6、gt;<b> 目 錄</b></p><p><b> 第1章 緒 論1</b></p><p> 1.1電子音樂概述1</p><p> 1.2國內(nèi)外電子音樂的發(fā)展1</p><p> 1.3音樂發(fā)生器的擴展2</p><p> 第2章 設計方案
7、3</p><p> 2.1 設計方案論證3</p><p> 2.1.1方案一3</p><p> 2.1.2 方案二4</p><p> 2.1.2 方案三5</p><p> 2.1.3 方案比較6</p><p> 第3章 硬件設計7</p>&l
8、t;p> 3.1 電路組成及工作原理7</p><p> 3.1.1 電路組成7</p><p> 3.1.2 電路工作原理7</p><p> 3.2 AT89C51的簡介8</p><p> 3.2.1 AT89C51功能概述8</p><p> 3.2.2 AT89C51的管腳圖8&
9、lt;/p><p> 3.2.3 AT89C51 單片機的引腳介紹9</p><p> 3.3 晶振電路9</p><p> 3.4 揚聲器電路10</p><p> 3.5 顯示電路10</p><p> 3.6 更換歌曲電路11</p><p> 3.7 復位電路12&l
10、t;/p><p> 3.8 程序存儲器外部擴展電路13</p><p> 第4章 液晶顯示原理及LM016L簡介14</p><p> 4.1 液晶顯示原理及分類14</p><p> 4.1.1液晶顯示原理14</p><p> 4.1.2液晶顯示器的分類14</p><p&g
11、t; 4.1.3液晶顯示器各種圖形的顯示原理:14</p><p> 4.2 LCD1602簡介15</p><p> 第5章 穩(wěn)壓電源17</p><p> 5.1 穩(wěn)壓電源的功能17</p><p> 5.2直流穩(wěn)壓電源17</p><p> 5.3 220v交流電轉(zhuǎn)5v直流電的電源設計1
12、8</p><p> 5.3.1電路工作原理18</p><p> 5.3.2電路原理圖19</p><p> 第6章 軟件系統(tǒng)設計20</p><p> 6.1 軟件流程設計20</p><p> 6.2性能分析22</p><p><b> 結(jié)論23<
13、/b></p><p><b> 致 謝24</b></p><p><b> 參考文獻25</b></p><p><b> 附 錄26</b></p><p> 基于單片機的音樂播放器</p><p><b>
14、第1章 緒 論</b></p><p><b> 1.1電子音樂概述</b></p><p> 電子音樂是現(xiàn)代音樂的一種形式,是一種與古典截然不同的音樂形式。而今,越來越多鐘情于電子音樂的音樂家們相信,通過電流產(chǎn)生的聲音打破音樂的結(jié)構(gòu)及人們習慣的聽覺經(jīng)驗,人與人之間的情感是可以溝通的。電子音樂是一種科技的見證。也就是說,借助電子音樂,技術(shù)可以見證音樂,
15、音樂可以見證技術(shù)。電子音樂是對傳統(tǒng)音樂的延承和背叛,它緊密地依偎著這個“科技與信息”的時代。</p><p> 音樂電聲的一個重要內(nèi)容就是電子音樂。電子琴的出現(xiàn),開辟了音樂的一個新天地。但是自從電子合成器問世以來,電子音樂就又進入了一個更高的階段。 目前,由于電子音樂的普及,電子合成器(合成器實際上是一臺聲音的頻率合成儀,可以制作各種聲音,改變各種音色)可以解決相當一部分的歌唱及舞廳的伴奏問題。可以事先制作伴奏
16、音樂或背景音樂,而不需要樂隊,或者部分代替樂隊。由于音樂合成器制作和修改方便,成本低,音樂豐滿,所以市場需求量很大,因此,世界許多國家的廠商都不斷地在發(fā)展并推出新的型號,每年都要更新?lián)Q代。當前的發(fā)展趨勢是不斷的采用先進技術(shù),例如有的合成器有“跟隨”功能,即經(jīng)預置,每一個音后可以跟隨一個二度或三度音,“重疊”功能,輕奏或重奏時可以發(fā)不同音調(diào)或音色;另外,合成器還向輕便、使用操作方便等方向發(fā)展。</p><p>
17、1.2國內(nèi)外電子音樂的發(fā)展 </p><p> 早期“電子音樂”靠模擬電路產(chǎn)生聲音的,它的主要功能是產(chǎn)生電子音頻和對人耳所能聽到的所有泛音列進行編輯。“電子音樂”向人們展現(xiàn)出了混合新音色、非常規(guī)音色制作方式的優(yōu)勢,大大提高了制作和創(chuàng)作音樂的效率,帶動了新的音樂風格的發(fā)展。60多年來,“電子音樂”主要經(jīng)歷了從“錄音機音樂”到“合成器音樂”再到“電腦音樂”這三個階段的演變。電子樂器的發(fā)展在“電子音樂”的誕生后,使人
18、們充分認識到了“電子樂器”運用到“電子音樂”中的可行性。這必將為“電子音樂”渲染上一片神話色彩,映照著人類生生不息的智慧。沒有這個發(fā)展就不可能有當代電腦音樂的出現(xiàn)。電子音樂在我國的發(fā)展</p><p> “電子音樂”最初是70年代末到80年代初的“改革開放”以來,西方現(xiàn)代音樂思潮與實踐在中國的傳播。90年代以來,“電子音樂”創(chuàng)作與教育已經(jīng)開始逐步廣泛開展。1993年,中央音樂學院作曲家張小夫教授創(chuàng)建了中國現(xiàn)代電
19、子音樂中心,有力的推動了中國電子音樂的發(fā)展。并于此開始開設關(guān)于此項技術(shù)一些相關(guān)領(lǐng)域的研究生、本科生。</p><p> 以MIDI為代表的音樂數(shù)碼技術(shù)從20世紀80年代中期開始逐步進入我國的音樂生活,并以驚人的速度從多方面影響著專業(yè)音樂。尤其是作曲與作曲技術(shù)理論專業(yè)的思想觀念、表現(xiàn)手法與工作程序,社會生產(chǎn)和消費也因此引發(fā)了急切的用人需求。</p><p> 現(xiàn)在隨著計算機的兼容性越來越
20、好,多媒體計算機進入千家萬戶,計算機進行綜合音樂制作能力更強,音樂作品可以把它儲存成一定的格式,通過軟盤或網(wǎng)絡進行傳播,聽眾直接在計算機上聽音樂。它容聲音、圖形、文字于一體,極富有刺激性,比現(xiàn)場演出還精彩,更明白。除了網(wǎng)絡中的應接不暇的應用,技術(shù)也逐步普及到了大眾手機鈴音領(lǐng)域??梢宰孕屑羟芯庉?、錄制喜歡的音樂或聲音作為個性手機鈴音。</p><p> 綜合上述,從“電子音樂”的過去、現(xiàn)在、未來發(fā)展的進程中可以看
21、出,它給音樂制作能普及至社會個人便攜操作的影響,是不可磨滅的功績。它的統(tǒng)治地位趨勢已成不可逆轉(zhuǎn)的狀態(tài)。電子音樂已經(jīng)深入地影響到了現(xiàn)代人的音樂審美觀念,并有繼續(xù)發(fā)展的強烈趨勢。在這個趨勢中,電腦音樂也許不會成為今后音樂的主流,但它在整個人類音樂史上的地位已經(jīng)不容置疑地確立了,相信它會越來越深入地浸透到音樂創(chuàng)作和欣賞的領(lǐng)域中,并且將在一定程度上影響人們對音樂的理解和詮釋。用單片機制作的音樂發(fā)生器也會越來越多,這將必然成為一種趨勢。</
22、p><p> 1.3音樂發(fā)生器的擴展</p><p> 熟練的運用89C51單片機定時器產(chǎn)生固定頻率的方波信號,推動喇叭發(fā)出旋律,按下單鍵可以演奏預先設置的歌曲旋律,最重要的是自己還可以通過程序設計輸入自己喜歡的歌曲來演奏中,本設計采用簡易音階編碼直覺式輸入法方便設計音樂旋律,可以擴充其功能如下:</p><p> (1)可以顯示歌曲的名稱</p>
23、<p> ?。?)可以設置睡眠關(guān)機時間</p><p> ?。?)可以設置歌曲的播放模式,單曲循環(huán)還是順序播放</p><p> ?。?)可以存儲多首歌曲</p><p><b> 第2章 設計方案</b></p><p> 2.1 設計方案論證</p><p><b>
24、 2.1.1方案一</b></p><p> 利用AT89C51、74LS373鎖存器和27512外部擴展組成的音樂播放器</p><p><b> ?。?)硬件設計</b></p><p> 電路以AT89C51為主控制器,74LS373和27512進行外部程序存儲器的擴展,播放/暫停鍵為播放/暫停歌曲,下一曲鍵和上一曲鍵分別
25、為調(diào)整歌曲的下一曲和上一曲選擇鍵的按鈕。晶振采用12MHz,音樂信號由P3.0口輸出,經(jīng)喇叭發(fā)聲而播放歌曲如圖2-1所示框架圖。</p><p><b> ?。?)軟件設計</b></p><p> 程序中根據(jù)音選取的是C調(diào)三個8度內(nèi)的音符,共24個音階。每個音符對應頻率由定時器T0產(chǎn)生。為了程序調(diào)用方便,每個音符都對應一個編碼,占用一個字節(jié)。在程序中以查表的方式加
26、載計數(shù)初值。當值為00H時表示空拍,與節(jié)拍碼配合完成節(jié)拍發(fā)音。節(jié)拍碼也占一個字節(jié),每個音符的時間長度等于基本時間乘以節(jié)拍碼的值,由定時器產(chǎn)生。當節(jié)拍碼值為01H時,表示當前樂曲結(jié)束,為00H時,表示全部樂曲結(jié)束。為了編碼簡單,一般節(jié)拍碼高半字節(jié)表示整拍,低半字節(jié)表示分數(shù),只要基本延時設定恰當即可并且在按開始按鈕后,可以播放歌曲。在播放程序中設置三個變量,分別用于用于存放時、分、秒,每次定時中斷發(fā)生時,對基準時間計數(shù),當達到一秒時,把秒加
27、一,達到一分時,將分加一……同時調(diào)用數(shù)碼管顯示子程序,將時分秒分別拆分為個位、十位進行顯示。利用外部中斷1、2實現(xiàn)上一曲、下一曲以及暫停功能,設置一個計數(shù)變量,檢測到上一曲或下一曲按下時,分別對計數(shù)變量加一或減一,檢測到暫停被按下時,等待按鍵再一次按下后,繼續(xù)播放,方案中歌曲的循環(huán)模式為列表循環(huán)</p><p><b> 2.1.2 方案二</b></p><p>
28、<b> ?。?)硬件設計</b></p><p> 電路以AT89C51為主控制器,74LS373和27512進行外部程序存儲器的擴展,采用利用4X4組成的16個按鈕矩陣鍵盤來實現(xiàn)對播放的控制,其中包括下一曲、上一曲、暫停按鈕(分別為C、D、E鍵),當按下1~A其中的一個時,跳到相應的曲譜進行演奏,顯示電路采用六個共陰極數(shù)碼管進行顯示,晶振采用12MHz,音樂信號由P3.0口輸出,經(jīng)喇叭
29、發(fā)聲而播放歌曲,如圖2-2所示。</p><p><b> ?。?)軟件設計</b></p><p> 程序中音選取的是C調(diào)三個8度內(nèi)的音符,共24個音階。每個音符對應頻率由定時器T0產(chǎn)生。為了程序調(diào)用方便,演奏時時每個音符都對應一個編碼,占用一個字節(jié)。在程序中以查表的方式加載計數(shù)初值,為了編碼簡單,一般節(jié)拍高半字節(jié)表示整拍,低半字節(jié)表示分數(shù),只要基本延時設定恰當即
30、可,為了及時響應鍵盤操作,程序的編寫以鍵盤掃描為主線編寫(即主程序循環(huán)掃描按鍵,在按鍵模塊中調(diào)用其他功能模塊),按鍵每按下一次,按鍵掃描模塊計算出鍵值,并儲存鍵值,根據(jù)鍵值跳轉(zhuǎn)至響應的標號執(zhí)行程序,播放相應的歌曲,歌曲循環(huán)模式為單曲循環(huán),其他功能的實現(xiàn)與方案一類同</p><p><b> 2.1.2 方案三</b></p><p><b> ?。?)硬件
31、設計</b></p><p> 電路以AT89C51為主控制器,采用利用4X4組成的16個按鈕矩陣鍵盤來上實現(xiàn)對播放的控制,其中C、D、E分別為功能鍵上一曲、下一曲以及暫停。F鍵為開機畫面顯示,1~A號按鍵中每按一個鍵,跳到相應的曲譜進行演奏,顯示電路采用液晶顯示器LM016L進行顯示,晶振采用12MHz,音樂信號由P3.0口輸出,經(jīng)喇叭發(fā)聲而播放歌曲,如圖2-3所示。</p><
32、;p><b> ?。?)軟件設計</b></p><p> 程序中音選取的是C調(diào)一個8度內(nèi)的音符,共7個音階。根據(jù)十二平均律,(即將八度定義為1200音分,其中全因音符占200音分,半音占100音分,共十二個半音)每個音符對應頻率由定時器T0產(chǎn)生。為了程序調(diào)用方便,將十二個半音的定時器初值放于表中,演奏時無需計算定時器初值,在程序中以查表的方式加載計數(shù)初值,每個音符都對應一個編碼,占
33、用一個字節(jié)。由于人耳的分辨力有限,為了編程簡單,曲譜中的節(jié)拍碼用延時來代替,每個音符發(fā)音30MS。由于采用的是矩陣式鍵盤,為了及時響應按鍵,程序的編寫以鍵盤掃描為主線編寫(即主程序循環(huán)掃描按鍵,在按鍵模塊中調(diào)用其他功能模塊)。按鍵每按下一次,按鍵掃描模塊計算出鍵值,并儲存鍵值,跳轉(zhuǎn)至響應的標號執(zhí)行程序,并調(diào)用液晶顯示子程序,將鍵值在液晶顯示器制定位置顯示,如果檢測到F鍵被按下,調(diào)用液晶顯示模塊,顯英文字符歡迎,以及作者信息,本程序中,由
34、于音符的長度是固定的30MS,T1用于更新剩余時間。剩余時間的顯示同上。</p><p> 2.1.3 方案比較</p><p> 從以上三種方案,方案一采用的是獨立式按鍵,按鍵太少,不能實現(xiàn)歌曲的快速選擇,幾乎沒有拓展功能的可能,而方案二雖然采用的是矩陣式鍵盤,無論從擴展功能上將還是快速選擇都優(yōu)于方案一,但數(shù)碼管顯示不穩(wěn)定,編程以及困難,占用CPU時序太多,方案三顯然不存在方案一、方
35、案二的缺點,使用了液晶顯示屏,編程簡單,顯示穩(wěn)定,占用CPU時序少,并且可以實現(xiàn)許多方案一、方案二無法實現(xiàn)的功能,無論是矩陣式鍵盤,還是液晶顯示器,都有許多可擴展的功能,并且在播放音樂時簡單實用,在使用上及其功能的實現(xiàn)上都優(yōu)于前兩種方案。更重要的是液晶顯示器是當今電子設計的主流,通過這次設計,我能夠?qū)W習到許多東西。通過方案對比,最終選擇方案三,音樂發(fā)生器電路原理圖見附錄所示。</p><p><b>
36、 第3章 硬件設計</b></p><p> 3.1 電路組成及工作原理</p><p> 3.1.1 電路組成</p><p> 音樂發(fā)生器的電路設計方框圖如上圖方案三所示,電路原理圖見附錄1所示,主要由單片機控制系統(tǒng)、行列式鍵盤、液晶顯示屏、內(nèi)存外部擴充電路、復位電路等組成。</p><p> 單片機AT89C51是本
37、系統(tǒng)的核心,它主要負責控制各個部分協(xié)調(diào)工作。在其外圍接上:復位電路、數(shù)碼管、按鈕及揚聲器。元件為:晶振X1、電容、電阻、揚聲器、4*4行列式鍵盤、74LS373鎖存器、27512外部程序存儲器擴展、LM016L液晶顯示屏。硬件電路中用P1.0~P1.7控制按鍵,其中P1.0~P1.3掃描行,P1.4~P1.7掃描列,用,P2.0~P2.2作為LCD的RS,R/W,E的控制信號。用P0.0~P0.7作為LCD的D0~D7的控制信號。用P3
38、.7口控制蜂鳴器,電路為12MHZ晶振頻率工作,起振電路中C1,C2均為30pf。將P0口作為74LS373鎖存器的輸入以及27C512的數(shù)據(jù)輸入口,鎖存器輸出至27C512的低八位地址口,將P2口作為27C512高八位地址口,27C512的控制信號OE/VPP接至單片機的PSEN,實現(xiàn)片外ROM的讀寫控制。</p><p> 3.1.2 電路工作原理 </p><p> 本音樂發(fā)生器
39、是用單片機來設計制作完成,其功能的實現(xiàn)主要通過軟件編程來完成, AT89C51單片機片內(nèi)帶有4KB和外部程序存儲器擴展的256K的內(nèi)存,并且允許在系統(tǒng)內(nèi)改寫或用編程器編程。該音樂發(fā)生器的效率較高,其誤差主要由晶振自身的誤差所造成。存儲歌曲是采用的外部擴展,4*4行列式鍵盤來實現(xiàn)的,按鍵將單片機I/0 口的電平拉低,單片機檢測到I/O口電平為0時,判斷并存儲鍵值。并自動跳轉(zhuǎn)至相應曲號的標號處執(zhí)行代碼。顯示采用的是液晶顯示屏LM016L,顯
40、示穩(wěn)定清晰,并且能顯示多個信息,當片內(nèi)4K的程序存儲器存滿后,自動跳轉(zhuǎn)到片外256K程序存儲器繼續(xù)存儲</p><p> 3.2 AT89C51的簡介</p><p> 3.2.1 AT89C51功能概述</p><p> 自從1971年微型計算機問世以來,隨著大規(guī)模集成電路技術(shù)的進一步發(fā)展,導致微型計算機正向兩個主要方向發(fā)展:一是高速度、高性能、大容量的高檔
41、微型機及其系列化向大、中型計算機的挑戰(zhàn);另一個是穩(wěn)定可靠、小而廉、能適應各種控制領(lǐng)域需要的單片機。</p><p> MCS—51系列是Intel公司在1980年推出的高檔8位單片機,具有性能價格比高、品種多、兼容性強、開發(fā)用的仿真機較完善等優(yōu)點,所以在國際上和國內(nèi)的占有率相當高。它擁有8位微處理器和控制器,內(nèi)含一個一位布爾運算處理器,可直接對數(shù)據(jù)的位進行操作和運算,特別適用于邏輯控制。內(nèi)部含有4KB的程序RO
42、M并且在外部擴展了256K的存儲空間,2個16位的計數(shù)/定時器。本次采用的是AT89C51單片機,其電路如3-1所示,它的中斷功能比較強,有5個中斷源,即外部中斷2個,定時器中斷2個,串行中斷1個,有2個中斷優(yōu)先級。中斷控制電路主要包括用于中斷控制的四個寄存器:定時器控制寄存器TCON,串行口控制寄存器SCON,中斷允許控制寄存器IE,中斷優(yōu)先級控制寄存器IP等。內(nèi)部時鐘振蕩器,全雙工方式的串行接口(UART),兩極中斷優(yōu)先權(quán)的6個中斷
43、源/5個中斷矢量的中斷邏輯。哈佛結(jié)構(gòu)的存儲器組織,支持高達64K為單周期指令,支持六種尋址方式。最高時鐘振蕩頻率可達12MHZ,大部分指令執(zhí)行時間為1µs,乘、除指令為4µs。</p><p> 3.2.2 AT89C51的管腳圖</p><p> MCS-51系列單片機采用40引腳雙列直插式封裝(DIP),其引腳排列和邏輯符號如圖2-3所示,4個并行口共有32根引
44、腳,可分別作地址線、數(shù)據(jù)線和I/O線;2根電源線;2根時鐘振蕩電路引腳和4根控制線。</p><p> 3.2.3 AT89C51 單片機的引腳介紹</p><p> AT89C51單片機是高性能單片機,因為受引腳數(shù)目的限制,所以有許多引腳具有第二功能,各引腳功能說明如下:</p><p> (1)輸入/輸出口線</p><p> A
45、. 口8位雙向口線</p><p> B. 口8位雙向口線</p><p> C. 口8位雙向口線</p><p> D. 口8位雙向口線</p><p> (2)ALE地址鎖存控制信號</p><p> 在系統(tǒng)擴展時,ALE用于控制把口輸出的底8位地址送入鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)
46、的分時傳送。此外由于ALE是以六分之一晶振頻率的固定頻率輸出的正脈沖,因此可作為外部時鐘或外部定時脈沖使用。</p><p> ?。?)外部程序存儲器讀選通信號</p><p> 在讀外部ROM時有效(低電平),以實現(xiàn)外部ROM單元的讀操作。</p><p> (4)訪問程序存儲器控制信號</p><p> 當信號為低電平時,對ROM的
47、讀操作限定在外部程序存儲器;而當信號為高電平時,對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延續(xù)至外部程序存儲器。</p><p> ?。?)RST 復位信號</p><p> 當輸入的復位信號延續(xù)2個機器周期以上高電平時即為有效,用以完成單片機的復位操作。</p><p> ?。?)XTAL1和XTAL2外接晶體引線端</p><p>
48、 當使用芯片內(nèi)部時鐘時,這兩個引線端用于外接石英晶體和微調(diào)電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。</p><p> ?。?)電源、地線GND</p><p> VCC、GND。VCC一般接+5V電源,GND接地。</p><p><b> 3.3 晶振電路</b></p><p> MCS-51片內(nèi)有一個
49、高增益的反相放大器,其輸入端為引腳XTAL1和輸出端為引腳為XTAL2,用于外接石英晶體振蕩器和微調(diào)電容,構(gòu)成穩(wěn)定的的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部的時鐘電路,如圖3-2所示。電容C1和C2對頻率有微調(diào)作用,電容一般取20pF左右。晶體振蕩頻率范圍是1.2MHz~12MHz,一般情況下,選用振蕩頻率為12MHz的石英晶體。振蕩脈沖信號經(jīng)過內(nèi)部時鐘發(fā)生器進行二分頻之后,才成為單片機的時鐘信號。</p><p>
50、;<b> 圖3-2 晶振電路</b></p><p><b> 3.4 揚聲器電路</b></p><p> 本設計是采用蜂鳴器用來發(fā)出聲音,由于在實際應用中,單片機輸出的標準高電平為5伏,輸出功率很有限,所以本設計中,理論聯(lián)系實際,用一個PNP型三極管驅(qū)動蜂鳴器,由于三極管具有放大作用,在實際應用中,輸出功率將會提高很多。 <
51、/p><p><b> 3.5 顯示電路</b></p><p> 本設計顯示是采用液晶顯示器LM016L進行顯示, LM016L的功能、顯示原理以及使用方法將會在后文中介紹,P0口是一個地址/數(shù)據(jù)復用的雙向I/O口,當使用P0口訪問外部存儲器和數(shù)據(jù)存儲器時,P0口內(nèi)部已有上拉電阻,當P0口作程序檢驗,輸出指令字節(jié)時,必須外接上拉電阻。LM016L的控制信號RS、RW
52、、E分別接到單片機的P2.0、P2.1、P2.2。本設計中主要用LM016L顯示開機畫面、作者信息、播放剩余時間、歌曲號/鍵號。電路如圖3-4所示。</p><p> 3.6 更換歌曲電路</p><p> 采用4*4行列式鍵盤來實現(xiàn)選擇歌曲播放,以及對歌曲號做基本的操作,即上一曲、下一曲以及暫停/播放。在本設計中1-A號按鍵用于選擇歌曲的曲號播放,C、D、E分別為下一曲、上一曲、播放
53、/暫停按鈕,此外F鍵用于開機畫面顯示,0號按鍵在本設計中未使用,留作擴展功能使用。用P1.0~P1.7控制按鍵,其中P1.0~P1.3掃描行,P1.4~P1.7掃描列。電路如圖3-5所示。</p><p><b> 3.7 復位電路</b></p><p> AT89C51的復位是由外部的復位電路來實現(xiàn)的。復位引腳RST通過一個施密特觸發(fā)器用來抑制噪聲,施密特觸發(fā)
54、器的輸出電平由復位電路采樣一次,然后才能得到內(nèi)部復位操作所需要的信號。</p><p> 本設計是采用上電自動復位,上電自動復位是通過外部復位電路的電容充電來實現(xiàn)的。只要Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復位。時鐘頻率用12MHZ時C取20PF。</p><p> 3.8 程序存儲器外部擴展電路</p><p> 本設計是采用了一個74LS373
55、鎖存器和一個27512程序存儲器外部擴展組成,其主要的功能就是為了在外部擴展單片機內(nèi)存,使它有足夠的空間存放系統(tǒng)中的程序,而達到使它實現(xiàn)所要得到的功能和應用的領(lǐng)域,其圖如圖3-7所示</p><p> 第4章 液晶顯示原理及LM016L簡介</p><p> 4.1 液晶顯示原理及分類</p><p> 4.1.1液晶顯示原理</p><
56、;p> 液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應用在便攜式電腦、數(shù)字攝像機、PDA移動通信工具等眾多領(lǐng)域。</p><p> 4.1.2液晶顯示器的分類</p><p> 液晶顯示的分類方法有很多種,通常可按其顯示方式分為段
57、式、字符式、點陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動方式來分,可以分為靜態(tài)驅(qū)動(Static)、單純矩陣驅(qū)動(Simple Matrix)和主動矩陣驅(qū)動(Active Matrix)三種。</p><p> 4.1.3液晶顯示器各種圖形的顯示原理:</p><p><b> (1) 線段的顯示</b></p><
58、p> 點陣圖形式液晶由M×N個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節(jié)的8位,即每行由16字節(jié),共16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區(qū)1024字節(jié)相對應,每一字節(jié)的內(nèi)容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區(qū)的000H——00FH的16字節(jié)的內(nèi)容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點;
59、當(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。</p><p><b> (2) 字符的顯示</b></p><p> 用LCD顯示一個字符時比較復雜,因為
60、一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。</p><p
61、><b> (3) 漢字的顯示</b></p><p> 漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節(jié),光標位置加1,送第二個字節(jié),換行按列對齊,送第
62、三個字節(jié)……直到32B顯示完就可以LCD上得到一個完整漢字。</p><p> 4.2 LCD1602簡介</p><p> LM016l 與LCD1602原理是一樣的,只不過PROTEUS中016沒顯示調(diào)</p><p> 1602LCD主要技術(shù)參數(shù):</p><p> 顯示容量:16×2個字符</p>&
63、lt;p> 芯片工作電壓:4.5—5.5V</p><p> 工作電流:2.0mA(5.0V)</p><p> 模塊最佳工作電壓:5.0V</p><p> 字符尺寸:2.95×4.35(W×H)mm</p><p> (1) 引腳功能說明:</p><p> 1602LCD采用
64、標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表4-1所示:</p><p> 表4-1:引腳接口說明表</p><p> 第1腳:VSS為地電源。</p><p> 第2腳:VDD接5V正電源。</p><p> 第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”
65、,使用時可以通過一個10K的電位器調(diào)整對比度。</p><p> 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。</p><p> 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。</p>
66、;<p> 第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p> 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p><p> 第15腳:背光源正極。</p><p> 第16腳:背光源負極。</p><p> (2) 1602LCD的指令說明及時序</p><p
67、> 1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)</p><p> 指令1:清顯示,指令碼01H,光標復位到地址00H位置。</p><p> 指令2:光標復位,光標返回到地址00H。</p><p> 指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字
68、是否左移或者右移。高電平表示有效,低電平則無效。</p><p> 指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。</p><p> 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。</p><p
69、> 指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。</p><p> 指令7:字符發(fā)生器RAM地址設置。</p><p> 指令8:DDRAM地址設置。</p><p> 指令9:讀忙信號和光標地址 BF:為忙標志位,高電
70、平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。</p><p><b> 指令10:寫數(shù)據(jù)。</b></p><p><b> 指令11:讀數(shù)據(jù)。</b></p><p><b> 第5章 穩(wěn)壓電源</b></p><p> 5.1 穩(wěn)壓電源的功能<
71、;/p><p> 1. 穩(wěn)定電壓:當電網(wǎng)電壓出現(xiàn)瞬間波動時,穩(wěn)壓電源會以10-30ms的響應速度對電壓幅值進行補償,使其穩(wěn)定在±2%以內(nèi)。 </p><p> 2. 多功能綜合保護:穩(wěn)壓器除了最基本的穩(wěn)定電壓功能以外,還應具有過壓保護(超過輸出電壓的+10%)、欠壓保護(低于輸出電壓的-10%)、缺相保護、短路過載保護最基本的保護功能。 </p><p>
72、 3. 尖脈沖抑制(可選):電網(wǎng)有時會出現(xiàn)幅值很高,脈寬很窄的尖脈沖,它會擊穿耐壓較低的電子元件。穩(wěn)壓電源的抗浪涌組件能夠?qū)@樣的尖脈沖起到很好的抑制作用。 </p><p> 4. 隔離傳導性EMI電磁干擾(可選):數(shù)控設備多采用AC/DC整流+PFC高頻功率因數(shù)校正,自身有一定的干擾性同時對干擾源也有嚴格要求。穩(wěn)壓電源的濾波組件能夠有效隔離電網(wǎng)對設備的干擾同時也能有效隔離設備對電網(wǎng)的干擾。 </p&
73、gt;<p> 5. 防雷(可選):應具有的防雷擊能力。</p><p><b> 5.2直流穩(wěn)壓電源</b></p><p> 又稱直流穩(wěn)壓器。它的供電電壓大都是交流電壓,當交流供電電壓的電壓或輸出負載電阻變化時,穩(wěn)壓器的直接輸出電壓都能保持穩(wěn)定。穩(wěn)壓器的參數(shù)有電壓穩(wěn)定度、紋波系數(shù)和響應速度等。前者表示輸入電壓的變化對輸出電壓的影響。紋波系數(shù)表示
74、在額定工作情況下,輸出電壓中交流分量的大??;后者表示輸入電壓或負載急劇變化時,電壓回到正常值所需時間。直流穩(wěn)壓電源分連續(xù)導電式與開關(guān)式兩類。前者由工頻變壓器把單相或三相交流電壓變到適當值,然后經(jīng)整流、濾波,獲得不穩(wěn)定的直流電源,再經(jīng)穩(wěn)壓電路得到穩(wěn)定電壓(或電流)。這種電源線路簡單、紋波小、相互干擾小,但體積大、耗材多,效率低(常低于40%~60%)。后者以改變調(diào)整元件(或開關(guān))的通斷時間比來調(diào)節(jié)輸出電壓,從而達到穩(wěn)壓。這類電源功耗小,效
75、率可達85%左右,但缺點是紋波大、相互干擾大。所以,80年代以來發(fā)展迅速。從工作方式上可分為: </p><p> ①可控整流型。用改變晶閘管的導通時間來調(diào)整輸出電壓。 </p><p> ②斬波型。輸入是不穩(wěn)定的直流電壓,以改變開關(guān)電路的通斷比得到單向脈動直流,再經(jīng)濾波后得到穩(wěn)定直流電壓。 </p><p> ?、圩儞Q器型。不穩(wěn)定直流電壓先經(jīng)逆變器變換成高頻交
76、流電,再經(jīng)變壓、整流、濾波后,從所得新的直流輸出電壓取樣,反饋控制逆變器工作頻率,達到穩(wěn)定輸出直流電壓的目的。</p><p> 5.3 220v交流電轉(zhuǎn)5v直流電的電源設計</p><p> 平時對于5v 的直流電源需求的情況比較多,在單片機,以及一些電路中應用的較多,因此,為了更方便快捷的由220v 的交流電得到這樣的電源,故設計了一個電路。</p><p>
77、; 5.3.1電路工作原理 </p><p> 從圖上看,變壓器輸入端經(jīng)過一個保險連接電源插頭,如果變壓器或后面的電路發(fā)生短路,保險內(nèi)的金屬細絲就會因大電流引發(fā)的高溫溶化后斷開。 </p><p> 變壓器后面由4個二極管組成一個橋式整流電路,整流后就得到一個電壓波動很大的直流電源,所以在這里接一個330uF/25V的電解電容。 </p><p>
78、 變壓器輸出端的9V電壓經(jīng)橋式整流并電容濾波,在電容C1兩端大約會有11V多一點的電壓,假如從電容兩端直接接一個負載,當負載變化或交流電源有少許波動都會使C1兩端的電壓發(fā)生較大幅度的變化,因此要得到一個比較穩(wěn)定的電壓,在這里接一個三端穩(wěn)壓器的元件。 </p><p> 三端穩(wěn)壓器是一種集成電路元件,內(nèi)部由一些三極管和電阻等構(gòu)成,在分析電路時可簡單的認為這是一個能自動調(diào)節(jié)電阻的元件,當負載電流大時三端穩(wěn)壓器內(nèi)的
79、電阻自動變小,而當負載電流變小時三端穩(wěn)壓器內(nèi)的電阻又會自動變大,這樣就能保持穩(wěn)壓器的輸出電壓保持基本不變。 </p><p> 因為我們要輸出5V的電壓,所以選用7805,7805前面的字母可能會因生產(chǎn)廠家不同而不同。LM7805最大可以輸出1A的電流,內(nèi)部有限流式短路保護,短時間內(nèi),例如幾秒鐘的時間,輸出端對地(2腳)短路并不會使7805燒壞,當然如果時間很長就不好說了,這跟散熱條件有很大的關(guān)系。 </
80、p><p> 三端穩(wěn)壓器后面接一個105的電容,這個電容有濾波和阻尼作用。 </p><p> 最后在C2兩端接一個輸出電源的插針,可用于與其它用電器連接,比如MP3等。 </p><p> 雖然7805最大電流是一安培,但實際使用一般不要超過500mA,否則會發(fā)熱很大,容易燒壞。一般負載電有200mA以上時需要散熱片。</p><p>
81、 5.3.2電路原理圖</p><p> 第6章 軟件系統(tǒng)設計</p><p> 6.1 軟件流程設計</p><p> 本設計采用了自定下下的設計流程,即在編制一個程序時,先考慮程序的總體結(jié)構(gòu)而忽略一些細節(jié)問題,然后逐步的一步一步的細化,直至用程序語言完全描述每一個細節(jié)為止。主要程序流程有:主程序、判斷有無按鍵子程序、鍵盤掃描子程序、顯示鍵號/歌曲號子程序、
82、開機畫面子程序、按鍵值播放歌曲子程序、播放時間初始化子程序、液晶顯示屏寫指令子程序、液晶顯示屏寫數(shù)據(jù)、字符串顯示子程序播放時間顯示子程序、播放歌曲子程序、播放時間更新子程序。程序中使用了兩個定時中斷,定時中斷0用于產(chǎn)生整個音程的頻率,以便驅(qū)動揚聲器。定時器T1用于刷新播放時間,當發(fā)生一秒定時中斷時,將秒加一,達到60秒時,將分加一,達到60分時,將時加一。程序設置了溢出處理,即當時間為23:59:59時,自動將時間更新為00:00:00
83、。程序的總體流程是當P1由按鍵按下時,讀鍵盤,并儲存鍵值,若為F鍵則通過查表的方式,調(diào)用字符串顯示子程序顯示開機畫面,同時用查表的方式求出鍵號的ASCII值,并調(diào)用顯示鍵號/曲號自稱序,將鍵號顯示出來。若為1-A,程序根據(jù)儲存的鍵號,將相應歌曲的表頭地址賦給DPTR,取出曲譜,判斷是否為休止符,通過查表的方式將表中的定</p><p><b> 6.2性能分析</b></p>
84、<p> 在本設計中,一共設置了9首MID樂曲,分別是第一首《精忠報國》、第二首《月亮代表我的心》、第三首《看我七十二變》、第四首《同一首歌》、第五首《大?!?、第六首《兩只蝴蝶》、第七首<<世上只有媽媽好>>、第八首歌《彩云追月》、第九首<<十年>>、第十首<<你的愛給了誰>>。在本設計中由于對音樂知識欠缺,曲譜為網(wǎng)絡下載。采用LCD顯示,穩(wěn)定清晰,可
85、靠性高,為了及時響應按鍵,在每段子程序里面都調(diào)用了按鍵判斷子程序,并且主程序是以按鍵掃描為主線編寫的,系統(tǒng)的靈敏度高。除此之外,在按鍵掃描子程序中還帶有延時再判斷,軟件去抖動功能,大大提高了系統(tǒng)的抗干擾性。采用定時中斷更新播放時間,增強了系統(tǒng)的準確性,鑒于于作者水平有限,播放歌曲程序為了簡單實用,節(jié)拍碼被設置為固定的30ms,演奏也只是在一個八度里面完成,系統(tǒng)適應性有待提高。</p><p><b>
86、 結(jié)論</b></p><p> 本設計報告主要介紹了用單片機實現(xiàn)的音樂發(fā)生器的設計方法。系統(tǒng)介紹了該電路的硬件構(gòu)成和軟件工作過程,系統(tǒng)以AT89C51為核心,主要采用中斷控制系統(tǒng),結(jié)合所學的單片機的知識,實現(xiàn)系統(tǒng)的功能要求。設計中很好的使軟、硬件相結(jié)合,基本上達到了設計的要求。通過這次畢業(yè)設計,使我對單片機及其附屬電路有了一定的了解,對課本上的知識有了近一步的掌握,也深刻明白了自己的不足。<
87、/p><p> 隨著畢業(yè)日子的到來,畢業(yè)設計也接近了尾聲。經(jīng)過幾個月的奮戰(zhàn)我的畢業(yè)設計終于完成了。在沒有做畢業(yè)設計以前覺得畢業(yè)設計只是對這幾年來所學知識的單純總結(jié),但是通過這次做畢業(yè)設計發(fā)現(xiàn)自己的看法有點太片面。畢業(yè)設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。通過這短短幾個月的制作,我感覺到自己從課本上學到的理論知識和實踐仍有很大的差距。很多元器件根本不知道有什么功效,在仿真儀器中是什么代碼。
88、有的知識,自己感覺已經(jīng)掌握得差不多了,但是實際操作起來就有問題出現(xiàn)了。我遇到了不少問題,花費了很多的時間。這讓我重新反思我們的學習,深刻領(lǐng)悟到我們這個專業(yè)動手實踐的重要性。理論不經(jīng)過實踐考驗,是沒法實施的,就像我們編的程序,很多方面考慮的都不夠,幾乎沒有涉及到實際應用時的防范方法措施。知識是永無止境的,在今后的工作中,我會理論聯(lián)系實際,不停的去學習,不停的去感悟,以彌補我先天的不足以及后天的差距</p><p>
89、 在畢業(yè)設計過程中,我真正體會到了實踐的重要性,很多自己認為萬無一失的軟件代碼或者硬件電路,在調(diào)試的過程中都不會是風平浪凈的,此次畢業(yè)設計經(jīng)歷了從概念到成品的漫長過程,在此過程中我學習了許多以前沒有掌握而又是電子類畢業(yè)生必須掌握的知識,比如proteus,從設計的第一天起,我就被proteus的強大功能所折服,學會了proteus,就相當于擁有一個電子設計開發(fā)平臺。兩個多月來,我有過驚喜、失落、樂觀、自信、自卑,這次畢業(yè)設計也磨練了我
90、的心志,堅定了我的信念,讓我學會了平淡的看待得失、冷靜的分析問題,真誠的對待他人,自信的面對生活。</p><p><b> 致 謝</b></p><p> 本設計是在xx教授的精心指導下完成的,從選題、方案論證、繪制電路原理圖、軟件編寫、調(diào)試仿真,直到起稿、排版,每一個環(huán)節(jié),我都遇到了我無法獨立解決的問題,在此期間,xx愿犧牲自己的業(yè)余時間,也要幫我解決
91、問題,他豐富的專業(yè)知識和和藹的態(tài)度讓我敬畏。</p><p> 在此,衷心的感謝xx教授對我畢業(yè)論文的指導和修改!同時,向所有關(guān)心和幫助過我的老師、同學和朋友表示由衷的謝意!衷心感謝在百忙之中評閱論文和參加答辯的各位專家、教授!</p><p><b> 參考文獻</b></p><p> [1] 陳大欽主編.模擬電子技術(shù)基礎(第二版)[
92、M]. 高等教育出版社 </p><p> [2] 閻石主編.數(shù)字電子技術(shù)基礎(第五版)[M]. 高等教育出版社 </p><p> [3] 譚浩強主編 MCS-51單片機應用教程[M]. 清華大學出版社 </p><p> [4] 周復三主編 音樂基礎理論教程[M]. 山東大學出版社</p><p> [5] 李軍主編 單片機高級實
93、例開發(fā)指南[M]. 北京航空航天大學出版社 </p><p> [6] 歐偉明主編 單片機原理與應用系統(tǒng)設計[M]. 電子工業(yè)出版社 </p><p> [7] 江世明主編 基于proteus的單片機應用技術(shù)[M]. 電子工業(yè)出版社 </p><p><b> 附 錄</b></p><p> 附錄1:音樂發(fā)生器
94、電路原理圖</p><p> 附錄2:系統(tǒng)源代碼 </p><p> RS BIT P2.0 ;定義液晶顯示端口標號</p><p> RW BIT P2.1</p><p> E BIT P2.2</p><p> ;********************************
95、************</p><p> L50MS EQU 60H</p><p> L1MS EQU 61H</p><p> L250MS EQU 62H</p><p> SEC EQU 65H</p><p> MIN EQU 64H</p&g
96、t;<p> HOU EQU 63H</p><p> ;*******************************************</p><p> org 0000h</p><p> ljmp main</p><p> ORG 000BH</p><p>&
97、lt;b> LJMP TT0</b></p><p> ORG 001BH</p><p> LJMP T1INT</p><p> org 1000h</p><p><b> main: </b></p><p> ;-------------------
98、----;液晶初始化</p><p> MOV SP,#70H </p><p> MOV P0,#01H ;清屏</p><p> CALL ENABLE</p><p> MOV P0,#38H ;8位,2行顯示</p><p> lCALL ENABLE</p&
99、gt;<p> MOV P0,#0FH ;屏顯on,光標on,閃爍on</p><p> lCALL ENABLE</p><p> MOV P0,#06H ;計數(shù)地址加1,顯示幕on</p><p> lCALL ENABLE</p><p> ;-----------------------
100、--------內(nèi)存初始化</p><p> lcall initil </p><p> ;-------------------------------</p><p> key1: lcall key</p><p> lcall modd </p><p> ljmp
101、 key1</p><p> ;---------------------鍵盤掃描</p><p> key: nop</p><p><b> nop</b></p><p><b> lcall ks</b></p><p> jnz k1
102、 ;有按鍵轉(zhuǎn)到K1</p><p> lcall kaiji</p><p> lcall SOP</p><p> xn: ljmp key</p><p> k1: lcall modd</p><p> lcall modd</p><p><b>
103、; lcall ks</b></p><p><b> jnz k2</b></p><p><b> ljmp key</b></p><p> k2: mov R2,#0feh ;讀鍵盤</p><p> mov R4,#00h</p>&
104、lt;p> k3: mov A,R2</p><p><b> mov P1,A</b></p><p><b> mov A,P1</b></p><p> JB ACC.4,L1 ;為1跳轉(zhuǎn),第一行無按鍵</p><p> mov a,#00h</p
105、><p><b> ljmp lk</b></p><p> L1: jb acc.5,L2</p><p> mov a,#04h</p><p><b> ljmp lk</b></p><p> L2: jb acc.6,L3</p&g
106、t;<p> mov a,#08h</p><p><b> ljmp lk</b></p><p> L3: jb acc.7,next1</p><p> mov a,#0ch</p><p> ;-----------------------------------------
107、--------------</p><p> lk: add a,R4</p><p><b> push acc</b></p><p> k4: lcall delay1 ;若同時有其他按鍵,則等待</p><p><b> lcall ks</b></p
108、><p><b> jnz k4</b></p><p> ;--------------------------------------------------------</p><p> mov r3,#07h </p><p><b> clr a</b></p>
109、;<p> mov r0,#30h</p><p> mov r1,#31h</p><p> mm1: mov a,@r1</p><p> mov @r0,a</p><p><b> inc r0</b></p><p><b> inc
110、r1</b></p><p> djnz r3,mm1</p><p><b> pop acc</b></p><p> mov @r0,a </p><p><b> RET</b></p><p> ;--------------------
111、----------------------------------</p><p> next1: inc R4 ;------列掃描</p><p><b> mov a,R2</b></p><p> JNB acc.3,n2</p><p><b> ljmp n1</b&
112、gt;</p><p> n2: ljmp key</p><p> n1: rl a</p><p><b> mov R2,a</b></p><p><b> ljmp k3</b></p><p> ;----------------
113、------------------------------</p><p> ks: mov a,#0f0h ;判斷P1口</p><p><b> mov P1,a</b></p><p><b> nop</b></p><p><b> nop</b
114、></p><p><b> mov a,P1</b></p><p><b> cpl a</b></p><p> anl a,#0f0h</p><p><b> RET</b></p><p> ;-------------
115、-------------------------------------</p><p><b> DELAY1:</b></p><p><b> SETB RS0</b></p><p> dl: mov R5,#0ah</p><p> dl2: mov R6
116、,#63</p><p> dl3: nop </p><p><b> nop</b></p><p> djnz R6,dl3</p><p> djnz R5,dl2 </p><p> CLR RS0 </p><p><b&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計—基于單片機的音樂播放器
- 畢業(yè)設計-- 基于單片機的音樂播放器設計
- 畢業(yè)設計---基于單片機的音樂播放器.doc
- 畢業(yè)設計(論文)-單片機音樂播放器設計
- 基于-單片機控制的音樂播放器的畢業(yè)設計
- 畢業(yè)設計---基于單片機的自動音樂播放器的設計
- 基于51單片機的音樂播放器設計
- 單片機課程設計--基于單片機的音樂播放器
- 基于單片機的音樂播放器設計畢業(yè)論文
- 基于單片機音樂播放器設計[文獻綜述]
- 基于單片機音樂播放器課程設計
- 基于單片機的自動音樂播放器的設計
- 基于單片機音樂播放器設計軟件設計
- 基于單片機的音樂播放器設計[開題報告]
- 課程設計--基于單片機的簡易音樂播放器
- 基于單片機音樂播放器設計-課程設計論文
- 開題報告---基于單片機的自動音樂播放器設計
- 單片機音樂播放器課程設計報告
- 開題報告---基于單片機的自動音樂播放器設計
- 單片機音樂播放器課程設計報告
評論
0/150
提交評論