MP3音樂盒設(shè)計說明_第1頁
MP3音樂盒設(shè)計說明_第2頁
MP3音樂盒設(shè)計說明_第3頁
MP3音樂盒設(shè)計說明_第4頁
MP3音樂盒設(shè)計說明_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 . MP3音樂盒設(shè)計目錄引言31緒論41.1概述41.2 目的意義41.3 設(shè)計的概要思路42 設(shè)計方案簡述42.1 設(shè)計功能要求42.2 總體設(shè)計原理42.3 總體設(shè)計框圖53、詳細(xì)設(shè)計63.1 AT89C51簡介63.2 時鐘振蕩電路63.3揚聲器部分73.4 顯示部分74、仿真、調(diào)試74.1仿真74.2調(diào)試85、課程設(shè)計總結(jié)86參考文獻(xiàn)9引言21世紀(jì),電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢

2、將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路裝化等幾個方面發(fā)展。單片機(jī)應(yīng)用的重要意義還在于它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以與程控玩具、

3、電子寵物等等,這些都離不開單片機(jī)。隨著科學(xué)技術(shù)的進(jìn)步和社會的發(fā)展,人類所接觸的信息也在不斷增加并且日益復(fù)雜。面對浩如煙海的信息,人們已經(jīng)能夠利用計算機(jī)等工具高效準(zhǔn)確地對之進(jìn)行處理,但要想將處理完的信息與時,清晰地傳遞給別人,還必須通過尋求更加卓越的顯示技術(shù)來實現(xiàn)。單片機(jī)技術(shù)與液晶顯示技術(shù)的結(jié)合,使信息傳輸交流向著智能可視化方向迅速發(fā)展。隨著人類社會的發(fā)展,人們對視覺、聽覺方面的享受提出了越來越高的要求。小小的音樂盒可以給人們帶來美好的回憶,提高人們的精神文化享受。傳統(tǒng)音樂盒多是機(jī)械型的,體積笨重,發(fā)音單調(diào),不能實現(xiàn)批量生產(chǎn)。本文設(shè)計的音樂盒是以單片機(jī)為核心元件的電子式音樂盒,體積小,重量輕,能

4、演奏和旋音樂,功能多,外觀效果多彩,使用方便,并具有一定的商業(yè)價值。1緒論1.1概述本設(shè)計是以AT89C51芯片的電路為基礎(chǔ),外部加上放音設(shè)備和按鍵設(shè)備,以此來實現(xiàn)音樂演奏控制器的硬件電路,通過軟件程序來控制單片機(jī)部的定時器使其演奏出優(yōu)美動聽的音樂。用戶可以按照自己的喜好選擇音樂并將其轉(zhuǎn)化成機(jī)器碼存入單片機(jī)的存儲器中。對于不同型號的單片機(jī)只需要相應(yīng)的改變一下地址即可。該軟、硬件系統(tǒng)具有很好的通用性,很高的實際使用價值,為廣大的單片機(jī)和音樂愛好者提供了很好的借鑒。1.2 目的意義為了更好地熟悉和掌握單片機(jī)的基本功能和編程,我們以AT89C51為基礎(chǔ)設(shè)計電子音樂盒。AT89C51單片機(jī)電子音樂盒集

5、成多個硬件資源模塊,每個模塊各自可以成為獨立的單元,也可以相互組合,因此,可以為不同階層的單片機(jī)愛好者所用。同時,電子音樂盒的設(shè)計具有很重要的現(xiàn)實意義。我們根據(jù)學(xué)習(xí)和實踐的需要,進(jìn)行了電子音樂盒功能設(shè)計。我們在制作電子音樂盒的過程中會學(xué)習(xí)到很多的東西,能夠最大限度的了解我們自制的這一個單片機(jī)電子音樂盒,這樣以后調(diào)試程序的時候便得心應(yīng)手,效率要提高很多。1.3 設(shè)計的概要思路制定音樂盒控制系統(tǒng)需要完成功能,并根據(jù)此來制定設(shè)計方案;根據(jù)設(shè)計方案來進(jìn)行硬件電路圖的設(shè)計和軟件模塊的開發(fā)。2 設(shè)計方案簡述2.1 設(shè)計功能要求1 利用揚聲器,發(fā)出不同的音調(diào),從而演奏樂曲(本設(shè)計中含有10首歌曲) 

