數(shù)字音樂盒實驗報告_第1頁
數(shù)字音樂盒實驗報告_第2頁
數(shù)字音樂盒實驗報告_第3頁
數(shù)字音樂盒實驗報告_第4頁
數(shù)字音樂盒實驗報告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 單片機與接口設計課程設計報告題 目數(shù)字音樂盒學 號130803023 130803088 130803100姓 名胡杰 張宏 朱子龍年級專業(yè)13級通信工程指導教師黃云飛完成日期2016年3月4日安徽師范大學物理與電子信息學院College of Physics and Electronic Information, Anhui Normal University物理與電子信息學院課程設計評定意見指導教師評語主要內(nèi)容包括:設計報告內(nèi)容的完整性和完成情況、報告格式的規(guī)范性、通過課程設計取得的收獲等。成績: 簽名: 年 月 日注:本頁與上一頁用A3紙?zhí)子〕煞饷婧头獾?,課程設計報告正文用A4紙打印然

2、后裝訂 課 程 設 計 劃 任 務 書 通信工程 系 通信工程 專業(yè) 學生姓名 朱子龍 班級 13級 學號:130803100 學生姓名 胡杰 班級 13級 學號:130803023 學生姓名 張宏 班級 13級 學號:120803088 課程名稱: 單片機原理與接口技術 設計題目:數(shù)字音樂盒 課程設計內(nèi)容與要求:課程設計開始日期2016 年1 月 14 日指導教師 黃云飛 課程設計結(jié)束日期 2016 年 3 月 4 日 安徽師范大學物理與電子信息學院數(shù)字音樂盒摘要:本設計是基于單片機的數(shù)字音樂盒設計,由單片機AT89C51芯片和LCD顯示器為核心,輔以必要的電路,構(gòu)成的一個單片機電子數(shù)字音樂

3、盒。要求利用I/O口產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào)并采用LCD顯示信息,從而演奏樂曲(最少三首樂曲,每首不少于30秒),開機時有英文歡迎提示字符,播放時顯示歌曲序號(或名稱),可通過功能鍵選擇樂曲,暫停,播放。本設計采用4*4鍵盤,用Protel99來畫系統(tǒng)硬件圖,采用匯編語言進行編程,編程后利用KEIL C51來進行編譯,再生成的HEX文件裝入芯片中,采用proteus軟件來仿真,檢驗功能得以正常實現(xiàn)。該音樂盒的設計可以通過按鍵選擇不同的曲目,播放和暫停,并通過LCD顯示歌曲號及播放時間。本設計鍵盤采用動態(tài)掃描方式。每次掃描一行鍵盤,送此行低電平,讀輸入口的狀態(tài)值,判斷有沒有

4、鍵按下。若有鍵按下,根據(jù)讀入口的值選擇顯示值并送至顯示值寄存單元,判斷鍵值,啟動計數(shù)器T0,根據(jù)次值為偏移地址找到要選擇的音樂的代碼的首地址,根據(jù)代碼產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出音。同時啟動定時器T1,計算音樂的播放的時間。 關鍵詞:數(shù)字音樂盒;AT89C51;KEIL;PROTEUS;數(shù)碼管安徽師范大學物理與電子信息學院The Designation OfControllable Digital Music Box Based On 51 SCMAbstract: This paper explains the design of controllable digital music

5、 box are based on AT89C51. This music box is designed by the idea that a multi-functional digital music box can be based on the technical principle of single chip microcomputer (SCM), together with using the PROTEUS to simulate the hardware circuit and using KEIL to program the source of music box w

6、hich is compiled with C language. This music box can produce square waves of different frequency in control of the timer inside SCM, and music of different tunes by driving speaker. The program is made use of to drive the sounding equipment to play pleasant music by the way of changing music score i

7、nto the corresponding timing constant.This music box is totally designed with five songs, and also with three changeable patterns of LED colorful lights. While the songs are being performed, the colorful lights are flashing with tones. While the songs are stopped playing, the colorful lights start t

