版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEPAGE25前言樂曲演奏廣泛用于自動答錄裝置、手機鈴聲、集團電話、及智能儀器儀表設(shè)備。實現(xiàn)方法有許多種,在眾多的實現(xiàn)方法中,以純硬件完成樂曲演奏,隨著FPGA集成度的提高,價格下降,EDA設(shè)計工具更新?lián)Q代,功能日益普及與流行,使這種方案的應用越來越多。如今的數(shù)字邏輯設(shè)計者面臨日益縮短的上市時間的壓力,不得不進行上萬門的設(shè)計,同時設(shè)計者不允許以犧牲硅的效率達到保持結(jié)構(gòu)的獨特性。使用現(xiàn)今的EDA軟件工具來應付這些問題,并不是一件簡單的事情。FPGA預裝了很多已構(gòu)造好的參數(shù)化庫單元LPM器件。通過EDA軟件工具,設(shè)計者可以設(shè)計出結(jié)構(gòu)獨立而且硅片的使用效率非常高的產(chǎn)品。本文介紹在EDA開發(fā)平臺上利用單片機及匯編語言設(shè)計音樂硬件演奏電路,并定制單片機存儲音樂數(shù)據(jù),以十首樂曲為例,將音樂數(shù)據(jù)存儲到單片機,就達到了以純硬件的手段來實現(xiàn)樂曲的演奏效果。只要修改單片機所存儲的音樂數(shù)據(jù),將其換成其他樂曲的音樂數(shù)據(jù),再重新連接到程序中就可以實現(xiàn)其它樂曲的演奏。
目錄摘要…………………4概述……………5音樂盒的發(fā)音原理……………62.1播放音樂的原理……………62.2音符頻率的產(chǎn)生……………62.3節(jié)拍頻率的產(chǎn)生……………8硬件電路設(shè)計…………………93.1硬件電路……………………93.2整體硬件電路………………103.3原理說明…………………112.4鍵盤按鍵…………………11軟件設(shè)計………124.1程序設(shè)計流程………………124.2設(shè)計源程序代碼……………12仿真及調(diào)試……………………135.1調(diào)試………135.2仿真………135.3程序調(diào)試中出現(xiàn)的問題及解決的辦法………15設(shè)計小結(jié)及建議………………17致謝……………18參考文獻………19附錄一元器件清單…………20附錄二部分源程序代碼……21
基于AT89C51單片機的音樂盒的設(shè)計【摘要】:隨著人類社會的發(fā)展,人們對視覺、聽覺方面的享受提出了越來越高的要求。小小的音樂盒可以給人們帶來美好的回憶,提高人們的精神文化享受。傳統(tǒng)的音樂盒多是機械型的,體積笨重,發(fā)音單調(diào),不能實現(xiàn)批量生產(chǎn)。本文設(shè)計的音樂盒是以單片機為核心元件的電子式音樂盒,體積小,重量輕,能演奏和旋音樂,功能多,使用方便,可以批量生產(chǎn),具有一定的商業(yè)價值?!娟P(guān)鍵詞】:音樂盒;單片機;LCD
概述傳統(tǒng)的音樂盒多是機械音樂盒,其工作原理是通過齒輪帶動一個帶有鐵釘?shù)蔫F桶轉(zhuǎn)動,鐵桶上的鐵釘撞擊鐵片制成的琴鍵,從而發(fā)出聲音。但是,機械式的音樂盒體積比較大,比較笨重,且發(fā)音單調(diào)。水、灰塵等外在因素,容易使內(nèi)部金屬發(fā)音條變形,從而造成發(fā)音跑調(diào)。另外,機械音樂盒放音時為了讓音色穩(wěn)定,必須放平不能動搖,而且價格昂貴,不能實現(xiàn)大批量生產(chǎn)。本文設(shè)計的音樂盒,是基于單片機設(shè)計制作的電子式音樂盒。與傳統(tǒng)的機械式音樂盒相比更小巧,音質(zhì)更優(yōu)美且能演奏和弦音樂。電子式音樂盒動力來源是電池,制作工藝簡單,可進行批量生產(chǎn),所以價格便宜。基于單片機制作的電子式音樂盒,控制功能強大,可根據(jù)需要選歌,使用方便。所放歌曲的節(jié)奏可以根據(jù)需要進行設(shè)置,根據(jù)存儲容量的大小,可以盡可能多的存儲歌曲。另外,可以設(shè)計彩燈外觀效果,增設(shè)放歌時間、序號顯示燈功能,使音樂盒的功能更加豐富,如圖1-1所示。單片機單片機音樂播放時間顯示播放音樂序號音樂播放揚聲器時鐘、復位電路選歌按鍵圖1-1單片機音樂盒功能框圖第2章音樂盒的發(fā)音原理2.1播放音樂的原理發(fā)音原理:播放一段音樂需要的是兩個元素,一個是音調(diào),另一個是音符。首先要了解對應的音調(diào),音調(diào)主要由聲音的頻率決定,同時也與聲音強度有關(guān)。對一定強度的純音,音調(diào)隨頻率的升降而升降;對一定頻率的純音、低頻純音的音調(diào)隨聲強增加而下降,高頻純音的音調(diào)卻隨強度增加而上升。另外,音符的頻率有所不同。基于上面的內(nèi)容,這樣就對發(fā)音的原理有了一些初步的了解。音符的發(fā)音主要靠不同的音頻脈沖。利用單片機的內(nèi)部定時器/計數(shù)器0,使其工作在模式1,定時中斷,然后控制P3.7引腳的輸出音樂。只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時間,利用定時器計時這個半周期時間,每當計時到后就將輸出脈沖的I/O反相,然后重復計時此半周期時間再對I/O反相,就可在I/O腳上得到此頻率的脈沖。2.2音符頻率的產(chǎn)生音符及定時器初始值:例如:中音1(do)的音頻=523HZ,周期T=1/523s=1912定時器/計數(shù)器0的定時時間為:T/2=1912/2=956定時器956的計數(shù)值=定時時間/機器周期=956/1=956(時鐘頻率=12MHZ)裝入T0計數(shù)器初值為65536-956=64580將64580裝入T0寄存器中,啟動T0工作后,每計數(shù)956次時將產(chǎn)生溢出中斷,進入中斷服務時,每次對P3.0引腳的輸出值進行取反,就可得到中音DO(523HZ)的音符音頻。將51單片機內(nèi)部定時器工作在計數(shù)器模式1下,改變計數(shù)初值TH0,TL0以產(chǎn)生不同的頻率。下表2-1是C調(diào)各音符頻率與計數(shù)初值T的對照表:表2-1C調(diào)各音符頻率與計數(shù)初值T的對照表音符頻率(Hz)/初值()音符頻率(Hz)/初值()低1DO262/63627中1DO523/64580高1DO1042/65056低2RE294/63835中2RE589/64687高2RE1245/65134低3M330/64021中3M661/64780高3M1318/65157低4FA350/64107中4FA700/64822高4FA1397/65178低5SO393/64264中5SO786/64900高5SO1568/65217低6LA441/64402中6LA882/64969高6LA1760/65252低7SI495/64526中7SI990/65031高7SI1967/65282音符、音符編碼及定時器初始值:為了產(chǎn)生音符,必須求出音符低音5—高音5的計數(shù)初值。例如C調(diào)的低1DO的THTL=65536-50000/262=63627,中音DO的THTL=65536-500000/523=64580,高音DO的THTL=65536-500000/1042=65056。為了方便寫譜,對其進行簡單的編碼,在編程時,根據(jù)音符編碼查找對應的計數(shù)初值。比如說音樂是C調(diào)的,那么出現(xiàn)低音的5SO,直接將代碼寫為1;出現(xiàn)低音6LA,直接寫一個2的代碼;出現(xiàn)低音7SI,直接寫一個3代碼。表2-2音符編碼表音符音符編碼音符音符編碼不發(fā)音0低5SO1低6LA2低7SI3中1DO4中2RE5中3M6中4FA7中5SO8中6LA9中7SIA高1DOB高2REC高3MD高4FAE高5SOF高6LAG2.3節(jié)拍頻率的產(chǎn)生節(jié)拍的產(chǎn)生與編碼:音樂中的節(jié)拍用延時時間產(chǎn)生。例如,1拍=0.4s,1/4拍=0.1s,以此類推。假設(shè)1/4拍執(zhí)行一次延時程序,則1/2拍就執(zhí)行兩次延時程序,所以只要求出1/4拍的延時時間,其余節(jié)拍就是它的倍數(shù)。為了方便,將節(jié)拍數(shù)也進行了編碼,并且計算了樂譜節(jié)拍編程時的延時時間,如表2-3和表2-4所示。表2-3節(jié)拍數(shù)編碼表按1/4拍為一個延時時間的節(jié)拍編碼與節(jié)拍對應的表按1/8拍為一個延時時間的節(jié)拍編碼與節(jié)拍對應的表節(jié)拍編碼節(jié)拍節(jié)拍編碼節(jié)拍節(jié)拍編碼節(jié)拍節(jié)拍編碼節(jié)拍11/466/411/866/822/488/422/888/833/4A10/433/8A10/844/4C12/444/8C12/855/4F15/455/8表2-4樂譜節(jié)拍編程時的時間延時表樂譜節(jié)拍1/4拍的延時時間樂譜節(jié)拍1/8拍的延時時間4/4125ms4/462ms3/4187ms3/494ms2/4250ms2/4125ms音符編碼和節(jié)拍編碼完成后,在編程時,每個音符占一個字節(jié),高四位是音符編碼,低四位是節(jié)拍編碼。第3章硬件電路設(shè)計3.1硬件電路本設(shè)計中用到了AT89C51單片機,4*4鍵盤,蜂鳴器,16*2LCD等硬件電路常用元器件。3.1.1時鐘復位電路時鐘電路由單片機XTAL1、XTAL2引腳外接晶振(12MHz)及起振電容C1、C2(均為30pf)組成。如圖3-1所示:圖3-1時鐘復位電路3.1.2按鍵輸入電路按鍵輸入電路由4*4矩陣鍵盤組成,P1口作為輸入控制按鍵,其中P1.0~P1.3掃描行,P1.4~P1.7掃描列。3.1.3輸出顯示電路用P2.0~P2.2作為LCD的RS、R/W、E的控制信號;用P0.0~P0.7作為LCD的D0~D7的控制信號。由于P0口作為輸出,應加上拉電阻。用P3.7口控制蜂鳴器。輸出顯示電路如圖3-2所示:圖3-2輸出顯示電路3.2整體硬件電路如圖3-3所示:圖3-3音樂盒硬件電路原理圖3.3原理說明:當鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出樂曲。同時啟動定時器T1,顯示樂曲播放的時間,并驅(qū)動LCD,顯示歌曲號及播放時間。(1)
硬件電路中用P1.0~P1.7控制按鍵,其中P1.0~P1.3掃描行,P1.4~P1.7掃描列;
(2)
用P2.0~P2.2作為LCD的RS、R/W、E的控制信號;(3)用P0.0~P0.7作為LCD的D0~D7的控制信號;
(4)
用P3.7口控制蜂鳴器;
(5)
電路為12MHz晶振頻率工作,起振電路中C1,C2均為30pf。3.4鍵盤按鍵鍵盤按鍵分布如下:012
3
45
6
7
89ABCDE
F
按鍵功能說明:1—A十首歌曲C下一首歌曲D上一首歌曲E暫停F開機畫面第4章軟件設(shè)計本程序可以實現(xiàn)該課程設(shè)計的基本要求,并可以通過按鍵播放達10首歌曲。4.1程序設(shè)計流程程序設(shè)計流程圖如圖4-1所示:主程序開始主程序開始初始化變量及LCD接口初始化變量及LCD接口初始化計數(shù)器T0,計時器T1初始化計數(shù)器T0,計時器T1LCD顯示英文歡迎字符LCD顯示英文歡迎字符N等待按鍵,是否有按鍵?包括播放鍵,暫停鍵,停止鍵N等待按鍵,是否有按鍵?包括播放鍵,暫停鍵,停止鍵YY歌曲號及播放時間顯示在LCD上歌曲號及播放時間顯示在LCD上依據(jù)按鍵碼演奏對應的歌曲依據(jù)按鍵碼演奏對應的歌曲圖4-1程序設(shè)計流程圖4.2設(shè)計源程序代碼(見附錄)第5章仿真及調(diào)試5.1調(diào)試:(1)按照第2章設(shè)計的硬件電路在proteus軟件內(nèi)畫好電路圖。(2)打開單片機軟件開發(fā)系統(tǒng)keil,選擇AT89C51單片機,在其中編寫程序,運行生成一個hex文件。(3)電路檢查無誤后,雙擊AT89C51單片機,打開編輯元件對話框(如圖5-1所示),將已經(jīng)在keil環(huán)境下調(diào)試好的程序hex文件加載到單片機上。圖5-1加載單片機程序5.2仿真:(1)點擊運行按鈕之后,電路上電,按下F鍵,LCD上得到開機畫面,顯示開機字符“WELCOMHERE”及當前作用鍵F,如圖5-2所示:圖5-2開機畫面(2)按下1-A中的某一按鍵,LCD顯示當前作用按鍵(當前播放音樂的標號)并顯示該音樂播放的時間,同時,蜂鳴器播放當前樂曲。LCD顯示如圖5-3所示(以按下5鍵為例):圖5-3按下5鍵時LCD的顯示(3)按下C鍵,則LCD顯示由當前樂曲跳轉(zhuǎn)到下一首,蜂鳴器響起下一首樂曲。如圖5-4所示:C鍵動C鍵動作當前顯示C鍵動作后圖5-4C鍵動作效果圖(3)按下D鍵,則LCD顯示由當前樂曲跳轉(zhuǎn)到上一首,蜂鳴器響起上一首樂曲。如圖5-5所示:D鍵動D鍵動作當前顯示D鍵動作后圖5-5C鍵動作效果圖(4)按下E鍵,則蜂鳴器停止當前音樂的播放,而且LCD上播放的時間也停留在當前,再次按下E鍵后,音樂繼續(xù)播放,播放時間繼續(xù)計時。如圖4-5所示:E鍵動E鍵動作當前顯示E鍵動作后圖5-6E鍵動作效果圖5.3程序調(diào)試中出現(xiàn)的問題及解決的辦法:有時會出現(xiàn)程序一點錯誤也沒有,但就是不能正常運行的現(xiàn)象,最后我們發(fā)現(xiàn)是因為程序中有的指令書寫得不規(guī)范導致的,例如有的RET返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。程序中的跳轉(zhuǎn)指令的運用很重要,為保險起見,都用LJMP,我們就遇到過跳轉(zhuǎn)指令用錯程序無法正常運行的現(xiàn)象。當用JNZ指令時,跳轉(zhuǎn)范圍比較少,這時要用一個標號中轉(zhuǎn)。編程時要注意,在程序開始時,要寫入各定時器中斷的入口地址。編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。程序的結(jié)構(gòu)要設(shè)計的合理,避免上下亂調(diào)用的現(xiàn)象,這樣會使程序更加清晰化。編程前要加流程圖,這樣會使思路清晰,如設(shè)計思路完全可以按著MP3的工作方式列寫流程圖。LCD計時正常顯示的解決辦法:兩個定時器同時工作,存在中斷時序問題,剛開始時我們把定時器1設(shè)定在方式3,計250us,由于定時中斷過于頻繁,使CPU負載過大,導致音樂不能正常播放,時間不能正常顯示。解決辦法:將定時器1設(shè)定在工作方式1,16位計數(shù),計50ms,效果有很大改觀。當音樂為全4拍起始時,此時音樂節(jié)奏與定時器T1中斷頻率錯開,LCD顯示和音樂播放都會好一些。另外,在歌曲中,當遇到一個音符發(fā)音為4拍,在編曲中為*CH,托因時間較長,當定時器T1此時來中斷時,就會對歌曲播放產(chǎn)生影響,若改為發(fā)音一拍,中斷對歌曲播放影響減弱,但音樂效果變差。改進方案:若采用可以定時時間更長的單片機,可以避免其中的一些問題。第6章設(shè)計小結(jié)及建議1.本學期學習單片機的時間只有8周時間,對單片機的硬件設(shè)計,軟件設(shè)計掌握的深度不夠,但通過此次課程設(shè)計,卻改變了很多,首先,對于硬件電路的工作原理有了進一步的學習,同樣就有了進一步的認識;其次,軟件方面,在程序的設(shè)計,程序的調(diào)試方面都學到了很多東西。2.
在一個好的氛圍里才能踏下心來做東西,在這幾天課程設(shè)計的時間里,電子協(xié)會的氛圍對我的影響很大,這也是我能完成課程設(shè)計的動力。另外在編程中出現(xiàn)問題時,一定要戒驕戒躁,腳踏實地,認真看書,仔細分析,仔細調(diào)試,就一定會發(fā)現(xiàn)錯誤,克服困難,我也是這么做的,這在課程設(shè)計中十分重要。3.在大學課堂的學習只是純理論的專業(yè)知識,而我們應該把所學的用到現(xiàn)實生活中去,此次的音樂盒設(shè)計給我奠定了一個實踐基礎(chǔ),我會在以后的學習、生活中磨練自己,使自己適應社會激烈的競爭。4.
最后要提一點建議,希望下一次課程設(shè)計中,每個人都能有一塊實驗開發(fā)板,這樣能使每個人都能得到充分的鍛煉!致謝經(jīng)過近一個星期的忙忙碌碌,這次的單片機課程設(shè)計已經(jīng)快要接近尾聲了。在這次的單片機課程設(shè)計過程中,無論是在理論學習階段,還是在設(shè)計的選題、資料查詢和撰寫的每一個環(huán)節(jié),我都得到到了許多人的悉心的指導和幫助。首先,借此機會我向我們的單片機授課教師及課程設(shè)計指導老師師王冠凌老師表示衷心的感謝,王老師的悉心指導和幫助,是我順利完成本次課程設(shè)計的基礎(chǔ)和前提。同時,我要感謝授課的各位老師,正是由于他們的傳道、授業(yè)、解惑,讓我學到了專業(yè)知識,并從他們身上學到了如何求知治學、如何為人處事。另外,感謝各位同學的幫助和勉勵。同窗之誼和手足之情,我將終生難忘!我愿在未來的學習和研究過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持過我的所有老師、同學和朋友。參考文獻韓志軍,沈晉源,王振波.單片機應用系統(tǒng)設(shè)計(第一版)[M].北京:機械工業(yè)出版社,2005.張毅剛.單片機原理及應用[M].北京:高等教育出版社,2003.王為青.程國鋼.單片機KeilCx51應用開發(fā)技術(shù)[M].北京:人民郵電出版社,2007.張靖武,周領(lǐng)彬.單片機系統(tǒng)的PROTEUS設(shè)計與仿真(第一版)[M].電子工業(yè)出版社.2007.何立民.MCS-51系列單片機應用系統(tǒng)設(shè)計[M].北京:北京航空航天大學出版社,1990.附錄附錄一元器件清單:名稱數(shù)量(個)型號/參數(shù)備注單片機1AT89C51液晶屏1LM016按鍵開關(guān)16BUTTON普通電阻210K(1個),1K(1個)排阻1RESPACK-810K電容330pf(2個),10uf(1個)晶振112MHz三極管1PNP蜂鳴器1SPEAKER附錄二部分源程序代碼:RSBITP2.0;定義液晶顯示端口標號
RWBITP2.1
EBITP2.2
ORG0000H
LJMPMAIN
ORG000BH
LJMPTT0
ORG001BH
LJMPT1INT
ORG1000H
MAIN:
;;液晶初始化
MOVSP,#70H
MOVP0,#01H
;清屏
CALLENABLE
MOVP0,#38H
;8位,2行顯示
LCALLENABLE
MOVP0,#0FH
;屏顯ON,光標ON,閃爍ON
LCALLENABLE
MOVP0,#06H
;計數(shù)地址加1,顯示幕ON
LCALLENABLE
;內(nèi)存初始化
LCALLINITIL
;
KEY1:
LCALLKEY
LCALLMODD
LJMPKEY1
;鍵盤掃描
KEY:
NOP
NOP
LCALLKS
JNZK1
;有按鍵轉(zhuǎn)到K1
LCALLKAIJI
LCALLSOP
XN:
LJMPKEY
K1:
LCALLMODD
LCALLMODD
LCALLKS
JNZK2
LJMPKEY
K2:
MOVR2,#0FEH
;讀鍵盤
MOVR4,#00H
K3:
MOVA,R2
MOVP1,A
MOVA,P1
JBACC.4,L1
;為1跳轉(zhuǎn),第一行無按鍵
MOVA,#00H
LJMPLK
L1:
JBACC.5,L2
MOVA,#04H
LJMPLK
L2:
JBACC.6,L3
MOVA,#08H
LJMPLK
L3:
JBACC.7,NEXT1
MOVA,#0CH
;
LK:
ADDA,R4
PUSHACC
K4:
LCALLDELAY1;若同時有其他鍵,則等待
LCALLKS
JNZK4
;
MOVR3,#07H
CLRA
MOVR0,#30H
MOVR1,#31H
MM1:
MOVA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR3,MM1
POPACC
MOV@R0,A
RET
;
NEXT1:
INCR4
;列掃描
MOVA,R2
JNBACC.3,N2
LJMPN1
N2:
LJMPKEY
N1:
RLA
MOVR2,A
LJMPK3
;
KS:
MOVA,#0F0H
;判斷P1口
MOVP1,A
NOP
NOP
MOVA,P1
CPLA
ANLA,#0F0H
RET
;
DELAY1:
SETBRS0
DL:
MOVR5,#0AH
DL2:
MOVR6,#63
DL3:
NOP
NOP
DJNZR6,DL3
DJNZR5,DL2
CLRRS0
RET
;30H-37H初值為零
;
INITIL:
MOVR3,#08H
MOVR0,#30H
M1:
MOV@R0,#00H
INCR0
DJNZR3,M1
RET
;
;顯示
;
MODD:
MOVP0,#8EH
LCALLENABLE
MOVA,37H
MOVDPTR,#TABLE3
MOVCA,@A+DPTR
LCALLWRITE2
RET
;
;開機提示字
;
KAIJI:
MOVA,37H
CJNEA,#0FH,DFF
MOVP0,#80H
;設(shè)光標地址
LCALLENABLE
MOVDPTR,#TABLE1;寫數(shù)據(jù)
LCALLWRITE1
DFF:
RET
;
;按鍵值播放歌曲
;
SOP:
MOVA,37H
CJNEA,#01H,A11
LCALLMODD
MOV52H,#HIGHTABLE10
MOV53H,#LOWTABLE10
LCALLINITILE2
LCALLMAIN0
A11:
CJNEA,#02H,A22
LCALLMODD
MOV52H,#HIGHTABLE20
MOV53H,#LOWTABLE20
LCALLINITILE2
LCALLMAIN0
……AAA:RET
;*******************************
INITILE2:
MOVL50MS,#20
MOVL1MS,#00H
MOVL250MS,#00H
MOVSEC,#00H
MOVMIN,#00H
MOVHOU,#00H
MOVA,HOU
MOVB,#10
DIVAB
ADDA,#30H
;將BCD嗎轉(zhuǎn)化為ASIIC碼
MOVP0,#0C8H
;顯示小時十位
CALLENABLE
CALLWRITE2
MOVA,B
ADDA,#30H
MOVP0,#0C9H
;顯示小時個位
CALLENABLE
CALLWRITE2
MOVA,#3AH
MOVP0,#0DH
;顯示冒號
CALLENABLE
CALLWRITE2
MOVA,MIN
MOVB,#10
DIVAB
ADDA,#30H
MOVP0,#0CBH
;顯示分十位
CALLENABLE
CALLWRITE2
MOVA,B
ADDA,#30H
MOVP0,#0CCH
;顯示分個位
CALLENABLE
CALLWRITE2
MOVA,#3AH
MOVP0,#0CDH
;顯示冒號
CALLENABLE
CALLWRITE2
MOVA,SEC
MOVB,#10
DIVAB
ADDA,#30H
MOVP0,#0CEH
;顯示秒十位
CALLENABLE
CALLWRITE2
MOVA,B
ADDA,#30H
MOVP0,#0CFH
;顯示秒個位
CALLENABLE
CALLWRITE2
MOVP0,#0C0H
;設(shè)光標地址
CALLENABLE
MOVDPTR,#TABLE2;寫數(shù)據(jù)
CALLWRITE1
RET
;**************************寫指令
ENABLE:
CLRRS
CLRRW
CLRE
LCALLDELAY
SETBE
RET
;***************************寫數(shù)據(jù)
WRITE1:
MOVR1,#00H
A1:
MOVA,R1
MOVCA,@A+DPTR
CALLWRITE2
INCR1
CJNEA,#0FEH,A1
;未到字符串末尾繼續(xù)
RET
WRITE2:
MOVP0,A
SETBRS
CLRRW
CLRE
CALLDELAY
SETBE
RET
;-
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH
TAB1:DB89H,86H,0C7H,0C7H,0C0H
TAB2:DB0C6H,88H,0C0H
TABLE1:DBWELCOMHERE,0FEH
TABLE2:DBDFFWB,0FEH
TABLE4:DBCAU,0FEH
TABLE3:DB30H,31H,32H,33H
DB34H,35H,36H,37H
DB38H,39H,41H,42H
DB43H,44H,45H,46H
;
;播放歌曲程序
;
MAIN0:
MOVTMOD,#11H
MOVIE,#8AH
;MOVTH1,#3CH
;MOVTL1,#0B0H
LCALLKS
JNZTTM12
MOV40H,#00H
;
NEXT20:
MOVA,40H
MOVDPH,52H
MOVDPL,53H
MOVCA,@A+DPTR
MOVR2,A
JZSTOP
ANLA,#0FH
MOVR1,A
MOVA,R2
SWAPA
ANLA,#0FH
JNZSING
CLRTR0
JMPW1
;
SING:
DECA
MOV22H,A
RLA
MOVDPTR,#TABLE00
MOVCA,@A+DPTR
MOVTH0,A
MOV21H,A
MOVA,22H
RLA
INCA
MOVCA,@A+DPTR
MOVTL0,A
MOV20H,A
SETBTR0
SETB
TR1
W1:
LCALLDELAY30
INC40H
LCALLKS
;有鍵跳出
JNZSTOP
LJMPNEXT20
;
STOP:
CLRTR0
CLRTR1
LJMPMAIN0
;
TTM12:
LCALLK2
MOVA,37H
CJNEA,#0EH,TTM13
CLRTR1
LCALLDELAY1
TTM120:
LCALLKS
LCALLDELAY1
JZTTM120
LCALLK2
MOVA,37H
CJNEA,#0EH,TTM120
SETBTR1
LJMPNEXT20
TTM13:
CJNEA,#0CH,TTM14
MOVA,52H
INCA
MOV52H,A
MOVA,53H
INCA
MOV53H,A
MOVA,36H
INCA
MOV37H,A
LJMPTTM2
TTM14:
CJNEA,#0DH,TTM2
MOVA,52H
DECA
MOV52H,A
MOVA,53H
DECA
MOV53H,A
MOVA,36H
DECA
MOV37H,A
TTM2:
RET……RET
;
TABLE00:
DW64580,64684,64777,64820
DW64898,64968,65030,64260
DW64400,64524,65058,63835,64021;
;第二首《月亮代表我的心》
;-
TABLE20:
DB02H,82H
DB16H,32H,54H,02H,52H
DB0A6H,32H,54H,02H,52H
DB64H,74H,0B6H,64H
DB52H,5CH,32H,22H
DB16H,12H,14H,32H,22H
DB16H,12H,14H,22H,32H
DB26H,12H,94H,22H,32H
DB2CH
DB32H,52H
DB36H,22H,14H,54H
DB0ACH,92H,0A2H
DB96H,0A2H,96H,82H
DB3CH,54H
DB36H,22H,14H,54H
DB0ACH,92H,0A2H
DB16H,12H,14H,22H,32H
DB2CH,02H,82H
DB16H,32H,56H,12H
DB0A6H,32H,56H,52H
DB66H,72H,0B6H,62H
DB1CH
DB00
END基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設(shè)計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設(shè)計及其應用研究基于單片機的遠程抄表系統(tǒng)的設(shè)計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設(shè)計和應用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設(shè)計Pico專用單片機核的可測性設(shè)計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構(gòu)建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設(shè)計基于單片機的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機的溫度智能控制系統(tǒng)的設(shè)計與實現(xiàn)基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機的膛壁溫度報警系統(tǒng)設(shè)計基于AVR單片機的低壓無功補償控制器的設(shè)計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網(wǎng)絡的振動信號的采集系統(tǒng)基于單片機的大容量數(shù)據(jù)存儲技術(shù)的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術(shù)的研究及實現(xiàn)基于AT89S52單片機的通用數(shù)據(jù)采集系統(tǒng)基于單片機的多道脈沖幅度分析儀研究機器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機控制系統(tǒng)基于單片機的控制系統(tǒng)在PLC虛擬教學實驗中的應用研究基于單片機系統(tǒng)的網(wǎng)絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統(tǒng)設(shè)計與研究基于單片機的模糊控制器在工業(yè)電阻爐上的應用研究基于雙單片機沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機的μC/OS-Ⅱ的研究基于單片機的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機與Internet互聯(lián)的研究與實現(xiàn)變頻調(diào)速液壓電梯單片機控制器的研究基于單片機γ-免疫計數(shù)器自動換樣功能的研究與實現(xiàn)基于單片機的倒立擺控制系統(tǒng)設(shè)計與實現(xiàn)單片機嵌入式以太網(wǎng)防盜報警系統(tǒng)基于51單片機的嵌入式Internet系統(tǒng)的設(shè)計與實現(xiàn)HYPERLINK"/d
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高端酒店勞務派遣管理合同3篇
- 2025版土地使用權(quán)無償劃轉(zhuǎn)合同(含土地整治)3篇
- 二零二五年度出境旅游合同范本:南美亞馬遜雨林探險合同4篇
- 二零二五版股份制企業(yè)股份自愿轉(zhuǎn)讓與投資者關(guān)系合同3篇
- 2025年度測繪行業(yè)人才培養(yǎng)與合作合同3篇
- 2025年沙地環(huán)境保護與治理承包合同4篇
- 二零二五年度出租車行業(yè)車輛安全監(jiān)控系統(tǒng)合同3篇
- 二零二五年度便利店食品安全責任書3篇
- 2025年家居裝飾品托運合同
- 2025年度機動車牌照租賃及管理服務合同范本3篇
- 2024企業(yè)答謝晚宴會務合同3篇
- 《客艙安全管理與應急處置》課件-第14講 應急撤離
- 中華人民共和國文物保護法
- 節(jié)前物業(yè)安全培訓
- 高甘油三酯血癥相關(guān)的器官損傷
- 手術(shù)室護士考試題及答案
- 牙膏項目創(chuàng)業(yè)計劃書
- 單位食堂供餐方案
- DB42-T 2204-2024 湖沼濕地溫室氣體通量監(jiān)測技術(shù)規(guī)范
- 急性會厭炎的護理
- 七年級下冊《Reading 1 A brave young man》優(yōu)質(zhì)課教案牛津譯林版-七年級英語教案
評論
0/150
提交評論