6、;  2采用LCD顯示信息(歌曲序號,播放時間等)   3開機(jī)時有英文歡迎提示字符,播放時顯示歌曲序號   4可通過4*4鍵盤選擇樂曲,暫停,播放,上一曲,下一曲,開機(jī)畫面。2.2 總體設(shè)計原理原理說明:當(dāng)鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出樂曲。同時啟動定時器T1,顯示樂曲播放的時間,并驅(qū)動LCD,顯示歌曲號與播放時間。也可在LED顯示歌曲號。硬件電路中用P1.0P1.7控制4*4鍵盤,其中P1.0P1.3掃描行,P1.4P1.7掃描列。用P2.0P2.2作為LCD的RS,R/W,E的控制信號。用P0

7、.0P0.7作為LCD的D0D7的控制信號。用P3.7口控制揚聲器電路為12MHZ晶振頻率工作,起振電路中C1,C2均為30pf。流程圖:主程序開始初始化變量與LCD接口初始化計數(shù)器T0,定時器T1LCD顯示英文歡迎字符等待按鍵歌曲號與播放時間顯示在LCD上依據(jù)按鍵碼播放對應(yīng)歌曲YN2.3 總體設(shè)計框圖單片機(jī)接+5V電源供電,晶振電路產(chǎn)生單片機(jī)所需時鐘信號,通過4*4鍵盤產(chǎn)生外部中斷,控制音樂盒的上一首和下一首曲目,再由P3.7口輸出控制揚聲器發(fā)聲,LCD顯示。另外,復(fù)位電路在于營造一個程序運行的初始狀態(tài),在程序出錯時,重新啟動單片機(jī)工作。編程設(shè)置好定時時間,通過編程器寫入AT89C51單片機(jī)

8、系統(tǒng)。由AT89C51單片機(jī)的定時器每秒鐘通過P0.0-P0.7口控制LCD顯示,復(fù)位信號由按鈕輸入,每按下一次,系統(tǒng)恢復(fù)原設(shè)定狀態(tài)。復(fù)位電路 AT89C51揚聲器LCD顯示4*4鍵盤電源晶振部分3、 詳細(xì)設(shè)計3.1 AT89C51簡介AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中, AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性

9、高且價廉的方案。外形與引腳排列如圖3.1所示3.2 時鐘振蕩電路AT89C51中有一個用于構(gòu)成部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或者瓷諧振器一起構(gòu)成自然振蕩器。外接石英晶體與電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1,C2雖然沒有什么嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序與溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF10PF,而如果使用瓷振蕩器建議選擇40PF10PF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖示。這

10、種情況下,外部時鐘脈沖接到XTAL1端,即部時鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。振蕩器電路圖如下:3.3揚聲器部分揚聲器是一種把電信號轉(zhuǎn)換成聲音信號的電聲器件。確切地說,揚聲器的工作實際上是把一定圍的音頻電功率訊號通過換能方式轉(zhuǎn)變?yōu)槭д嫘〔⒕哂凶銐蚵晧杭壍目陕犅曇?。我們知道,聲音的頻譜圍約在幾十到幾千赫茲,若能利用程序來控制單處機(jī)某個口線的“高”電平或低電平,則在該口上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若