8、o flash with three changeable patterns. The songs and patterns can be free to switch. At the same time, the digital tube is also constantly changing figures to show the serial number of the songs and the patterns of the colorful lights.Key words: Digital music box; AT89C51; KEIL; PROTEUS; Digital tu

9、be 目 錄 前言-11 單片機和音樂盒硬件的功能-21.1 AT89C51芯片的功能-21.2 音樂盒的硬件及其功能-42 數(shù)字音樂盒的主體設計方案-52.1 音樂盒的主體結(jié)構(gòu)-52.2 主設計軟件的介紹-52.2.1 編程軟件KEIL的簡介-52.2.2 仿真軟件PROTEUS的簡介-63 音樂盒硬件設計-83.1 總設計框圖-83.2 各部分硬件的作用-83.2.1時鐘振蕩電路-84 音調(diào)和節(jié)拍的設計-114.1 音調(diào)和節(jié)拍的設計以及音樂基礎知識-114.2 音調(diào)和節(jié)拍的編碼-135 數(shù)字音樂盒總設計圖-175.1 仿真總設計圖-17 結(jié)論-19參考文獻-20致謝-21附錄-22前言隨著

10、科技越來越發(fā)達,單片機技術也越來越純熟,單片機的應用也越來越廣泛,可以說幾乎很難找到哪個領域沒有單片機的蹤跡。如今,單片機在各個領域都起著至關重要的作用1。單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。隨著人類社會的發(fā)展,人們對于視聽方面的享受提出了更高的要求。而傳統(tǒng)的音樂盒大部分是機械型的,體積龐大,而且沉重,發(fā)音單調(diào),且不悅耳,不能實現(xiàn)大批量的

11、生產(chǎn),所以很難滿足當代人們的需求。但是本文設計的數(shù)字音樂盒是以單片機為核心元件的數(shù)字音樂盒。單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點。因此該數(shù)字音樂盒也就具有體積小,重量輕,能演奏各種各樣的音樂,功能多,外觀絢麗多彩,使用非常方便等諸多優(yōu)點。而且具有一定的開發(fā)價值。1 單片機和音樂盒硬件的功能隨著當代單片機技術的突飛猛進,單片機的功能也越來越強大,主要包括有:(1)單片機集成度高;(2)系統(tǒng)結(jié)構(gòu)簡單,使用方便,實現(xiàn)模塊化; (3)單片機可靠性高,處理功能強,速度快; (4)低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品 ;(5)控制功能強大。而本文設計采用的是AT89C51單

12、片機,這是一款性價比非常高的單片機。1.1 AT89C51芯片的功能AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器。俗稱單片機。如圖1.1所示。圖表 1.11.2 音樂盒的硬件及其功能本文設計的數(shù)字音樂盒,所需要的硬件有:AT89C51芯片:主控制器;數(shù)碼管:音樂序號顯示,P0.0-P0.6控制數(shù)碼管;晶振:給單片機正常工作提供穩(wěn)定的時鐘信號,電路為12MHZ晶振頻率工作,起振電路中C1、C2均為30PF。電容:保持一個恒定的偏執(zhí)電壓供給;喇叭:發(fā)出聲音,P3.7控制喇叭電源:供電;電阻;控制電路;開關:控制音樂,P3.2控制LED彩燈花樣的切換,

13、P3.3控制音樂的切換。2數(shù)字音樂盒的主體設計方案2.1 音樂盒的主體結(jié)構(gòu)該音樂盒主要是通過控制單片機內(nèi)部的定時器來產(chǎn)生不同頻率的方波,驅(qū)動喇叭發(fā)出不同音調(diào)的音樂。如圖2所示。圖表 2本設計是一個基于AT89C51系列單片機的數(shù)字音樂盒,一共設計了五首不同風格的歌曲,在播放歌曲同時八路LED彩燈隨音調(diào)變化而變化,同時利用數(shù)碼管顯示歌曲的序號,以便切換歌曲。在不播放歌曲的時候還設計了八路LED彩燈,可以隨意變化三種花樣,給人們帶來視聽的雙重享受。一共設計了兩個開關,一個用以切換LED彩燈花樣,一個用以切換歌曲。2.2 主設計軟件的介紹本次設計主要用到了兩款軟件,一款是用以對源代碼進行C語言編程的

