基于AT89C51系列單片機的音樂盒畢業(yè)論文_第1頁
基于AT89C51系列單片機的音樂盒畢業(yè)論文_第2頁
基于AT89C51系列單片機的音樂盒畢業(yè)論文_第3頁
基于AT89C51系列單片機的音樂盒畢業(yè)論文_第4頁
基于AT89C51系列單片機的音樂盒畢業(yè)論文_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于at89c51系列單片機的音樂盒畢業(yè)論文 本科畢業(yè)設計論文題 目 專業(yè)名稱 學生姓名 班 級 學 號 指導教師 畢業(yè)時間 畢業(yè) 任務書北京清華大學出版社199711 4 李華mc51 系列單片機實用接口技術m北京北京航空航天大學出版社19938 5 馬忠梅單片機的c語言windows 環(huán)境編程寶典m北京北京航空航天大學出版社20036 6 李廣弟單片機基礎m北京北京航空航天大學出版社20076導師意見指導教師簽字 年 月 日 系意見 系主任簽字 年 月 日注內容用小四宋體目 錄摘 要iabstractii前 言iii第一章 緒 論111 研究背景及其意義112研究內容213 本文結構安排2

2、第二章 系統(tǒng)總體介紹421 at89c51單片機基礎知識4com at 89c51單片機引腳及其功能4com 中央處理器cpu6com 定時器計數(shù)器7com統(tǒng)7com 內部總線722其他硬件模塊7com復位模塊7com擇模塊8com生及放大器模塊823設計軟件介紹8com proteus軟件簡介8com keil簡介9第三章 硬件設計1031 總體設計框圖1032各部分硬件設計及其原理10com at89c51簡介10com led顯示電路設計與原理11com 時鐘振蕩電路1133 系統(tǒng)硬件電路圖及功能12第四章 軟件設計1441音樂播放編碼理論14com 音調的確定14com碼1642 編程

3、思路簡述17com述17com圖1843總原理圖及元器件清單19第五章 結論20致 謝21參考文獻22畢業(yè)設計小結23附件 程序清單24摘 要at89c51系列單片機的音樂盒依據(jù)單片機技術原理通過硬件電路制作以及軟件編譯設計制作出一個多功能多功能音樂盒該音樂盒主要由按鍵電路復位電路時鐘電路以及蜂鳴器組成使用兩個按鍵控制音樂盒一個用來切換歌曲另一個用來切換8路led的變化花樣本音樂盒共有兩首歌曲花樣燈花樣共計3種播放歌曲時蜂鳴器發(fā)出某個音調與之對應的led亮起本設計利用keil編程軟件對音樂盒源程序進行編程并調試配合proteus仿真軟件對硬件進行仿真調試節(jié)約了設計時間關鍵詞 at89c51ke

4、il proteusabstractthe design is a series based on at89c51 microcontroller music box according to principles of scm technology produced by the hardware circuits and software compiler designed to produce a versatile multifunction music box the music box consists of key circuit reset circuit clock circ

5、uit and buzzer components using two buttons control music boxes one for switch songs and another 8-way led for switching pattern changes the music box from two songs a total of three kinds of tricks lamp pattern playing a song a buzzer tone corresponding led lights up this design uses keil programmi

6、ng software for music boxes and debug source code for programming with proteus simulation software simulation debugging the hardware saving design timekey words at89c51 microcontroller keil proteus前 言作為單片機的重要硬件資源之一利用定時器可以產生各種固定頻率的方波信號也可以產生包括doreme-等音階在內的各種頻率聲音在此設計中我們采用12mhz晶振音樂信號由p3口輸出信號經過放大后由發(fā)出聲音樂曲

7、中每一音符對應著確定的頻率給出各音符頻率及其相應的時間常數(shù)根據(jù)表所提供的常數(shù)將其16進制代碼送入可以奏出音符音符的節(jié)拍我們可以用定時器來控制送入不同的初值就可以產生不同的定時時間便如某歌曲的節(jié)奏為每分鐘94拍即一拍為064秒其它節(jié)拍與時間的對應關系第一章 緒 論11 研究背景及其意義21世紀電子技術獲得了飛速的發(fā)展在其推動下現(xiàn)代電子產品幾乎滲透了社會的各個領域有力地推動了社會生產力的發(fā)展和社會信息化程度的提高同時也使現(xiàn)代電子產品性能進一步提高產品更新?lián)Q代的節(jié)奏也越來越快目前單片機正朝著高性能和多品種方向發(fā)展趨勢將是進一步向著cmos化低功耗小體積大容量高性能低價格和外圍電路內裝化等幾個方面發(fā)展