11、再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào)。3.4 顯示部分本設(shè)計方案采用液晶顯示屏1602作為顯示器。選用單片機(jī)的P0口作為液晶數(shù)據(jù)輸入口,P2.1、P2.2分別接液晶的數(shù)據(jù)和時鐘引腳。用液晶作為顯示器,極簡化了硬件電路,同時增強(qiáng)了系統(tǒng)的顯示能力。4、 仿真、調(diào)試4.1仿真(1)按照設(shè)計的硬件電路在PROTUSE上畫好電路圖。(2)電路檢查無誤后,雙擊AT89C51單片機(jī),打開編輯元件對話框如下圖所示,將調(diào)試好的程序HEX文件加載到單片機(jī)。(3)點擊運行按鈕后,按下F鍵,LCD上得到開機(jī)畫面“WELCOME HERE”的字樣,如下左圖所示(4)按下1-A中的

12、某一鍵,即播放該歌曲,LCD顯示當(dāng)前歌曲序列號,如上右圖為播放第二首歌曲的畫面(5)按C鍵即終止當(dāng)前播放,進(jìn)入下一首歌曲的播放C鍵動作(6)按下D鍵,蜂鳴器演奏上一首歌曲,LCD也顯示上一首歌曲序列號D鍵動作(7)E鍵為暫停/播放鍵E建動作4.2調(diào)試在XL600過不同功能的按鍵實現(xiàn)不同的功能實現(xiàn)曲目選擇,上一首和下一首與暫停播放,同時有LCD顯示當(dāng)前播放歌曲的序號,揚聲器播放出音樂。5、 課程設(shè)計總結(jié)通過這次課程設(shè)計,也讓我們學(xué)習(xí)到了很多新的東西,這些都讓我們受益匪淺。單片機(jī)的定時器功能,LCD顯示,4*4鍵盤的設(shè)計,這些容都頗為豐富。有以前學(xué)習(xí)過的舊知識,也有很多未曾注意到得新知識,這些都曾

13、使我們的設(shè)計出錯,通過自己的努力,老師指導(dǎo)和同學(xué)的幫助,終于克服了一個一個的困難,把硬件實物順利做好,把軟件調(diào)試順利完成。但通過此次課程設(shè)計,卻改變了很多,首先對于硬件電路的工作原理有了進(jìn)一步的學(xué)習(xí),同樣就有了進(jìn)一步的認(rèn)識;其次軟件方面,在程序的設(shè)計,程序的調(diào)試方面都學(xué)到了很多東西,很有成就感??傮w來說本次課程設(shè)計總體符合預(yù)期要求,能夠成功實現(xiàn)按1-A按鍵能演奏不同的樂曲的基本功能,并添加了通過按鍵控制上一首,下一首,暫停/播放的功能。在播放樂曲的過程中,還增加了顯示歌曲演奏時間的功能。另外,采用了液晶顯示技術(shù),簡化了硬件電路,還能顯示英文的開機(jī)畫面等當(dāng)然,此設(shè)計過程中碰到了很多問題。如:(1

14、)有時會出現(xiàn)程序一點錯誤也沒有,但就是不能正常運行的現(xiàn)象,最后我們發(fā)行是因為程序中有的指令書寫得不規(guī)導(dǎo)致的,例如有的RET返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。錯程序無常運行的現(xiàn)象。當(dāng)用JNZ指令時,跳轉(zhuǎn)圍比較少,這時要用一個標(biāo)號中轉(zhuǎn)。(3)編程時要注意,在程序開始時,要寫入各定時器中斷的入口地址。編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。(4)剛開始LCD顯示的時間不正確,走了幾秒之后直接跳到分位。經(jīng)過查閱資料之后,了解到是由于設(shè)置的延時時間和LCD編碼的不同造成的,略作修改之后得到了解決。(5)在播放過程中,音樂的頻率和走的時間略

15、微過快,分析得這可能和單片機(jī)上不同的晶振有關(guān)。(6)程序的結(jié)構(gòu)要設(shè)計的合理,避免上下亂調(diào)用的現(xiàn)象,這樣會使程序更加清晰化。(7)編程前要加流程圖,這樣會使思路清晰,例如數(shù)字音樂盒的設(shè)計思路完全可以按著MP3的工作方式列寫流程圖。LCD計時正常顯示的解決辦法a. 兩個定時器同時工作,存在中斷時序問題,剛開始時我們把定時器1設(shè)定在方式3,計250us,由于定時中斷過于頻繁,使CPU負(fù)載過大,導(dǎo)致音樂不能正常播放,時間不能正常顯示。解決辦法:將定時器1設(shè)定在工作方式1,16位計數(shù),計50ms,效果有很大改觀。但還有問題。b. 當(dāng)音樂為全4拍起始時,此時音樂節(jié)奏與定時器T1中斷頻率錯開,LCD顯示和音

