(湖南工業(yè)大學(xué)單片機(jī)課程設(shè)計(jì)-)基于51單片機(jī)的音樂播放器_第1頁(yè)
(湖南工業(yè)大學(xué)單片機(jī)課程設(shè)計(jì)-)基于51單片機(jī)的音樂播放器_第2頁(yè)
(湖南工業(yè)大學(xué)單片機(jī)課程設(shè)計(jì)-)基于51單片機(jī)的音樂播放器_第3頁(yè)
(湖南工業(yè)大學(xué)單片機(jī)課程設(shè)計(jì)-)基于51單片機(jī)的音樂播放器_第4頁(yè)
(湖南工業(yè)大學(xué)單片機(jī)課程設(shè)計(jì)-)基于51單片機(jī)的音樂播放器_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

湖南工業(yè)大學(xué)課程設(shè)計(jì)任務(wù)書2014 2015學(xué)年 第一學(xué)期 電氣與信息工程 學(xué)院(系、部) 自動(dòng)化 專業(yè) 班級(jí)課程名稱: 單片機(jī)應(yīng)用系統(tǒng) 設(shè)計(jì)題目: 基于51單片機(jī)的音樂播放器 完成期限:自 2014 年 12 月 15 日至 2014 年 12 月 26 日共 2 周內(nèi)容及任務(wù)設(shè)計(jì)一個(gè)基于51單片機(jī)的音樂播放器:設(shè)計(jì)一個(gè)音樂播放器,利用51單片機(jī)產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),演奏樂曲 。共含有3首歌曲,通過p3.2的按鍵開啟播放器,自動(dòng)從第一首歌曲播放至第三首歌曲,播放時(shí)能顯示樂曲的序號(hào),同時(shí)相應(yīng)歌曲的指示燈會(huì)亮起。按下按鍵p3.4 ,可實(shí)現(xiàn)播放下一曲的功能 ,按下按鍵p3.5,可實(shí)現(xiàn)播放上一曲的功能。按下按鍵P3.3,可實(shí)現(xiàn)暫停、播放功能,同時(shí)數(shù)碼管顯示字符F. 進(jìn)度安排起止日期工作內(nèi)容2014.12.152014.12.17講述設(shè)計(jì)內(nèi)容及基本原理2014.12.182014.12.23進(jìn)行系統(tǒng)的設(shè)計(jì)2014.12.242014.12.25進(jìn)行系統(tǒng)的調(diào)試2014.12.26驗(yàn)收主要參考資料 1歐偉民、何靜.單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì).電子工業(yè)出版社,2013年 2馬忠梅.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)(第五版).北京航空航天出版社,2013年 3胡漢才.單片機(jī)原理及其接口技術(shù)(第二版).北京清華大學(xué)出版社,2003年 4李俊梅.音樂基礎(chǔ)理論.中國(guó)傳媒大學(xué)出版社,2003年指導(dǎo)教師(簽字): 年 月 日系(教研室)主任(簽字): 年 月 日8(單片機(jī)應(yīng)用系統(tǒng))設(shè)計(jì)說明書(題目)基于51單片機(jī)的音樂播放器起止日期: 2014 年 12 月 15 日 至 2014 年 12 月 26 日學(xué)生姓名班級(jí)學(xué)號(hào)成績(jī)指導(dǎo)教師(簽字)電氣與信息工程學(xué)院(部)2014年 12 月26日湖 南 工 業(yè) 大 學(xué)本科課程設(shè)計(jì)開題報(bào)告 學(xué) 院(部):電氣與信息工程學(xué)院 專 業(yè):自動(dòng)化 學(xué) 生 姓 名: 班 級(jí): 學(xué) 號(hào): 指導(dǎo)教師姓名: 職稱 2014年12月 17日題目:基于51單片機(jī)的音樂播放器1. 結(jié)合課題任務(wù)情況,查閱文獻(xiàn)資料,撰寫文獻(xiàn)綜述音樂是反映人類現(xiàn)實(shí)生活情感的一種藝術(shù),東方以中國(guó)為首的中國(guó)古代理論基礎(chǔ)是五聲音階,即宮、商、角、徵、羽.自古以來(lái),高山流水,亦或是陽(yáng)春白雪、下里巴人,音樂總是以其律動(dòng)的形式,陶冶人們的情操,增添生活的樂趣。在所有的藝術(shù)形式中,音樂是最擅長(zhǎng)于抒發(fā)情感、最能撥動(dòng)人心弦的藝術(shù)形式,它借助聲音這個(gè)媒介來(lái)真實(shí)地傳達(dá)、表現(xiàn)和感受審美情感。利用單片機(jī)演奏音樂大概是單片機(jī)愛好者感興趣的問題之一。利用單片機(jī)控制音樂播放比較常見,音樂芯片也相當(dāng)之多,而利用單片機(jī)存儲(chǔ)音樂,控制播放,也正是本設(shè)計(jì)的初衷,單片機(jī)控制靈活通用,模塊化,易學(xué)易用, 單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),將單片機(jī)與音樂播放結(jié)合,是具有可行性的。通過控制單片機(jī)定時(shí)器的定時(shí)時(shí)間產(chǎn)生不同頻率的音頻脈沖,經(jīng)放大后驅(qū)動(dòng)蜂鳴器發(fā)出不同音節(jié)的聲音,即聲調(diào)。用軟件延時(shí)來(lái)控制發(fā)音時(shí)間的長(zhǎng)短,控制節(jié)拍。把樂譜中的音符和相應(yīng)的節(jié)拍變換為定時(shí)常數(shù)和延時(shí)常數(shù),作為數(shù)據(jù)表格存放在存儲(chǔ)器中,由程序查表得到定時(shí)常數(shù)和延時(shí)常數(shù),分別用來(lái)控制定時(shí)器產(chǎn)生的脈沖頻率和發(fā)出該音頻脈沖的持續(xù)時(shí)間。 音樂播放器是利用單片機(jī)產(chǎn)生樂曲音符,再把樂曲音符翻譯成計(jì)算機(jī)語(yǔ)言,利用單片機(jī)進(jìn)行信息處理,再通過蜂鳴器放出音樂。音樂的產(chǎn)生主要是通過單片機(jī)的I/O口輸入不同的脈沖信號(hào)來(lái)控制蜂鳴器發(fā)音。要想產(chǎn)生音頻脈沖信號(hào),需要算出某一音頻的周期(1/頻率),然后將此周期除以二,即為半周期的時(shí)間。利用單片機(jī)定時(shí)器計(jì)時(shí)這個(gè)半個(gè)周期的時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O口反相,然后重復(fù)計(jì)時(shí)此半周期的時(shí)間再對(duì)I/O口反相,這樣就能在此I/O口上得到此頻率的脈沖。通常,利用單片機(jī)的內(nèi)部定時(shí)器0,工作在方式一下,改變計(jì)數(shù)初值TH0和TL0來(lái)產(chǎn)生不同頻率。對(duì)于音符的節(jié)拍,如果1拍為0.4s,那么1/4拍為0.1s,只要設(shè)定延遲時(shí)間就可以求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1DELAY,那么1拍應(yīng)為4DELAY,以此類推??偠灾皇讟非怯梢綦A和節(jié)拍兩大要素構(gòu)成。一首樂曲演奏的原理是:不同音階分別對(duì)應(yīng)不同的頻率,發(fā)出不同的音調(diào)而節(jié)拍則控制發(fā)出音調(diào)時(shí)間的長(zhǎng)短;若將樂曲的音調(diào)連續(xù)發(fā)出,并使其按相應(yīng)的節(jié)拍變化,即可演奏一首樂曲。根據(jù)這一基本原理,我采用單片機(jī)來(lái)設(shè)計(jì)音樂播放器。本課題以單片機(jī)為核心設(shè)計(jì)一個(gè)音樂播放器,完成多曲選擇播放控制、停止控制、上一曲、下一曲控制等功能。音樂播放器利用單片機(jī)的定時(shí)器產(chǎn)生樂譜的各種頻率方波,信號(hào)經(jīng)過放大后由蜂鳴器發(fā)出聲音,選取某段音樂使單片機(jī)連續(xù)播放。設(shè)計(jì)4個(gè)按鍵:播放/停止、下一曲、上一曲;1位LED顯示器,用來(lái)顯示所選曲目,在開發(fā)板上進(jìn)行調(diào)試。MCS-51系列單片機(jī)優(yōu)異的性能/價(jià)格比,使得它從面世以來(lái)就獲得用戶的認(rèn)可。20世紀(jì)80年代中期以后,Intel公司把這種單片機(jī)的內(nèi)核(即8051內(nèi)核)以出售或互換專利的方式傳授給一些半導(dǎo)體公司,如Atmel、Philips、SST等,這些公司的這類產(chǎn)品被稱為80C51系列單片機(jī),其中以Atmel、Philips、SST等公司生產(chǎn)的與80C51兼容的8位單片機(jī)89C51最為典型。 2選題依據(jù)、主要研究?jī)?nèi)容、研究思路及方案2.1選題依據(jù)當(dāng)今社會(huì)的快速發(fā)展,科技的進(jìn)步,人們的生活水平不斷提高,人們開始使用開發(fā)電子產(chǎn)品,給生活、工作帶來(lái)便利。單片機(jī)的應(yīng)用剛好適應(yīng)了人們的需求,同時(shí)它更加貼近于生活。而音樂這一靈動(dòng)的形式為人所喜愛,自然的音符,跳動(dòng)的音階,美好的旋律,總是給人美的享受。將時(shí)下流行的音樂概念投射到單片機(jī)的控制領(lǐng)域,通過編程控制,讓單片機(jī)蜂鳴器發(fā)出 音樂,切中時(shí)下的電子產(chǎn)品領(lǐng)域熱潮。有其新穎性,創(chuàng)新元素也體現(xiàn)在其中。同時(shí)作為音樂愛好者,通過單片機(jī)的控制,將所學(xué)知識(shí)和自己的興趣愛好結(jié)合起來(lái),也是一件樂事,是自己能夠運(yùn)用所學(xué)知識(shí),制作設(shè)計(jì)一個(gè)控制播放器,有其趣味性,是自己十分感興趣的選題。音樂播放器先前早就出現(xiàn)過,音樂芯片也在市場(chǎng)上很常見。利用單片機(jī)控制播放音樂也不勝枚舉。利用所學(xué)的單片機(jī)知識(shí),由于本人對(duì)音樂簡(jiǎn)譜知識(shí)有一定了解,因此,選題具有可操作性,可行性。是能夠利用目前階段所學(xué)知識(shí)設(shè)計(jì)出來(lái)的。本文介紹了一種基于AT89S-51單片機(jī)的簡(jiǎn)單音樂播放器設(shè)計(jì)。該設(shè)計(jì)以8051單片機(jī)為主體,結(jié)合播放等設(shè)備,實(shí)現(xiàn)單首歌曲循環(huán)播放及暫停功能,同時(shí)以指示燈顯示播放狀態(tài)。2.2 主要研究?jī)?nèi)容以AT89S51為核心的音樂播放器,首先要深入了解此款單片機(jī)的各個(gè)功能,包括定時(shí)器、中斷、數(shù)碼管顯示、按鍵的操作等。利用51單片機(jī)制作一個(gè)簡(jiǎn)單的音樂播放器,本課題以單片機(jī)為核心設(shè)計(jì)一個(gè)音樂播放器,完成多曲選擇播放控制、停止控制、上一曲、下一曲控制等功能。音樂播放器利用單片機(jī)的定時(shí)器產(chǎn)生樂譜的各種頻率方波,信號(hào)經(jīng)過放大后由蜂鳴器發(fā)出聲音,選取某段音樂使單片機(jī)連續(xù)播放。設(shè)計(jì)4個(gè)按鍵:?jiǎn)?dòng)、播放/停止、下一曲、上一曲;1位LED顯示器,用來(lái)顯示所選曲目,在開發(fā)板上進(jìn)行調(diào)試。根據(jù)系統(tǒng)的功能分析系統(tǒng)所需要用到的硬件資源,包括電源電路、定時(shí)中斷、蜂鳴器電路、按鍵輸入、數(shù)碼管顯示、復(fù)位電路。根據(jù)系統(tǒng)功能及其51單片機(jī)的硬件資源,編寫系統(tǒng)主控軟件、音樂播放軟件、樂曲曲譜表、按鍵控制模塊、數(shù)碼管顯示模塊、二極管亮燈設(shè)計(jì),并進(jìn)行軟件調(diào)試。采用匯編語(yǔ)言,在keil uVision4中進(jìn)行程序編寫、編譯并生成可下載的文件,通過串口連接下載到系統(tǒng)中。實(shí)現(xiàn)音樂播放器的預(yù)定功能。以AT89S51為核心的音樂播放器,首先要深入了解此款單片機(jī)的各個(gè)功能,包括定時(shí)器、中斷、數(shù)碼管顯示、按鍵的操作等。2.3 研究思路及方案以AT89S51微處理器為核心進(jìn)行音樂播放器設(shè)計(jì):(1)51單片機(jī)。51單片機(jī)為整個(gè)系統(tǒng)的核心部分,是帶動(dòng)整個(gè)系統(tǒng)工作的重要部件。(2)按鍵輸入。按鍵輸入用來(lái)控制音樂播放指令,按下不同的按鍵,單片機(jī)執(zhí)行不同的指令,顯示正在演奏的歌曲 序號(hào),并亮起相應(yīng)的指示燈。(3)蜂鳴器電路。蜂鳴器作為輸出部分,按照曲譜發(fā)出音樂。(4)數(shù)碼管顯示電路。數(shù)碼管顯示也作為輸出部分,顯示當(dāng)前正在演奏的樂曲序號(hào)值。3. 工作進(jìn)度及具體安排第一周星期一、上午:布置課題任務(wù),課題介紹及講課。下午:借閱有關(guān)資料,總體方案討論。星期二、選題,確定選題。星期三、擬寫開題報(bào)告,老師審閱。確定總體方案。學(xué)習(xí)與設(shè)計(jì)相關(guān)內(nèi)容。星期四、學(xué)習(xí)與設(shè)計(jì)相關(guān)內(nèi)容。各部分方案設(shè)計(jì),各部分設(shè)計(jì)。星期五、學(xué)習(xí)與設(shè)計(jì)相關(guān)內(nèi)容第二周星期一:設(shè)計(jì)及上機(jī)調(diào)試。星期二:調(diào)試星期三:調(diào)試、寫說明書。星期四:寫說明書、完成電子版并打印成稿。星期五:老師驗(yàn)收,撰寫設(shè)計(jì)報(bào)告4. 指導(dǎo)教師意見指導(dǎo)教師: 年 月 日說明:開題報(bào)告作為課程設(shè)計(jì)答辯委員會(huì)對(duì)學(xué)生答辯資格審查的依據(jù)材料之一,此報(bào)告應(yīng)在導(dǎo)師指導(dǎo)下,由學(xué)生填寫,將作為課程設(shè)計(jì)成績(jī)考查的重要依據(jù),經(jīng)導(dǎo)師審查后簽署意見生效。單片機(jī)課程設(shè)計(jì)報(bào)告電氣與信息工程學(xué)院一、設(shè)計(jì)任務(wù):1本課題以單片機(jī)為核心設(shè)計(jì)一個(gè)音樂播放器,完成多曲選擇播放控制、停止控制、上一曲、下一曲控制等功能。音樂播放器利用單片機(jī)的定時(shí)器產(chǎn)生樂譜的各種頻率方波,信號(hào)經(jīng)過放大后由蜂鳴器發(fā)出聲音,選取某段音樂使單片機(jī)連續(xù)播放。設(shè)計(jì)4個(gè)按鍵:?jiǎn)?dòng)、播放/停止、下一曲、上一曲;1位LED顯示器,用來(lái)顯示所選曲目,在開發(fā)板上進(jìn)行調(diào)試。2.此次設(shè)計(jì)的音樂播放器具有如下要求:(1)按下P3.2啟動(dòng)鍵,音樂播放器按照從頭到尾的順序自動(dòng)播放預(yù)先設(shè)定的13共三首樂曲,全部播放完畢則從頭開始。 (2)播放歌曲時(shí),數(shù)碼管顯示正在播放的樂曲序號(hào),相應(yīng)的歌曲序號(hào)彩燈亮起,P2為第一首歌曲指示燈,P2.6、P2.5分別為第二首、第三首歌曲播放指示燈。 (3)P3.4為曲目加一按鍵,按下之后,播放下一首歌曲。數(shù)碼管顯示下一曲序號(hào),相應(yīng)指示燈亮起。 (4)P3.5為上一曲按鍵,按下之后,播放上一首歌曲。數(shù)碼管顯示上一曲一曲序號(hào),相應(yīng)指示燈亮起。 (5)當(dāng)用戶按下暫停鍵P3.3時(shí),音樂播放器打斷正在播放的某一樂曲,用戶再次按下暫停鍵,該樂曲繼續(xù)播放。二、單片機(jī)最小系統(tǒng)硬件資源介紹:1 單片機(jī)芯片、LED彩燈接口電路、數(shù)碼管接口電路單片機(jī)芯片LED數(shù)碼管2.輸入按鍵電路P3.5下一曲 P3.4上一曲 P3.3暫停/播放 P3.2啟動(dòng)3.蜂鳴器電路4.復(fù)位電路 5.電源電路 三、設(shè)計(jì)思路:3.1樂曲實(shí)現(xiàn)的原理 樂曲音階的計(jì)算表 簡(jiǎn)譜音符與頻率對(duì)應(yīng)圖根據(jù)程序設(shè)定的延時(shí),一周期的時(shí)間為0.0398ms,因?yàn)橹幸? 對(duì)應(yīng)的頻率為523Hz,所以頻率的控制值(TAB中的值)為十六進(jìn)制的30H,用十進(jìn)制表示為48。各音符頻率與計(jì)數(shù)值T的關(guān)系音符頻率(Hz)半周期(ms) 簡(jiǎn)譜碼T值定時(shí)值(H)簡(jiǎn)譜碼T值定時(shí)值(D)TAB值(16進(jìn)制)低1 Do2621.90F894H626285FH低2 Re2941.70F95CH6383555H低3 Mi3301.51FA1AH640214CH低4 Fa3491.43FA6AH6410348H低5 So3921.28FB00H6426010H低6 La4401.14FB8CH6440039H低7 Si4941.01FC0EH6452433H中1 Do5230.95FC4AH6458030H中2 Re5870.85FCAEH646842BH中3 Mi6590.76FD08H6477726H中4 Fa6980.72FD30H6482024H中5 So7840.64FD80H6489620H中6 La8800.57FDC6H649661CH中7 Si9880.51FE02H6503019H高1 Do10460.47FE2AH6505818H高2 Re11750.42FE5CH6511015H高3 Mi13180.38FE84H6515714H高4 Fa13970.36FE98H6517812H高5 So15680.32FEC0H6521710H高6 La17600.28FEE8H652520EH高7 Si19670.25FF06H652830DH樂曲節(jié)拍的計(jì)算;由定時(shí)器T0控制延時(shí)。歌曲是速度決定時(shí)間,但是時(shí)值是相對(duì)的。本設(shè)計(jì)中利用計(jì)數(shù)器完成10毫秒延時(shí),設(shè)置1拍的長(zhǎng)度為640毫秒,則對(duì)于TAB中的值用十六進(jìn)制表示為40h。節(jié)拍1/161/81/41/2TAB表值10H20H40H80H樂譜在程序中的編制將樂譜轉(zhuǎn)化為代碼,應(yīng)包含樂曲的音階、音長(zhǎng)(節(jié)拍)等信息。(1)將音階代碼組成一個(gè)字節(jié),節(jié)拍代碼組成一個(gè)字節(jié),按照:音階代碼,節(jié)拍代碼,音階代碼,節(jié)拍代碼的順序,將一個(gè)樂譜轉(zhuǎn)化成一定長(zhǎng)度的代碼數(shù)據(jù)表。(2)在程序執(zhí)行時(shí)順序查此表,取出音階代碼,隨后將對(duì)應(yīng)的定時(shí)初值送定時(shí)器T0,使定時(shí)器T0產(chǎn)生該音階對(duì)應(yīng)的頻率,并通過P1.5口輸出,驅(qū)動(dòng)外接蜂鳴器發(fā)聲。 (3)取出節(jié)拍代碼,持續(xù)相應(yīng)的節(jié)拍3.2系統(tǒng)流程圖3.3系統(tǒng)方案本設(shè)計(jì)用89S51單片機(jī)為核心,利用8段數(shù)碼管顯示器.采用動(dòng)態(tài)顯示輸出,聲音輸出用蜂鳴器來(lái)實(shí)現(xiàn),用一片單片機(jī)即可滿足本設(shè)計(jì)的輸入輸出。系統(tǒng)框圖如圖2-所示:電源電路12MHZ晶振電路89S51單片機(jī)顯示電路鍵控電路復(fù)位電路蜂鳴電路通過對(duì)音樂播放器主體部分的電路進(jìn)行模仿設(shè)計(jì),達(dá)到播放器固有的基本功能,設(shè)定按鈕K1、 K2、K3和K4。按鈕K1打開并自動(dòng)播放樂曲1至3;按鈕K2暫停/播放;按鈕K3為手動(dòng)下一曲調(diào)試鍵;按鈕K4為手動(dòng)上一曲調(diào)試鍵。根據(jù)設(shè)計(jì)要求該播放器能實(shí)現(xiàn)音鍵的控制。系統(tǒng)主要由播放器發(fā)聲模塊、按鍵選擇控制模塊和存儲(chǔ)器模塊構(gòu)成。播放器發(fā)聲模塊負(fù)責(zé)發(fā)出歌曲相應(yīng)的音符;選擇控制模塊負(fù)責(zé)由外部控制播放器的各項(xiàng)功能的實(shí)現(xiàn);顯示模塊負(fù)責(zé)按鍵時(shí)產(chǎn)生相應(yīng)的值,由數(shù)碼管來(lái)實(shí)現(xiàn)。在只實(shí)現(xiàn)基本功能時(shí)(由功能控制鍵控制),本文的主要內(nèi)容是用AT89S51單片機(jī)為核心控制元件,系統(tǒng)程序主要包括主程序,定時(shí)器中斷程序,音樂播放程序,延遲子程序等。四:PROTEUS仿真電路圖基于單片機(jī)的音樂播放器的是利用PROTEUS軟件來(lái)實(shí)現(xiàn)電腦仿真,仿真步驟:1、 打開PROTEUS軟件,選擇器件,連接電路圖;2、 添加已經(jīng)編譯的HEX文件到單片機(jī)內(nèi);3、 單步運(yùn)行,觀察結(jié)果,比較預(yù)定結(jié)果,修改源程序;4、 總體調(diào)試運(yùn)行;5、 分組測(cè)試,看是否達(dá)到任務(wù)要求。五、系統(tǒng)源程序SHUZHI EQU 3FH ;選取目的地址SONG EQU P1.5 ;揚(yáng)聲器播放P1.5PLAY EQU P3.2 ;啟動(dòng)鍵P3.2ADDONE EQU P3.4 ;曲目加一鍵P3.4SUBONE EQU P3.5 ;曲目減一鍵P3.5DUL EQU P0 ; 數(shù)碼管段選P0口WEL EQU P1 ; 數(shù)碼管位選P1口ORG 0000HLJMP STARTORG 000BH ; 定時(shí)器0溢出中斷入口地址AJMP CONT ; 指向定時(shí)器中斷程序ORG 0013H ;外部中斷一入口地址AJMP PAUSE ; 指向外部中斷程序ORG 0100HSTART: MOV SP,#60H MOV TH0,#0D8H ; 定時(shí)器賦初值 MOV TL0,#0EFH MOV TMOD,#01H;定時(shí)器T0,工作方式一 MOV IE,#86H ; 開中斷 (外部中斷一,定時(shí)器中斷0) MOV TCON,#00H;低電平觸發(fā) MOV R0,#00H MOV SHUZHI,#00H MAIN: JNB PLAY,FIRST ; 判斷P3.2鍵是否按下 SJMP MAINFIRST: ACALL DE120 JNB PLAY,FIRST ; 判斷P3.2鍵是否釋放 MOV SHUZHI,#00H MOV DUL,#0F9H ; 顯示數(shù)值1 MOV WEL,#0F7H ; 顯示位送P1口 MOV P2,#7FH ;亮第一首歌曲的指示燈 MOV DPTR,#DAT1 ; 表1首地址送DPTR ACALL MUSIC0 ACALL NEXT RETNEXT: INC SHUZHI ; SHUZHI加1 MOV A,SHUZHI CJNE A,#01,LOOP3 ; A是否=1,不等就跳轉(zhuǎn)到LOOP3 MOV DPTR,#DAT2 MOV DUL,#0A4H ; 顯示數(shù)值2 MOV WEL,#0F7HMOV P2,#0BFH ACALL MUSIC0 INC ALOOP3: CJNE A,#02,LOOP4 ; A是否=2,不等就跳轉(zhuǎn)到LOOP4 MOV DPTR,#DAT3 MOV DUL,#0B0H MOV WEL,#0F7HMOV P2,#0DFH ACALL MUSIC0 INC ALOOP4: CJNE A,#03,NEXT ACALL FIRST RETLAST: DEC SHUZHI ; SHUZHI減1 MOV A,SHUZHI CJNE A,#02,LAST1 MOV DPTR,#DAT3 MOV DUL,#0B0H MOV WEL,#0F7H MOV P2,#0DFH ACALL MUSIC0LAST1: CJNE A,#01H,LAST2 MOV DPTR,#DAT2 MOV DUL,#0A4H MOV WEL,#0F7H MOV P2,#0BFH ACALL MUSIC0LAST2: CJNE A,#00H,LAST MOV DPTR,#DAT1 MOV DUL,#0F9H MOV WEL,#0F7H MOV P2,#7FH ACALL MUSIC0 RETMUSIC0: MOV 20H,#00H ; 中斷計(jì)數(shù)單元清0MUSIC1: CLR A MOVC A,A+DPTR ;查表取音階常數(shù) JZ END0 ; 是結(jié)束符? CJNE A,#0FFH,MUSIC5 ; 是休止符? LJMP MUSIC3 ; 產(chǎn)生100ms停頓MUSIC5: NOPKEY: JNB PLAY,K0 ; 判斷3.2鍵是否按下 JNB ADDONE,K1 ; 判斷P3.4鍵是否按下 JNB SUBONE,K2 ;判斷P3.5鍵是否按下 MOV R6,A ; 音階常數(shù)送R6 INC DPTR MOV A,#0 MOVC A,A+DPTR ;取常數(shù)送R7 MOV R7,A SETB TR0 ;啟動(dòng)定時(shí)器T0MUSIC2: NOP CJNE R0,#0,$ CPL SONG ; 輸出電平取反 MOV A,R6 MOV R3,A ; 音階常數(shù)送R3 LCALL DE120 MOV A,R7 ; 節(jié)拍常數(shù)送A CJNE A,20H,MUSIC2 ;節(jié)拍時(shí)間到否 MOV 20H,#00H ;為取下一音階做準(zhǔn)備 INC DPTR LJMP MUSIC1MUSIC3: ; 休止100ms NOP CLR TR0 ; 關(guān)閉定時(shí)器 MOV R2,#14H MUSIC4: NOP MOV R3,#250 LCALL DE120 DJNZ R2,MUSIC4 INC DPTR ; 為取下一音階做準(zhǔn)備 LJMP MUSIC1END0: MOV R2,#200 ;歌曲結(jié)束后,延時(shí)1S后繼續(xù)MUSIC6: MOV R3,#250 LCALL DE120 DJNZ R2,MUSIC6K1: ACALL DE120 ; 調(diào)用延時(shí)子程序 JNB ADDONE,K1 ; 判斷P3.4鍵是否釋放 ACALL NEXTK2: ACALL DE120 JNB SUBONE,K2 ;判斷P3.5鍵是否按下 ACALL LASTK0: ACALL DE120 JNB PLAY,K0 LJMP START RETDE120: ;按鍵延時(shí)程序,軟件消抖 MOV R4,#05HDE14: NOP DJNZ R4,DE14 DJNZ R3,DE120 RET CONT: INC 20H ; 計(jì)數(shù)單元+1 MOV TH0,#0D8H ;重新設(shè)置10ms定時(shí)初值 MOV TL0,#0EFH RETI ; 跳出中斷PAUSE: ACALL DE120 JNB P3.3,PAUSE ; 判斷P3.3鍵是否有釋放 MOV DUL,#8EH MOV WEL,#0F7H MOV A,R0 CPL A MOV R0,A RETIDAT1: ;滄海一聲笑DB 1CH,40H,1CH,20H,20H,20H,26H,20H,2BH,20H,30H,40HDB 26H,20H,2BH,20H,30H,20H,39H,10H,40H,10H,40H,80HDB 40H,20H,39H,20H,40H,20H,39H,20H,5FH,20H,55H,20H,26H,20H,20H,20HDB 39H,20H,40H,20H,26H,10H,2BH,10H,30H,20H,2BH,40H DB 1CH,40H,1CH,20H,20H,20H,26H,20H,2BH,20H,30H,40HDB 26H,20H,2BH,20H,30H,20H,39H,10H,40H,10H,40H,80HDB 40H,20H,39H,20H,40H,20H,39H,20H,5FH,20H,55H,20H,26H,20H,20H,20HDB 39H,20H,40H,20H,26H,10H,2BH,10H,30H,20H,2BH,40H DB 1CH,40H,1CH,20H,20H,20H,26H,20H,2BH,20H,30H,40HDB 26H,20H,2BH,20H,30H,20H,39H,10H,40H,10H,40H,80HDB 40H,20H,39H,20H,40H,20H,39H,20H,5FH,20H,55H,20H,26H,20H,20H,20HDB 39H,20H,40H,20H,26H,10H,2BH,10H,30H,20H,2BH,40HDB 39H,20H,40H,20H,26H,10H,2BH,10H,30H,20H,30H,80H,00HDAT2: ;瀏陽(yáng)河DB 20H,40H,1CH,20H,18H,20H,1CH,20H,20H,20H,26H,20H,20H,20H,26H,40H,2BH,40HDB 30H,40H,30H,20H,39H,20H,20H,40H,20H,20H,2BH,20H,2BH,20H,26H,20H,30H,40HDB 20H,40H,26H,20H,20H,20H,1CH,40H,20H,40H,26H,40H,20H,40H,26H,80HDB 2BH,20H,26H,20H,2BH,20H,30H,20H,39H,40H,40H,20H,39H,20H,30H,40HDB 30H,40H,30H,40H,2BH,40H,26H,40H,20H,20H,20H,20H,26H,40HDB 2BH,20H,26H,20H,2BH,20H,30H,20H,39H,40H,40H,20H,39H,20H,30H,40H,39H,40HDB 20H,40H,1CH,20H,18H,20H,1CH,40H,1CH,20H,20H,20H,26H,40H,26H,20H,20H,20HDB 39H,40H,40H,20H,40H,20H,30H,20H,30H,20H,30H,20H,2BH,20H,20H,20H,1CH,20H, 20H,20HDB 26H,20H,2BH,20H,26H,40H,30H,20H,2BH,20H,30H,20H,39H,20H,40H,40HDB 20H,40H,1CH,20H,18H,20H,1CH,20H,20H,20H,26H,20H,20H,20H,26H,40H,2BH,40HDB 30H,40H,30H,20H,2BH,20H,20H,40H,20H,20H,2BH,20H,2BH,20H,26H,20H,30H,40HDB 20H,40H,26H,20H,20H,20H,1CH,40H,20H,40H,26H,40H,20H,40H,26H,80HDB 2BH,20H,26H,20H,2BH,20H,30H,20H,39H,40H,40H,20H,39H,20H,30H,40HDB 30H,40H,30H,40H,2BH,40H,26H,40H,20H,20H,20H,20H,26H,40HDB 2BH,20H,26H,20H,2BH,20H,30H,20H,39H,40H,40H,20H,39H,20H,30H,40H,39H,40HDB 20H,40H,1CH,20H,18H,20H,1CH,40H,1CH,20H,20H,20H,26H,40H,26H,20H,20H,20HDB 39H,40H,40H,20H,40H,20H,30H,20H,30H,20H,30H,20H,2BH,20H,20H,20H,1CH,20H, 20H,20HDB 26H,20H,2BH,20H,26H,40H,30H,20H,2BH,20H,30H,20H,39H,20H,40H,40H,00HDAT3: ;七子之歌DB 20H,40H,26H,20H,20H,20H,26H,40H,20H,40HDB 1CH,20H,20H,20H,26H,20H,1CH,20H,20H,40HDB 30H,40H,30H,20H,26H,20H,26H,40H,20H,20H,26H,20H,2BH,40H,26H,20H,20H,40HDB 20H,20H,20H,20H,1CH,20H,20H,20H,26H,20H,20H,20HDB 1CH,20H,20H,20H,30H,20H,1CH,20H,20H,40HDB 30H,40H,20H,20H,26H,20H,2BH,20H,30H,20H,2BH,40H,26H,40H,20H,40H,20H,20H, 2BH,20H,26H,40H,30H,40HDB 20H,40H,26H,20H,20H,20H,26H,40H,20H,40HDB 1CH,20H,20H,20H,26H,20H,1CH,20H,20H,40HDB 30H,40H,30H,20H,26H,20H,26H,40H,20H,20H,26H,20H,2BH,40H,26H,20H,20H,40HDB 20H,20H,20H,20H,1CH,20H,20H,20H,26H,20H,20H,20HDB 1CH,20H,20H,20H,30H,20H,1CH,20H,20H,40HDB 30H,40H,20H,20H,26H,20H,2BH,20H,30H,20H,2BH,40H,26H,40H,20H,40H,20H,20H, 2BH,20H,26H,40H,30

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論