8、單片機應用的重要意義還在于它從根本上改變了傳統(tǒng)的控制系統(tǒng)設計思想和設計方法從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了這種軟件代替硬件的控制技術也稱為微控制技術是傳統(tǒng)控制技術的一次革命單片機滲透到我們生活的各個領域幾乎很難找到哪個領域沒有單片機的蹤跡導彈的導航裝置飛機上各種儀表的控制計算機的網絡通訊與數(shù)據(jù)傳輸工業(yè)自動化過程的實時控制和數(shù)據(jù)處理廣泛使用的各種智能ic卡民用豪華轎車的安全保障系統(tǒng)錄像機攝像機全自動洗衣機的控制以及程控玩具電子寵物等等這些都離不開單片機著科學技術的進步和社會的發(fā)展人類所接觸的信息也在不斷增加并且日益復雜面對浩如煙海的信息人們已經能夠

9、利用計算機等工具高效準確地對之進行處理但要想將處理完的信息及時清晰地傳遞給別人還必須通過尋求更加卓越的顯示技術來實現(xiàn)隨著人類社會的發(fā)展人們對視覺聽覺方面的享受提出了越來越高的要求音樂播放器是一種用于播放各種音樂文件的多媒體播放軟件它涵蓋了各種音樂格式的播放工具比如mp3播放器wma播放器mp4播放器等它們不僅界面美觀而且操作簡單本文設計的音樂是基于單片機設計制作的電子式音樂第二章 系統(tǒng)總體介紹21 at89c51單片機基礎知識at89c51包括一個8位的80c51微處理器片內256字節(jié)數(shù)據(jù)存儲器 ramsfr用以存放可以讀寫的數(shù)據(jù)如運算的中間結果最終結果以及欲顯示的數(shù)據(jù)片內 4kb 程序存儲器

10、 flash rom用以存放程序一些原始數(shù)據(jù)和表格4個8位并行io口 p0p3每個端口既可用作輸入也可用作輸出兩個 16 位的定時器計數(shù)器每個定時器計數(shù)器都可設置 成計數(shù)方式用以對外部事件進行計數(shù)也可設置成定時方式并可以根據(jù)計數(shù)或者定 時的結果實現(xiàn)計算機控制具有 5 個中斷源兩個中斷優(yōu)先級的中斷控制系統(tǒng)一個全雙工 uart通用異步接受發(fā)送器的串行 io 口用于實現(xiàn)單片機之間或者單片機與 pc 機之間的串行通信片內振蕩器和時鐘產生電路但石英晶體和微調電容需要外接 最高允許震蕩頻率24mhzat89c51 與at80c51 相比具有節(jié)電工作方式即休閑方式及掉電方式com at 89c51單片機引腳

11、及其功能圖21 at89c51單片機示意圖圖21為at89c51單片機的引腳示意圖電源引腳典型值5vvssgnd20腳接低電平外部晶振x1x2分別與晶體兩端相連接當使用外部振蕩器時外部振蕩信號應直接加到xtal1而xtal2懸空輸入輸出口引腳p0口io雙向口p1口io雙向口p2口io雙向口p3口io雙向口口線第二功能p30rxd 串行口輸入 p31txd 串行口輸出 p32 外部中斷0輸入 p33 外部中斷1輸入 p34t0定時器0的外部輸入p35t1 定時器1的外部輸入p36寫選通控制輸入p37 讀選通控制輸入 控制引腳rstvpdale-prog-psen-eavpp組成了msc-51的控

12、制總線rstvpd9腳復位信號輸入端高電平有效第二功能加5v備用電源可以實現(xiàn)掉電保護ram信息不丟失ale-prog 30腳地址鎖存信號輸出端第二功能編程脈沖輸入-psen29腳外部程序存儲器讀選通信號-eavpp 31腳外部程序存儲器使能端第二功能編程電壓輸入端21vcom1構成按鍵陣列可以掃描十六個按鍵但本次設計只用到十個按鍵com生及放大器模塊由非門74ls04三極管9014揚聲器電阻組成的外部驅動發(fā)音電路該電路部分接于p30端引出經過外部非門和三極管的驅動通過揚聲器發(fā)出音樂23設計軟件介紹本設計利用keil編程軟件對音樂盒源程序進行編程并調試配合proteus仿真軟件對硬件進行仿真調試