16、樂播放都會好一些。c. 另外,在歌曲中,當(dāng)遇到一個音符發(fā)音為4拍,在編曲中為*CH,托因時間較長,當(dāng)定時器T1此時來中斷時,就會對歌曲播放產(chǎn)生影響,若改為發(fā)音一拍,中斷對歌曲播放影響減弱,但音樂效果變差。d. 改進(jìn)方案:若采用可以定時時間更長的單片機(jī),可以避免所有問題。音樂盒設(shè)計是一項趣味性很強(qiáng)的設(shè)計,能激發(fā)我們的濃厚興趣。同時要求我們從程序編程,調(diào)試,軟件仿真和繪制開始,到硬件的調(diào)試,再到修改程序,在這期間我們了解到了單片機(jī)開發(fā)的大致流程。另外在一個好的氛圍里才能踏下心來做東西,在這幾天課設(shè)的時間里,實驗室的氛圍對我們的影響很大,大家一起努力,這也是我們能完成課設(shè)的動力。此外在編程中出現(xiàn)問題

17、時,一定要戒驕戒躁,腳踏實地,認(rèn)真看書,仔細(xì)分析,仔細(xì)調(diào)試,就一定會發(fā)現(xiàn)錯誤,克服困難,我們也是這么做的,這在課程設(shè)計中十分重要。當(dāng)然在這次寶貴的畢業(yè)設(shè)計活動中,經(jīng)驗才是對于我們最大的收獲,而且還增強(qiáng)了自身對未知問題以與對知識的深化認(rèn)識的能力,用受益匪淺這個詞語來概括這次難忘的活動我覺得再合適不過了。但是,光是完成了作品還是不可以自我滿足的,在從一開始的時候就懷著將作品制作得更加人性化,更加令人滿意,更加地使功能完美又方便地被應(yīng)用領(lǐng)域這個最終目的下,隨著對單片機(jī)這門學(xué)科的認(rèn)識加深,到達(dá)了拓展的程度,我想這個目的將在不遠(yuǎn)的時期被實現(xiàn)。最后,衷心感這次對我們的課程設(shè)計提供無私幫助的所有老師和同學(xué)!

18、6參考文獻(xiàn)1 閻石. 數(shù)字電子技術(shù)基礎(chǔ). : 高等教育, 19982毅剛. 單片機(jī)原理與應(yīng)用. : 清華大學(xué),2004.33俊謨. 單片機(jī)中級教程-原理與應(yīng)用. : 航空航天大學(xué),20064 黃菊生. 單片機(jī)原理與接口技術(shù). :國防工業(yè) 2007.095 西明、朱騏主. 單片機(jī)編程與應(yīng)用入門. :機(jī)械工業(yè) 2004.066 徐愛鈞 單片機(jī)原理實用教程(基于Proteus虛擬仿真). :電子工業(yè) 2009.01師大學(xué)皖江學(xué)院課程設(shè)計成績評定單題目:MP3音樂盒設(shè)計學(xué)生吳慧慧 郭寶峰 奎昂指導(dǎo)教師輝指導(dǎo)教師評語:指導(dǎo)教師評定設(shè)計成績等級指導(dǎo)教師(簽章): 200 年 月 日代碼部分RS BIT P