14、KEIL軟件,另一款則是用以對實物設計進行仿真的PROTEUS軟件4。2.2.1 編程軟件KEIL的簡介要進行單片機的開發(fā)設計,首先離不開的就是軟件,而如果你使用C語言編程,那么KEIL幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。KEIL C51是美國KEIL Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。KEIL提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)

15、境(uVision)將這些部分組合在一起。運行KEIL軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope

16、51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。KEIL C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 KEIL C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。是一款非常不錯的軟件。2.2.2 仿真軟件PROTEUS的簡介有了編譯軟件,同樣也少不了仿真軟件PROTEUS,這是一款非常強大的仿真軟件,有了它以后,我們

17、就可以節(jié)省大量的精力和資源,僅僅通過電腦就能模擬我們想要的東西,直至滿足我們自己的要求為止。PROTEUS軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。PROTEUS是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計

18、軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC(10、12、16、18、24、30、DsPIC33)、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、KEIL和MPLAB等多種編譯器。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標代碼文件(.HEX),可以在PROTEUS的原理圖中看到模擬的實物運行狀態(tài)和過程。PROTEUS 是單片機課堂教學的先進助手。PROTEUS不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上

19、得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能,例如:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運行結(jié)果等。3 音樂盒硬件設計3.1 總設計框圖通過前面的介紹,本文的設計思路已經(jīng)基本清晰,總設計框圖如圖3所示。圖表 33.2各部分硬件的作用硬件除了AT89C51芯片外,主要的就是時鐘振蕩電路、LED彩燈以及數(shù)碼管的設計。4.2.1時鐘振蕩電路AT89C51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與

20、作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1,C2雖然沒有什么嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易、程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF-10PF,而如果使用陶瓷振蕩器建議選擇40PF-10PF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖示。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求

21、,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產(chǎn)品技術條件的要求。振蕩器電路圖4所示。圖表 43.2.2 LED和數(shù)碼管的設計(1)八路LED彩燈,分別接在P1.0-P1.7這八個端口上,連接方式為共陽極,若為低電平,可使LED亮起。發(fā)光二極管的亮、熄由內(nèi)部程序控制,八個LED發(fā)光二極管分別對應不同的音階,所以LED會隨著音階的變化按規(guī)律亮、熄。(2)數(shù)碼管接在AT89C51的P0端口上,數(shù)碼管采用的是共陰極數(shù)碼管5,在數(shù)碼管與端口之間接了上拉電阻以使數(shù)碼管能正常工作。4音調(diào)和節(jié)拍的設計4.1 音調(diào)和節(jié)拍的設計以及音樂基礎知識一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波

22、頻率,也就是說不能像電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調(diào)”和節(jié)拍表示一個音符唱多長的時間6。不同音高的樂音是用C、D、E、F、G、A、B來表示,這7個字母就是音樂的音名,它們一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成簡譜的1、2、3、4、5、6、7,相當于漢字“多來米發(fā)梭拉西”的讀音,這是唱曲時樂音的發(fā)音,所以叫“音調(diào)”,即Tone。把C、D、E、F、G、A、B這一組音的距離分成12個等份,每一個等份叫一個“半音”。兩個音之間的距離有兩個“半音”,就叫“全音”。在鋼琴等鍵盤樂器上,CD、DE、FG、GA、AB兩音之間隔著一個黑鍵,