13、com proteus軟件簡介proteus軟件是英國labcenter electronics公司出版的eda工具軟件該軟件中國總代理為廣州風標電子技術有限公司它不僅具有其它eda工具軟件的仿真功能還能仿真單片機及外圍器件它是目前最好的仿真單片機及外圍器件的工具雖然目前國內推廣剛起步但已受到單片機愛好者從事單片機教學的教師致力于單片機開發(fā)應用的科技工作者的青睞proteus是世界上著名的eda工具 仿真軟件 從原理圖布圖代碼調試到單片機與外圍電路協(xié)同仿真一鍵切換到pcb設計真正實現(xiàn)了從概念到產品的完整設計是目前世界上唯一將電路仿真軟件pcb設計軟件和虛擬模型仿真軟件三合一的設計平臺其處理器模

14、型支持8051hc11pic101216182430dspic33avrarm8086和msp430等2010年即將增加cortex和dsp系列處理器并持續(xù)增加其他系列處理器模型在編譯方面它也支持iarkeil和mplab等多種編譯器 單片機開發(fā)中除必要的硬件外同樣離不開軟件我們寫的匯編語言源程序要變?yōu)閏pu可以執(zhí)行的機器碼有兩種方法一種是手工匯編另一種是機器匯編目前已極少使用手工匯編的方法了機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼用于mcs-51單片機的匯編軟件有早期的a51隨著單片機開發(fā)技術的不斷發(fā)展從普遍使用匯編語言到逐漸使用高級語言開發(fā)單片機的開發(fā)軟件也在不斷發(fā)展keil軟件是目前最流

15、行開發(fā)mcs-51系列單片機的軟件這從近年來各仿真機廠商紛紛宣布全面支持keil即可看出keil提供了包括c編譯器宏匯編連接器庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案通過一個集成開發(fā)環(huán)境uvision將這些部份組合在一起運行keil軟件需要pentium或以上的cpu16mb或更多ram20m以上空閑的硬盤空間win98ntwin2000winxp等操作系統(tǒng)掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的如果你使用c語言編程那么keil幾乎就是你的不二之選目前在國內你只能買到該軟件而你買的仿真機也很可能只支持該軟件即使不使用c語言而僅用匯編語言編程其方便易用的集成環(huán)

16、境強大的軟件仿真調試工具也會令你事半功倍keil c51生成的目標代碼效率非常之高多數(shù)語句生成的匯編代碼很緊湊容易理解在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢第三章 硬件設計31 總體設計框圖圖31總體設計框圖32各部分硬件設計及其原理com at89c51簡介at89c51是一種帶4k字節(jié)閃存可編程可擦除只讀存儲器fperomflash programmable and erasable read only memory的低電壓高性能cmos 8位微處理器俗稱單片機at89c2051是一種帶2k字節(jié)閃存可編程可擦除只讀存儲器的單片機單片機的可擦除只讀存儲器可以反復擦除100次該器件采用atme

17、l高密度非易失存儲器制造技術制造與工業(yè)標準的mcs-51指令集和輸出管腳相兼容由于將多功能8位cpu和閃爍存儲器組合在單個芯片中atmel的at89c51是一種高效微控制器at89c2051是它的一種精簡版本at89c單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案外形及引腳排列如圖所示圖32 at89c51系列單片機com led顯示電路設計與原理led顯示電路是由8個led發(fā)光二極管組成連接方式為共陽極led接到單片機的p1口若為低電平可使led亮起發(fā)光二極管的亮滅由內部程序控制8個led發(fā)光二極管分別對應不同的音階所以led會隨著音階的變化按規(guī)律亮滅com 時鐘振蕩電路at89c