19、2.0;定義液晶顯示端口標(biāo)號RW BIT P2.1E BIT P2.2L50MS EQU 60HL1MS EQU 61HL250MS EQU 62HSEC EQU 65HMIN EQU 64HHOU EQU 63Horg 0000hljmp mainORG 000BHLJMP TT0ORG 001BHLJMP T1INTorg 1000hmain:MOV SP,#70H MOV P0,#01H ;清屏 LCALL ENABLE MOV P0,#38H ;8位,2行顯示 lCALL ENABLE MOV P0,#0FH ;屏顯on,光標(biāo)on,閃爍on lCALL ENABLE MOV P0,#0

20、6H ;計數(shù)地址加1,顯示幕on lCALL ENABLElcall initil key1: lcall key lcall modd ljmp key1key: nop nop lcall ks jnz k1 ;有按鍵轉(zhuǎn)到K1 lcall kaiji lcall SOPxn: ljmp keyk1: lcall modd lcall modd lcall ks jnz k2 ljmp keyk2: mov R2,#0feh ;讀鍵盤 mov R4,#00hk3: mov A,R2 mov P1,A mov A,P1 ACC.4,L1 ;為1跳轉(zhuǎn),第一行無按鍵 mov a,#00h ljmp

21、 lkL1: acc.5,L2 mov a,#04h ljmp lkL2: acc.6,L3 mov a,#08h ljmp lkL3: acc.7,next1 mov a,#0chlk: add a,R4 push acck4: lcall delay1 ;若同時有其他按鍵,則等待 lcall ks jnz k4 mov r3,#07h clr a mov r0,#30h mov r1,#31hmm1: mov a,r1 mov r0,a inc r0 inc r1 djnz r3,mm1 pop acc mov r0,a RETnext1: inc R4 ;-列掃描 mov a,R2 JN

22、B acc.3,n2 ljmp n1n2: ljmp keyn1: rl a mov R2,a ljmp k3ks: mov a,#0f0h ;判斷P1口 mov P1,a nop nop mov a,P1 cpl a anl a,#0f0h RETDELAY1: SETB RS0dl: mov R5,#0ahdl2: mov R6,#63dl3: nop nop djnz R6,dl3 djnz R5,dl2 CLR RS0 RETinitil: mov r3,#08h mov r0,#30hm1: mov r0,#00h inc r0 djnz r3,m1 RETModd: MOV P0,

23、#8EH CALL ENABLE mov A,37H mov DPTR,#TABLE3 MOVC A,A+DPTR CALL WRITE2 RETkaiji: mov a,37h cjne a,#0fh,DFF MOV P0,#80H ;設(shè)光標(biāo)地址 CALL ENABLE MOV DPTR,#TABLE1;寫數(shù)據(jù) CALL WRITE1 DFF: RETSOP: mov a,37h cjne a,#01h,A11 LCALL MODD MOV 52H,#HIGH TABLE10 MOV 53H,#LOW TABLE10 LCALL INITILE2 lcall MAIN0A11: CJNE A

24、,#02H,A22 LCALL MODD MOV 52H,#HIGH TABLE20 MOV 53H,#LOW TABLE20 LCALL INITILE2 lcall MAIN0A22: CJNE A,#03H,A33 LCALL MODD MOV 52H,#HIGH TABLE30 MOV 53H,#LOW TABLE30 LCALL INITILE2 lcall MAIN0 A33: CJNE A,#04H,A44 LCALL MODD MOV 52H,#HIGH TABLE40 MOV 53H,#LOW TABLE40 LCALL INITILE2 lcall MAIN0A44: CJ

25、NE A,#05H,A55 LCALL MODD MOV 52H,#HIGH TABLE50 MOV 53H,#LOW TABLE50 LCALL INITILE2 lcall MAIN0A55: CJNE A,#06H,A66 LCALL MODD MOV 52H,#HIGH TABLE60 MOV 53H,#LOW TABLE60 LCALL INITILE2 lcall MAIN0 A66: CJNE A,#07H,A77 LCALL MODD MOV 52H,#HIGH TABLE70 MOV 53H,#LOW TABLE70 LCALL INITILE2 lcall MAIN0 A7