23、他們之間的距離就是全音;EF、BC兩音之間沒有黑鍵相隔,它們之間的距離就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它們的左上角加上號或者b號的叫變化音。叫升記號,表示把音在原來的基礎上升高半音,b叫降記音,表示在原來的基礎上降低半音。例如高音DO的頻率(1046Hz)剛好是中音DO的頻率(523Hz)的一倍,中音DO的頻率(523Hz)剛好是低音DO頻率(266 Hz)的一倍;同樣的,高音RE的頻率(1175Hz)剛好是中音RE的頻率(587Hz)的一倍,中音RE的頻率(587Hz)剛好是低音RE頻率(294 Hz)的一倍。要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率)

24、,然后將此周期除以2,即為半周期的時間。利用定時器計時這半個周期時間,每當計時到后就將輸出脈沖的I/O反相,然后重復計時此半周期時間再對I/O反相,就可在I/O腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定時器使其工作在計數(shù)器模式MODE1下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。此外結(jié)束符和休止符7可以分別用代碼00H和FFH來表示,若查表結(jié)果為00H,則表示曲子終了;若查表結(jié)果為FFH,則產(chǎn)生相應的停頓效果。在簡譜中,數(shù)字上面帶一個點就是高8度,兩個點代表高16度。數(shù)字下面帶一個點就是低8度,兩個點代表低16度。若要構(gòu)成音樂,光有音調(diào)是不夠的,還需要節(jié)拍,讓音樂具有旋律(固定的律

25、動),而且可以調(diào)節(jié)各個音的快滿度?!肮?jié)拍”,即Beat,簡單說就是打拍子,就像我們聽音樂不自主的隨之拍手或跺腳。若1拍實0.5s,則1/4 拍為0.125s。至于1拍多少秒,并沒有嚴格規(guī)定,就像人的心跳一樣,大部分人的心跳是每分鐘72下,有些人快一點,有些人慢一點,只要聽的悅耳就好。音持續(xù)時間的長短即時值,一般用拍數(shù)表示。休止符表示暫停發(fā)音。一首音樂是由許多不同的音符組成的,而每個音符對應著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數(shù)對應的延時,構(gòu)成音樂。了解音樂的一些基礎知識,我們可知產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂。對于單片機來說,產(chǎn)生不同頻率的脈沖是非常方便的,利用單片機的定時

26、、計數(shù)器來產(chǎn)生這樣的方波頻率信號。因此,需要弄清楚音樂中的音符和對應的頻率,以及單片機定時計數(shù)的關系。每個音符使用1個字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍。如果1拍為0.4秒,1/4拍實0.1秒,只要設定延遲時間就可求得節(jié)拍的時間。假設1/4拍為1DELAY,則1拍應為4DELAY,以此類推。所以只要求得1/4拍的DELAY時間,其余的節(jié)拍就是它的倍數(shù),如1/4和1/8節(jié)拍的時間設定。4.2 音調(diào)和節(jié)拍的編碼do re mi fa so la si分別編碼為1-7,重音do編為8,重音re編為9,重音mi編為A,重音fa編為B,重音so編為C,重音la編為D,重音si編為E,

27、停頓編為0。播放長度以十六分音符為單位(在本程序中為165ms),一拍即四分音符等于4個十六分音符,編為4,其它的播放時間以此類推。音調(diào)作為編碼的高4位,而播放時間作為低4位,如此音調(diào)和節(jié)拍就構(gòu)成了一個編碼。以0xff作為曲譜的結(jié)束標志。舉例1:音調(diào)do,發(fā)音長度為兩拍,即二分音符,將其編碼為0x18。舉例2:音調(diào)re,發(fā)音長度為半拍,即八分音符,將其編碼為0x22。歌曲播放的設計。先將歌曲的簡譜進行編碼,儲存在一個數(shù)據(jù)類型為unsigned char 的數(shù)組中。程序從數(shù)組中取出一個數(shù),然后分離出高4位得到音調(diào),接著找出相應的值賦給定時器0,使之定時操作蜂鳴器,得出相應的音調(diào);接著分離出該數(shù)的