18、51中有一個用于構成內部振蕩器的高增益反相放大器引腳xtal1和xtal2分別是該放大器的輸入端和輸出端這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構成自然振蕩器外接石英晶體及電容c1c2接在放大器的反饋回路中構成并聯(lián)振蕩電路對外接電容c1c2雖然沒有什么嚴格的要求但電容容量的大小會輕微影響振蕩頻率的高低振蕩器工作的穩(wěn)定性起振的難易程序及溫度穩(wěn)定性如果使用石英晶體我們推薦電容使用30pf10pf而如果使用陶瓷振蕩器建議選擇40pf10pf用戶也可以采用外部時鐘采用外部時鐘的電路如圖示這種情況下外部時鐘脈沖接到xtal1端即內部時鐘發(fā)生器的輸入端xtal2則懸空由于外部時鐘信號是通過

19、一個2分頻觸發(fā)器后作為內部時鐘信號的所以對外部時鐘信號的占空比沒有特殊要求但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產品技術條件的要求振蕩器電路圖如下圖33 單片機內部外部振蕩電路33 系統(tǒng)硬件電路圖及功能總體硬件電路實現(xiàn)功能如下如圖34所示電路中用p32comp17控制ledp23控制蜂鳴器電路為12mhz晶振頻率工作起振電路中c1c2均為30pf圖34 硬件電路圖第四章 軟件設計硬件電路和軟件程序是組成一個系統(tǒng)不可缺少的兩部分二者的正確與否將直接影響整個程序的可實現(xiàn)性在上一章中已經將整個系統(tǒng)的硬件部分作了介紹在這一章中將就系統(tǒng)的軟件部分加以分析說明hz剛好是中音do的頻率523hz的

20、一倍中音do的頻率523hz剛好是低音do頻率266 hz的一倍同樣的高音re的頻率1175hz剛好是中音re的頻率587hz的一倍中音re的頻率587hz剛好是低音re頻率294 hz的一倍1要產生音頻脈沖只要算出某一音頻的周期1頻率然后將此周期除以2即為半周期的時間利用定時器計時這半個周期時間每當計時到后就將輸出脈沖的io反相然后重復計時此半周期時間再對io反相就可在io腳上得到此頻率的脈沖2利用at89c51的內部定時器使其工作在計數(shù)器模式mode1下改變計數(shù)值th0及tl0以產生不同頻率的方法此外結束符和休止符可以分別用代碼00h和ffh來表示若查表結果為00h則表示曲子終了若查表結果

21、為ffh則產生相應的停頓效果3例如頻率為523hz其周期t 1523 1912us因此只要令計數(shù)器計時956us1us 956在每次技術956次時將io反相就可得到中音do523hz計數(shù)脈沖值與頻率的關系公式如下n fi2frn計算值fi內部計時一次為1us故其頻率為1mhz其計數(shù)值的求法如下t 65536-n 65536-fi2fr例如設k 65536f 1000000 fi 1mhz球低音do261hz中音do523hz高音的do1046hz的計算值t 65536-n 65536-fi2fr 65536-10000002fr 65536-500000fr低音do的t 65536-50000

22、0262 63627低音do的t 65536-500000523 64580低音do的t 65536-5000001047 65059c調各音符頻率與計數(shù)值t的對照表如表41所示表41 c調各音符頻率與計數(shù)值t的對照表低音頻率t參數(shù)中音頻率t參數(shù)高音頻率t參數(shù)do2621908229do523956115do10465757do2771805217do554903108do11095454re2941701204re587852102re11755151re3111608193re62280497re12454848mi3301515182mi65975991mi13184545fa34914

23、33172fa69871686fa13974343fa3701351162fa74067681fa14804141so3921276153so78463877so15683838so4151205145so83160272so16613636la4401136136la88056868la17603434la4641078129la93253664la18653232si4941012121si98850661si19763030do re mi fa so la si分別編碼為17重音do編為8重音re編為9停頓編為0播放長度以十六分音符為單位在本程序中為165ms一拍即四分音符等于4個十六