26、7: CJNE A,#08H,A88 LCALL MODD MOV 52H,#HIGH TABLE80 MOV 53H,#LOW TABLE80 LCALL INITILE2 lcall MAIN0A88: CJNE A,#09H,A99 LCALL MODD MOV 52H,#HIGH TABLE90 MOV 53H,#LOW TABLE90 LCALL INITILE2 lcall MAIN0 A99: CJNE A,#0AH,AAA LCALL MODD MOV 52H,#HIGH TABLE100 MOV 53H,#LOW TABLE100 LCALL INITILE2 lcall M

27、AIN0 AAA: RET INITILE2: MOV L50MS,#20 MOV L1MS,#00H MOV L250MS,#00H MOV SEC,#00H MOV MIN,#00H MOV HOU,#00H MOV A,HOU MOV B,#10 DIV AB ADD A,#30H ;將BCD嗎轉(zhuǎn)化為ASIIC碼 MOV P0,#0C8H ;顯示小時十位 LCALL ENABLE LCALL WRITE2MOV A,B ADD A,#30H MOV P0,#0C9H ;顯示小時個位 LCALL ENABLE LCALL WRITE2MOV A,#3AH MOV P0,#0DH ;顯示冒號

28、 LCALL ENABLE LCALL WRITE2MOV A,MIN MOV B,#10 DIV AB ADD A,#30HMOV P0,#0CBH ;顯示分十位 LCALL ENABLE LCALL WRITE2MOV A,B ADD A,#30H MOV P0,#0CCH ;顯示分個位 LCALL ENABLE LCALL WRITE2MOV A,#3AH MOV P0,#0CDH ;顯示冒號 LCALL ENABLE LCALL WRITEMOV A,SEC MOV B,#10 DIV AB ADD A,#30H MOV P0,#0CEH ;顯示秒十位 LCALL ENABLE LCA

29、LL WRITE2MOV A,B ADD A,#30H MOV P0,#0CFH ;顯示秒個位 LCALL ENABLE LCALL WRITE2MOV P0,#0C0H ;設(shè)光標(biāo)地址 LCALL ENABLE MOV DPTR,#TABLE2;寫數(shù)據(jù) LCALL WRITE1 RETENABLE: CLR RS CLR RW CLR E LCALL DELAY SETB E RETWRITE1: MOV R1,#00HA1: MOV A,R1 MOVC A,A+DPTR CALL WRITE2 INC R1 CJNE A,#0FEH,A1 ;未到字符串末尾繼續(xù) RETWRITE2: MOV

30、P0,A SETB RS CLR RW CLR E CALL DELAY SETB E RETDELAY: MOV R4,#05D1: MOV R5,#0FFH DJNZ R5,$ DJNZ R4,D1RET TAB: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h db 80h,90h,88h,83h,0c6h,0a1h,86h,8ehTAB1: db 89h,86h,0c7h,0c7h,0c0hTAB2: db 0c6h,88h,0c0hTABLE1: DB 'WELCOM HERE',0FEHTABLE2: DB 'WELCOME

31、',0FEHTABLE4: DB 'CAU',0FEHTABLE3: DB 30H,31H,32H,33h DB 34H,35H,36H,37H DB 38h,39H,41H,42H DB 43H,44H,45H,46HMAIN0:MOV TMOD,#11HMOV IE,#8aH MOV TH1, #3cH MOV TL1, #0b0H lcall ksjnz TTM12 MOV 40H,#00HNEXT20: MOV A,40HMOV DPH,52HMOV DPL,53HMOVCA,A+DPTRMOV R2,AJZ STOPANL A,#0FHMOV R1,AMOV

32、A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0JMPSING: DEC AMOV 22H,ARL AMOV DPTR,#TABLE00MOVC A,A+DPTRMOV TH0,AMOV 21H,AMOV A,22HRL AINC AMOVC A,A+DPTRMOV TL0,AMOV 20H,ASETB TR0SETB TR1W1: LCALL DELAY30INC 40HLCALL KS ;-有鍵跳出JNZ STOPLJMP NEXT20STOP: CLR TR0CLR TR1 LJMP MAIN0 TTM12: LCALL K2 MOV A,37HCJNE A,#0E