28、低4位,得到延時時間,接著調(diào)用軟件延時。5 數(shù)字音樂盒總設計圖5.1 仿真總設計圖結(jié)論經(jīng)過一個星期的學習和研究,終于完成本次設計。我更加清楚地了解單片機的功能與價值,而且在設計過程中所遇到的問題,最終都通過老師和同學的幫助再加上自己的努力一一解決,因此我從中不僅獲得了很多知識,而且還獲得了很多寶貴經(jīng)驗,這都是我終身難忘的。在拿到設計題目之初,我還很擔心,這個題目怎么完成呢,但隨著設計的一步步成功,一下就讓我信心倍增,特別是當問題得到解決的時候,那種心情是無法言語的。雖然在設計過程中,我查閱了很多資料,遇到了一些很棘手的問題,但當程序運行成功的時候,那種美妙感永遠都不會忘記。本次論文設計,除了知

29、識的增長外,我從中找到了成功后的自信。這必將激勵我在以后的生活和工作中更加努力奮斗,更加斗志昂揚。參考文獻1 王玉鳳/劉湘黔/楊欣. 51單片機應用從零開始. 北京:清華大學出版社,20082 陳衛(wèi)兵.單片機技術與應用基礎.北京:人民郵電出版社,20103 郭水保,高艷霞,王道洪.基于AT-89C51單片機的LED彩燈控制設計J.現(xiàn)代電子技術.2005年第6期:119-1224 何立民.單片機應用技術大全J.北京:北京航空航天大學出版社, 1994 02期:53-985 張友德.單片機微控制技術J.北京:清華大學出版社,1994(08): 86-87 146-147致謝這次論文的成功完成,首先

30、感謝我的導師黃云飛老師,他工作認真負責,無論什么關于論文的事都非常及時的通知我,并且耐心細致地給我審閱、批改文檔格式,指導我如何解決問題,在此,我再次表示誠摯的謝意。感謝我的同學給我設計上的指導與幫助,在我遇到棘手的問題時,我的同學總是耐心地給我解答,最終讓我乘風破浪到達了勝利的彼岸。感謝安徽師范大學物電學院實驗室提供的各種硬件材料以及實際操作的指導。在這設計即將完成之際,我祝愿我的同學、朋友取得好的成績。也衷心祝愿我的母校安徽師范大學,明天更輝煌!附錄A總程序源代碼及注釋主程序流程圖如圖:ORG 0000H LJMP MAINA ORG 000BH ;定時0中斷服務程序 LJMP T0INT

31、 ;長跳轉(zhuǎn) ORG 001BH ;定時1中斷服務 LJMP T1INT;- ORG 0040H;MAINA: JB p2.0,MAINB ;P2.1=1執(zhí)行KB0 AJMP NEXT0MAINB: JNB p2.0,MAINA AJMP KB0NEXT0:JB P1.0,NEXT1 ACALL DELAY JB P1.0,NEXT1 MOV DPTR,#SONG1 AJMP MAINNEXT1:JB P1.1,NEXT2 ACALL DELAY JB P1.1,NEXT2 MOV DPTR,#SONG2 AJMP MAINNEXT2:JB P1.2,NEXT3 ACALL DELAY JB P

32、1.2,NEXT3 MOV DPTR,#SONG3 AJMP MAINNEXT3:JB P1.3,NEXT4 ACALL DELAY JB P1.3,NEXT4 MOV DPTR,#SONG4 AJMP MAINNEXT4:JB P1.4,NEXT5 ACALL DELAY JB P1.4,NEXT5 MOV DPTR,#SONG1 AJMP MAINNEXT5:JB P1.5,NEXT6 ACALL DELAY JB P1.5,NEXT6 MOV DPTR,#SONG2 AJMP MAINNEXT6:JB P1.6,NEXT7 ACALL DELAY JB P1.6,NEXT7 MOV DP

33、TR,#SONG3 AJMP MAINNEXT7:JB P1.7,LOP ACALL DELAY JB P1.7,LOP MOV DPTR,#SONG4 AJMP MAINkb0:JB P1.0,kb1 ACALL DELAY JB P1.0,kb1 MOV DPTR,#TAB1 AJMP MAINkb1:JB P1.1,kb2 ACALL DELAY JB P1.1,kb2 MOV DPTR,#TAB2 AJMP MAINkb2:JB P1.2,kb3 ACALL DELAY JB P1.2,kb3 MOV DPTR,#TAB3 AJMP MAINkb3:JB P1.3,kb4 ACALL