24、分音符編為4其它的播放時間以此類推音調作為編碼的高4位而播放時間作為低4位如此音調和節(jié)拍就構成了一個編碼以0xff作為曲譜的結束標志舉例1音調do發(fā)音長度為兩拍即二分音符將其編碼為0x18舉例2音調re發(fā)音長度為半拍即八分音符將其編碼為0x22歌曲播放的設計先將歌曲的簡譜進行編碼儲存在一個數(shù)據(jù)類型為unsigned char 的數(shù)組中程序從數(shù)組中取出一個數(shù)然后分離出高4位得到音調接著找出相應的值賦給定時器0使之定時操作蜂鳴器得出相應的音調接著分離出該數(shù)的低4位得到延時時間接著調用軟件延時表44 簡譜對應的簡譜碼t值節(jié)拍數(shù)簡譜發(fā)音簡譜碼t值節(jié)拍碼節(jié)拍數(shù)5低音so164260114拍6低音la26

25、4400224拍7低音ti364524334拍1中音do46458041拍2中音re56468451又14拍3中音mi66477761又12拍4中音fa76482082拍5中音so864898a2又12拍6中音la964968c3拍7中音tia65030f3又34拍1高音dob650582高音rec651103高音mid651574高音fae651785高音sof6521742 編程思路簡述com述要產生音頻信號只要算出某一音頻的周期頻率的倒數(shù)將此周期除以2即為半周期的時間利用定時器計時此半周期時間計時到后取反輸出重復此過程即得到此頻率的聲音信號此信號從p30腳輸出定時器t0工作在定時方式1改

26、變th0及tl0產生不同的音頻頻率必須考慮到中斷響應時間的影響尤其在高音部分若忽略中斷響應時間會使音頻頻率比標準值低幾十hz相當于14音程很容易聽出來對低音部分影響不大一般中斷響應時間為36個機器周期經過反復試驗取5個機器周期作為校正最為恰當表21中所給的定時初值就是考慮中斷響應后的定時常數(shù)另外為避免t1中斷可能引起雜音應將定時器t0中斷設為高優(yōu)先級這樣編寫出來的程序播放的音與標準音叉進行差頻校音非常準確和諧本設計中單片機晶振頻率為110592mhz每個音符使用兩個字節(jié)低位字節(jié)偶地址代表音級00h表示不發(fā)音休止符01h30h依次表示的音級為ccddefa3a3b3 詳見表21高位字節(jié)奇地址代表

27、音符的時值拍數(shù)00h0fh依次表示拍數(shù)為18拍010s8拍640s見表22樂曲的結束標志是兩個字節(jié)0ffh0ffh設計延時程序125ms來控制節(jié)拍并在延時中判斷是否有停止鍵按下以便隨時停止音樂改變延時程序的延遲時間即可實現(xiàn)歌曲的快慢演奏主程序的任務是按順序讀取數(shù)據(jù)表中的字節(jié)根據(jù)情況調用音級子程序和演唱子程序啟動定時器t0通過延時控制節(jié)拍并循環(huán)回音級子程序等待演唱完畢要編寫的樂譜按要求以音符字節(jié)數(shù)據(jù)表的形式存放在程序中改變樂曲就是通過改變該數(shù)據(jù)表的內容來實現(xiàn)的主程序的任務是按順序讀取數(shù)據(jù)表中的字節(jié)根據(jù)情況調用音級子程序和音長子程序啟動定時器t0根據(jù)定時器t1應中斷的次數(shù)啟動定時器t1數(shù)據(jù)表讀完后

28、根據(jù)所設置的循環(huán)演奏次數(shù)決定是否結束程序音級子程序的任務是取出字節(jié)中的音級部分分析th0和tl0中應送入何值送給33h34h演唱子程序的任務是取出對應頻率值并乘以2啟動t0實現(xiàn)發(fā)音之后執(zhí)行延時程序體現(xiàn)節(jié)拍依此循環(huán)直到音樂結束定時器t0的中斷服務程序任務是取反p30輸出產生方波重新為th0tl0送初值定時器t1的中斷服務程序任務是判斷計數(shù)完成否給373的控制端高或低電平從而實現(xiàn)數(shù)據(jù)輸出或禁止達到二極管亮滅閃爍的效果當樂曲較長時超過254個字節(jié)數(shù)據(jù)表指針溢出應及時修改基址寄存器dptr內容即數(shù)據(jù)表的表頭指針com圖 yn圖41 程序原理框圖43總原理圖及元器件清單元器件清單為at89c52晶振電容