33、H,TTM13CLR TR1 LCALL DELAY1TTM120:LCALL KSLCALL DELAY1JZ TTM120 LCALL K2 MOV A,37HCJNE A,#0EH,TTM120SETB TR1 LJMP NEXT20TTM13: CJNEA,#0CH,TTM14MOV A,52HINC AMOV 52H,AMOV A,53HINC AMOV 53H,AMOV A,36HINC AMOV 37H,ALJMP TTM2TTM14:CJNEA,#0DH,TTM2MOV A,52HDEC AMOV 52H,AMOV A,53HDEC AMOV 53H,AMOV A,36HDEC

34、 AMOV 37H,ATTM2:RETTT0: PUSH ACCPUSH PSWMOV TL0,20HMOV TH0,21HCPL P2.7POP PSWPOP ACCRETIT1INT: MOV TH1, #3cH MOV TL1, #0b0HDJNZ L50MS,X4 MOV L50MS,#20 SECSET:MOV A,SEC MOV B,#10 DIV AB ADD A,#30H MOV P0,#0CEH ;顯示秒十位 CALL ENABLE CALL WRITE2MOV A,B ADD A,#30H MOV P0,#0CFH ;顯示秒個位 CALL ENABLE CALL WRITE

35、2MOV A,SEC INC A MOV SEC,AXRL A,#60X4: JNZ OUTMINSET: MOV SEC,#00H MOV A,MININC AMOV MIN,A MOV B,#10DIV ABADD A,#30HMOV P0,#0CBH ;顯示分十位CALL ENABLECALL WRITE2MOV A,BADD A,#30H MOV P0,#0CCH ;顯示分個位 CALL ENABLE CALL WRITE2 MOV A,MIN MOV B,#3 MUL AB MOV B,#100 DIV AB MOV R2,A MOV A,#10 XCH A,B DIV AB MOV

36、 A,MIN XRL A,#60 JNZ OUTHOUSET: MOV MIN,#00H MOV A,HOU MOV B,#10 DIV AB ADD A,#30H ;將BCD嗎轉(zhuǎn)化為ASIIC碼MOV P0,#0C8H ;顯示小時十位 CALL ENABLE CALL WRITE2MOV A,B ADD A,#30H MOV P0,#0C9H ;顯示小時個位 CALL ENABLE CALL WRITE2 MOV A,HOU INC A MOV HOU,A XRL A,#10 JNZ OUTSJMP OVERFLOWOUT: RETIOVERFLOW: MOV L50MS,#20 MOV L

37、1MS,#00H MOV L250MS,#00H MOV SEC,#00H MOV MIN,#00H MOV HOU,#00H RETIDELAY30: MOV R7,#2W2: MOV R4,#125W3: MOV R3,#248DJNZ R3,$DJNZ R4,W3DJNZ R7,W2DJNZ R1,DELAY30RETTABLE00:DW 64580,64684,64777,64820DW 64898,64968,65030,64260DW64400,64524,65058,63835,64021TABLE10: DB 66H,52H,36H,22H,12H,12H,22H,32H,98

38、H,84H,82H,92H,14H,12H,22HDB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98HDB 24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22HDB 12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38HDB 66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32HDB 22H,12H,92H,82H,98H,14H,

39、24H,34H,44H,64H,0B4H,64H,32H,52HDB 62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38HDB 64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52HDB 52H,62H,7FH,74H,04H,58H,6FHDB 00TABLE20:DB 02H,82HDB 16H,32H,54H,02H,52HDB 0A6H,32H,54H,02H,52HDB 64H,74H,0B6H,64HDB 52H,CH,32H,22