34、DELAY JB P1.3,kb4 MOV DPTR,#TAB4 AJMP MAINkb4:JB P1.4,kb5 ACALL DELAY JB P1.4,kb5 MOV DPTR,#TAB5 AJMP MAINkb5:JB P1.5,kb6 ACALL DELAY JB P1.5,kb6 MOV DPTR,#TAB6 AJMP MAINkb6:JB P1.6,kb7 ACALL DELAY JB P1.6,kb7 MOV DPTR,#TAB7 AJMP MAINkb7:JB P1.7,LOP ACALL DELAY JB P1.7,LOP MOV DPTR,#TAB8 AJMP MAINLO

35、P: LJMP MAINA;MAIN: MOV SP,#40H ;初始化堆棧 MOV IP,#08H MOV TMOD,#11H SETB EA SETB ET1 SETBET0 SETB TR1 SETBTR0NEXT: MOV A,#00hMOVC A,A+DPTRCJNE A,#'$',COUNTLJMP EXITCOUNT: RL A MOV R7,AINC DPTRMOV A,#00HMOVC A,A+DPTR;RL AMOV R6,AINC DPTRPUSH DPHPUSH DPLMOV DPTR,#TABLEMOV A,R7MOVC A,A+DPTRMOV TH0

36、,AMOV A,R7INC AMOVC A,A+DPTRMOV TL0,AMOV TH1,#0BHMOV TL1,#0DCH ;0BDCH=62.5ms 1/8拍POP DPLPOP DPHHERE1:CJNE R6,#00H,HERE1LJMP NEXTEXIT: CLR TR0CLR TR1CLR P0.0LJMP MAINA;外部中斷0服務程序T0INT: CPL P0.0PUSH DPHPUSH DPLMOV DPTR,#TABLEMOV A,R7MOVC A,A+DPTRMOV TH0,AMOV A,R7INC AMOVC A,A+DPTRMOV TL0,APOP DPLPOP DP

37、HRETI;外部中斷1服務程序T1INT: MOV TH1,#0CHMOV TL1,#0DCHDEC R6RETIDELAY:MOV R6,#10 DEL1:MOV R5,#125DEL2:NOPNOPDJNZ R5,DEL2DJNZ R6,DEL1RET;曲調(diào)代碼SONG1:DB 13,04,14,04,15,12,14,04,15,08,17,08,14,24 DB 10,04,10,04,13,12,12,04,13,08,15,08,12,24 DB 10,04,10,04,11,12,10,04,11,04,15,12,10,16 DB 15,08,15,04,15,04,14,12

38、,11,04,11,08,14,08,14,24 DB 13,04,14,04,15,12,14,04,15,08,17,08,14,24 DB 10,04,10,04,13,12,12,04,13,08,15,08,12,28 DB 10,04,11,08,15,04,14,04,14,08,15,08,16,04,16,04,17,04,15,16 DB 15,08,14,04,13,04,13,04,14,08,12,08,13,24 DB 15,04,16,04,17,12,16,04,17,08,19,08,16,24 DB 12,04,12,04,15,04,14,04,15,08

39、,17,08,17,32 DB 13,04,14,04,15,08,14,08,16,04,16,04,15,12,12,04,12,16 DB 18,08,17,08,16,08,15,08,17,24,17,16 DB 17,08,20,16,19,08,19,08,17,04,16,04,15,12 DB 15,04,16,08,15,04,16,04,16,04,19,08,17,24 DB 17,08,20,16,19,16,17,04,16,04,15,20 DB 15,04,16,08,15,04,16,04,16,04,14,08,13,24,13,04,14,04,'$'SONG2: DB 13,08,15,08,16,08,15,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論