29、電阻排阻按鍵數(shù)碼管二極管蜂鳴器三極管第章 結論致 謝感謝我的導師嚴謹細致一絲不茍的作風一直是我的榜樣他們循循善誘的教導和不拘一格的思路給予我無盡的啟迪感謝我的爸爸媽媽感謝我的室友們是你們和我共同維系著彼此之間感情在論文即將完成之際我的心情無法平靜從開始進入課題到論文的順利完成有多少可敬的師長同學朋友給了我無言的幫助在這里請接受我誠摯的謝意參考文獻北京清華大學出版社1997114 李華mc51 系列單片機實用接口技術m北京北京航空航天大學出版社199385 馬忠梅單片機的c語言windows 環(huán)境編程寶典m北京北京航空航天大學出版社200366 李廣弟單片機基礎m北京北京航空航天大學出版社200

30、76畢業(yè)設計小結附件 程序清單include include include define uchar unsigned chardefine uint unsigned intdefine w_c_add xbyte0x2070 寫命令字地址 define w_d_add xbyte0x2071 寫數(shù)據(jù)地址 define r_s_add xbyte0x2072 讀狀態(tài)字地址 define r_d_add xbyte0x2073 讀數(shù)據(jù)地址 uchar code xdata musicuchar code xdata music_nameuchar code tab 0xf80x940xf90

31、x5c0xfa0x1a0xfa0x6a0xfb0x000xfb0x8c0xfc0x0e 0xfc0x4a0xfc0xae0xfd0x080xfd0x300xfd0x800xfd0xc60xfe0x02 0xfe0x2a0xfe0x5c0xfe0x840xfe0x980xfe0xc00xfe0xe80xfe0x06 uchar code music_name120 0xc70xfa0xc40xbf0xd20xbb0xa10xc30xc10xbd0xd60xbb0xc00xcf0xbb0xa20xef0xff 兩只老虎 uchar code music1 0x440x540x640x440x440

32、x540x640x440x640x740x880x64 0x740x880x820x920x820x720x640x440x820x920x820x72 0x640x440x540x140x480x540x140x480x00 uchar code music_name220 0xc70xfa0xc40xbf0xb60xfe0xa10xc30xc90xfa0xc80xd50xbf0xec0xc00xd60xff 生日快樂uchar code music2 0x820x010x810x940x840xb40x040x040x820x010x810x94 0x840xc40xb40x040x820

33、x010x810xf40xd40xb40xa40x94 0x040xe20x010xe10xd40xb40xc40xb40x040xff uchar code music_name320 0xc70xfa0xc40xbf0xc80xfd0xa10xc30xc10xba0xd70xa30xff 梁祝uchar code music3 0x0a0x100x0c0x080x0d0x040x0f0x080x100x040x0d0x040x0f0x040x0c 0x040x0f0x040x0c0x080x0c0x100x0a0x080x0c0x020x0a0x080x0c0x080x0d0x020x0e

34、0x040x100x040x0d0x180x0c0x040x0d0x040x0f0x080x100x040x130x080x110x080x100x080x110x040x100x040x0f0x080x0d0x040x0c0x040x0a uchar code music_name420 0xc70xfa0xc40xbf0xcb0xc40xa10xc30xcd0xac0xd20xbb0xca0xd70xb80xe80xff 同一首歌uchar code music4 0x0f0x01 0x150x02 0x160x02 0x170x66 0x180x03 0x170x02 0x150x02

35、0x160x01 0x150x02 0x100x02 0x150x00 0x0f0x01 0x150x02 0x1a0x03 0x1a0x01 0x190x02 0x190x03 0x1a0x03 0x1b0x02 0x1a0x0d 0x190x03 0x170x00 0x180x66 0x180x03 0x190x02 0x1a0x02 uchar code music_name520 0xc70xfa0xc40xbf0xce0xe50xa10xc30xc10xbd0xd60xbb0xba0xfb0xb50xfb0xff 兩只蝴蝶uchar code music5 0x170x03 0x16

36、0x03 0x170x01 0x160x03 0x170x03 0x160x03 0x150x01 0x100x03 0x150x03 0x160x02 0x160x0d 0x170x03 0x160x03 0x150x03 0x100x03 0x100x0e 0x150x04 0x0f0x01 0x170x03 0x160x03 0x170x01 0x160x03 0x170x03 0x160x03 0x150x01 0x100x03 0x150x03 0x160x02 0x160x0d 0x170x03 0x190x01 0x190x03 0x1a0x03 0x190x03 0x170x0