40、HDB 16H,12H,14H,32H,22HDB 16H,12H,14H,22H,32HDB 26H,12H,94H,22H,32HDB 2CHDB 32H,52HDB 36H,22H,14H,54HDB 0ACH,92H,0A2HDB 96H,0A2H,96H,82HDB 3CH,54HDB 36H,22H,14H,54HDB 0ACH,92H,0A2HDB 16H,12H,14H,22H,32HDB 2CH,02H,82HDB 16H,32H,56H,12HDB 0A6H,32H,56H,52HDB 66H,72H,0B6H,62HDB 62H,52H,58H,32H,22HDB 16H

41、,12H,14H,32H,22HDB 16H,12H,14H,22H,32HDB 26H,92H,0A4H,12H,22HDB 1CHDB 00TABLE30:DB 0d4H,84H,94H,82H,92HDB 12H,22H,82H,92H,02H,92H,82H,0d2HDB 82H,92H,14H,84H,02H,0d1H,0d1HDB 0c2H,0d2H,84H,0d2H,0d2H,82H,82HDB 84H,82H,82H,94H,82H,0d2HDB 82H,82H,82H,92H,02H,82H,82H,0d2HDB 0c4H,84H,0d4H,92H,0d2HDB 82H,0d

42、2H,82H,92H,98HDB 04H,94H,88HDB 04H,94H,88HDB 04H,94H,88HDB 04H,94H,88H,04HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,22HDB 54H,44H,34H,12H,22HDB 34H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,22HDB 5

43、4H,44H,32H,22H,12H,92HDB 00TABLE40:DB 88h,14h,24h,36H,42H,34H,14H,28H,14H,94HDB 1fH,88H,14H,24H,34H,32H,42H,54H,14HDB 46H,32H,54H,22H,32H,32H,22H,2CH,38H,54H,74HDB 76H,62H,68H,54H,52H,62H,74H,62H,52H,3fHDB 46H,42H,54H,64H,54H,42H,32H,28H,0a4H,0a2HDB 92H,84H,94H,1fH,0b8H,68H,46H,52H,68HDB 74H,72H,72H

44、,74H,62H,52H,3fH,0b8H,68HDB 46H,52H,68H,64H,62H,62H,64H,42H,32H,2fHDB 58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12HDB 94H,9cH,0a8H,0a6H,92H,84H,64H,54H,22H,22H,46H,42H,44H,32H,22H,5fHDB 00TABLE50:DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24HDB 22H,24H,12H,92H,22H,24H,32H,2

45、4H,32H,52H,62H,54H,52H,64H,52H,32HDB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94H,1cHDB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24HDB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32HDB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1cH,32H,52HDB 62H,64H,62H

46、,64H,0b2H,62H,52H,54H,62H,54H,32H,22HDB12H,14H,12H,14H,24H,3cH,32H,22H,12H,14H,12H,14H,0b2H,62H,52H,54H,62H,54H,32H,52HDB 66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,64H,62H,64H,0b2H,62H,52H,54HDB62H,54H,32H,22H,12H,14H,12H,14H,54H,3cH,32H,22H,12H,14H,12H,14H,22H,32HDB 52H,54H,32H,54H,32H,52H,6fH,04H,02H,

47、92H,32H,24H,12H,1fHDB 00TABLE60:DB32H,22H,38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,92H,88H,04H,32H,22HDB38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,21H,92H,12H,28H,04H,32H,22HDB38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,91H,11H,88HDB04H,32H,52H,58H,02H,52H

48、,62H,52H,38H,04H,22H,22H,24H,22H,32H,22H,12H,92H,92HDB 12H,12H,1cH,08H,02H,52H,52H,62H,0b2H,72H,72H,62H,32H,22H,22H,22HDB38H,02H,32H,32H,52H,64H,64H,02H,92H,32H,22H,28H,04H,32H,52H,52H,32H,54H,02H,0b4H,72HDB 62H,72H,34H,02H,62H,62H,72H,62H,52H,32H,22H,02H,32H,22H,32HDB 58H,02H,52H,52H,62H,0b2H,72H,72H,62H,32H,22H,

溫馨提示

  • 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

提交評論