37、1 0x160x03 0x160x03 0x160x02 0x160x0d 0x170x03 0x040x00 uchar code music_name620 0xc70xfa0xc40xbf0xc10xf90xa10xc30xbc0xc70xca0xc20xb10xbe0xff 記事本uchar code music6 0xa20xb20xd20xb20xa40xb20xd20xb20xa20x820x720x88 0x720x820xa20x820x720x620x420x620x380x380xa40x02 0xb20xa40x840x720x820x720x620x720x840x7

38、20x640x62 0x120x340x020x420x380x380x440x020x320x440x640x72 0x820x720x620x720x840xa20x720x740x820xa20x020xb2 0x720x820xa20x840x720x820x720x620x480xff uchar code music_name720 0xc70xfa0xc40xbf0xc60xdf0xa10xc30xb50xb40xc60xf00xcb0xab0xbd0xb00xff 讓我們蕩起雙槳uchar code music7 0x060x080x080x080x090x080x0a0x18

39、0x0c0x080x0a0x080x080x080x090x100x060x200x000x080x080x080x090x080x0a0x080x0c0x180x000x010x0c0x080x0a0x100x000x010x090x200x0a0x180x0c0x080x060x080x080x080x090x100x000x100x080x080x090x080x0a0x100x0c0x0b0x000x010x0c0x040x0d0x100x0f0x100x0e0x080x0d0x080x0c0x080x0a0x080x0d0x40 0x000x01 uchar code music_n

40、ame820 0xc70xfa0xc40xbf0xb00xcb0xa10xc30xcd0xaf0xc40xea0xff 童年uchar code music8 0x0a0x080x0c0x080x0c0x100x0c0x080x0a0x080x0d0x080x0d0x080x0e0x080x0d0x080x0d0x080x0d0x080x0d0x080x0c0x080x0f0x100x0f0x080x0f0x080x0f0x080x0d0x080x0f0x080x0d0x080x0c0x400x0a0x080x0c0x080x0c0x100x0c0x080x0a0x080x0d0x080x0d

41、0x080x0e0x080x0d0x080x0d0x080x0d0x080x0d0x080x0c0x080x0f0x100x0f0x080x0f0x080x0f0x080x0d0x080x0d0x080x0f0x080x100x400x130x080x130x080x130x100x130x100x110x080x100x080x0f0x080x0f uchar code uchar code music_name920 0xc70xfa0xc40xbf0xca0xae0xa10xc30xc00xbc0xbb0xa80xb20xdd0xff 蘭花草uchar code music10 0x42

42、0x820x820x820x860x720x630x710x620x520x480xb2 0xb20xb20xb20xb60xa20x830xa10xa20x920x880x820xb2 0xb20xa20x860x720x630x710x620x520x440x120x020x12 0x620x620x520x460x820x730x610x520x320x480x00 uchar data flaguchar data stl0uchar data sth0 uchar data luchar data kuchar data keysbit beef p31unsigned char b

43、data keyunsigned char bdata statusunsigned char code init18 0xc70xeb0xb00xb40xa30xb00xa10xab0xa30xb90xd1 0xa10xd40xf10xc70xfa0xc40xbf sbit busy status7void check_lcd void void lcd_busy void void lcd_show unsigned char k void check_lcd void unsigned char addunsigned char ilcd_busy w_c_add 0x30 lcd_bu

44、sy w_c_add 0x0c lcd_busy w_c_add 0x01lcd_busy w_c_add 0x02add 0x80 lcd_busy w_c_add addfor i 0i 5i lcd_busy w_d_add init2i w_d_add init2i1 add 0x90 lcd_busy w_c_add add for i 5i 9i lcd_busy w_d_add init2iw_d_add init2i1 void lcd_show unsigned char k unsigned char i 0lcd_busy w_c_add 0x90do lcd_busy w_d_add ki i while ki 0xff void lcd_busy void do status r_s_add while busy void delay_music void void delay int i uchar keyscan void main uint ijuchar k2 0tmod 0x01 it0 0 do ie 0x83flag 0 key 0check_lcd do k2 keyscan while k2 lcd_busy w_c_add 0x80 for i 0i 10i lcd_busy w_d_add 0x20

溫馨提示

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

評論

0/150

提交評論