2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩34頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  單片機(jī)原理與接口技術(shù)</p><p>  課 程 設(shè) 計(jì)</p><p>  設(shè)計(jì)課題 : 數(shù)字音樂盒的設(shè)計(jì) </p><p>  學(xué)院名稱 : 電氣工程學(xué)院 </p><p>  專業(yè)班級 :

2、 _</p><p>  學(xué)生姓名 : __</p><p>  學(xué) 號 : </p><p>  指導(dǎo)教師 : </p><p>  設(shè)計(jì)地點(diǎn) :

3、 </p><p>  設(shè)計(jì)時間 : 2012-12-17~2012-12-28 </p><p>  單片機(jī)原理與接口技術(shù) 課程設(shè)計(jì)任務(wù)書</p><p><b>  目錄</b></p><p><b>  1. 概述4</b&g

4、t;</p><p>  1.1 設(shè)計(jì)任務(wù)4</p><p>  1.2 設(shè)計(jì)內(nèi)容5</p><p>  2. 系統(tǒng)總體方案介紹5</p><p>  2.1 系統(tǒng)組成5</p><p>  3. 硬件設(shè)計(jì)10</p><p>  3.1各部分硬件設(shè)計(jì)及其原理10</p>

5、<p><b>  4.軟件設(shè)計(jì)13</b></p><p>  4.1 軟件程序設(shè)計(jì)13</p><p><b>  5. 調(diào)試14</b></p><p>  5.1 檢查硬件連接14</p><p>  5.2 檢查軟件系統(tǒng)14</p><p>

6、  5.3 測試結(jié)果14</p><p>  6. 課程設(shè)計(jì)體會15</p><p><b>  參考文獻(xiàn)16</b></p><p>  附錄A 系統(tǒng)原理圖17</p><p>  附錄B 程序源代碼及注釋18</p><p>  1. 概述 </p><

7、;p>  本設(shè)計(jì)是以AT89C51芯片的電路為基礎(chǔ),外部加上放音設(shè)備,以此來實(shí)現(xiàn)音樂演奏控制器的硬件電路,通過軟件程序來控制單片機(jī)內(nèi)部的定時器使其演奏出優(yōu)美動聽的音樂。</p><p><b>  1.1 設(shè)計(jì)任務(wù)</b></p><p>  設(shè)計(jì)一個基于單片機(jī)的音樂盒,利用按鍵切換演奏出不同的樂曲。蜂鳴器發(fā)出某個音調(diào),使用兩個按鍵,一個用來選擇上一首歌曲,另一

8、個切換下一首歌曲。</p><p><b>  1.2 設(shè)計(jì)內(nèi)容</b></p><p>  用單片機(jī)設(shè)計(jì)一個音樂盒。</p><p><b>  功能如下:</b></p><p>  1.利用I/O口產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂曲(最少三首樂曲,每首不少于30秒)。

9、</p><p>  2.采用LCD顯示信息,顯示樂曲編號,播放時間或剩余時間,開機(jī)時有英文歡迎提示字符。</p><p>  3. 可通過功能鍵選擇樂曲,暫停,播放。</p><p>  2. 系統(tǒng)總體方案介紹</p><p><b>  2.1 系統(tǒng)組成</b></p><p>  系統(tǒng)組成框

10、圖如圖2.1所示</p><p><b>  圖</b></p><p>  2.1 系統(tǒng)組成框圖</p><p>  2.1.1控制器選擇</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的M

11、CS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。引腳如圖2.1所示</p><p><b>  主要特性:</b></p><p>  ·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲器·壽命:100

12、0寫/擦循環(huán)·數(shù)據(jù)保留時間:10年·全靜態(tài)工作:0Hz-24Hz·三級程序存儲器鎖定·128*8位內(nèi)部RAM·32可編程I/O線·兩個16位定時器/計(jì)數(shù)器·5個中斷源 圖2.2 89c51引腳圖·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路 <

13、;/p><p><b>  音頻輸出部分</b></p><p>  整個輸出部分由一個蜂鳴器/喇叭組成,原理圖如右圖所示:</p><p>  用P3.0口控制蜂鳴器。輸出顯示電路如圖2.3所示:</p><p><b>  圖</b></p><p>  圖2.3輸出顯示電路

14、 </p><p><b>  3. 硬件設(shè)計(jì)</b></p><p>  當(dāng)鍵盤有鍵按下時,判斷鍵值,啟動計(jì)數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)

15、 動蜂鳴器,放出樂曲。同時啟動定時器T1,顯示樂曲播放的時間,并驅(qū)動LCD,顯示歌曲號及播放時間。也可在LED顯示歌曲號。</p><p>  3.1 按鍵電路設(shè)計(jì)</p><p>  按鍵電路如圖3.1所示:P1.0-P1.5控制按鍵,其中P1.0-P1.1掃描行,P1.4-P1.5掃描列。</p><p><b>  圖3.1 按鍵電路<

16、/b></p><p>  3.2 LCD顯示電路設(shè)計(jì)與原理</p><p>  LCD顯示電路如圖3.2所示,文字型LCD(16×2)的D0-D07端口與AT89C51端口P0.0-P0.7相連接VSS與VEE兩端接地。P2.0-P2.2作為LCD的RS,R/W,E的控制信號。用P0.0-P0.7作為LCD的D0-D7的控制信號。</p><p>

17、  圖3.2 LCD顯示電路</p><p>  3.3 時鐘振蕩電路</p><p>  AT89C51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。振蕩器電路入圖3.3所示:</p&g

18、t;<p>  圖3.3 單片機(jī)內(nèi)部時鐘電路</p><p><b>  4.軟件設(shè)計(jì)</b></p><p>  4.1 主程序流程圖</p><p>  主程序流程圖如圖4.1所示。</p><p><b>  4.1主程序流程圖</b></p><p> 

19、 LCD顯示流程圖如圖4.2所示</p><p>  圖4.2 LCD顯示流程圖</p><p><b>  5 調(diào)試</b></p><p>  5.1 檢查硬件連接</p><p>  在PROTUES檢查各硬件管腳是否連接正確,線路邏輯是否正確,例如:晶振電路的連接,復(fù)位電路是否設(shè)計(jì)正確。</p>&

20、lt;p>  5.2 檢查軟件系統(tǒng)</p><p>  1.根據(jù)系統(tǒng)的原理結(jié)構(gòu)檢查各流程圖是否正確,再根據(jù)流程圖來檢查程序是否也正確。</p><p>  2.將所有程序組織起來,在軟件環(huán)境下運(yùn)行,檢查程序是否正確。通過對硬件和軟件系統(tǒng)的認(rèn)真檢查,反復(fù)測試,如果沒有出現(xiàn)問題即可把源程序編譯成HEX文件裝載到單片機(jī)中,對硬件進(jìn)行仿真。</p><p><b

21、>  5.3 測試結(jié)果</b></p><p>  5.3.1.總體運(yùn)行圖</p><p>  圖5.1 系統(tǒng)總體運(yùn)行圖</p><p><b>  6. 課程設(shè)計(jì)體會</b></p><p>  這學(xué)期學(xué)習(xí)單片機(jī)的課時不多,對單片機(jī)的硬件設(shè)計(jì),軟件設(shè)計(jì)掌握的深度不夠,但通過此次課程設(shè)計(jì),明顯的改善了,

22、首先對于硬件電路的工作原理有了進(jìn)一步的學(xué)習(xí),同時有了一個提升;軟件方面,在程序的設(shè)計(jì),程序的調(diào)試方面都有了很大的進(jìn)步。</p><p>  在一個好的氛圍里才能踏下心來做東西,在這一段時間里,同學(xué)們都認(rèn)真對待這次課程設(shè)計(jì),除了自己做好自己的課題外,在遇到不懂的地方互相討論,查閱資料,互助解決問題。另外在編程中出現(xiàn)問題時,一定要戒驕戒躁,腳踏實(shí)地,認(rèn)真看書,仔細(xì)分析,仔細(xì)調(diào)試,就一定會發(fā)現(xiàn)錯誤。我們也是這么做的,這

23、一點(diǎn)在這次的課程設(shè)計(jì)中十分重要。</p><p>  通過這次課程設(shè)計(jì),我體會到了成功的喜悅,聽著自己設(shè)計(jì)的程序下載到單片機(jī)中播放出音樂,心理非常自豪。這次的課程設(shè)計(jì)在一定程度上改變了我學(xué)習(xí)單片機(jī)這門課程的態(tài)度,從最初的認(rèn)為學(xué)它沒有什么實(shí)際意義,到如今愛上單片機(jī)學(xué)習(xí),并希望能將理論運(yùn)用到實(shí)踐,設(shè)計(jì)出更好更完整的系統(tǒng)。我明白了一個人要想做好一件事,就必須具備自信心,耐心,還要有毅力,要膽大心細(xì),要勇于嘗試,要手腦并

24、用,最后才能交出一份令人滿意的答卷。對我而言,知識上的收獲重要,精神上的豐收更加。讓我知道了學(xué)無止境的道理。我們每一個人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財(cái)富,經(jīng)歷是一份擁有。這次課程設(shè)計(jì)必將成為為我人生旅途上一個非常美好的回憶</p><p>  在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的

25、幫助,在這里請接受我誠摯的謝意!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 吳亦峰,陳德偉,單片機(jī)原理與接口技術(shù),北京:電子工業(yè)出版社,2010年11月</p><p>  [2] 黃智偉 全國大學(xué)生電子設(shè)計(jì)競賽系統(tǒng)設(shè)計(jì)[M],北京:北京航空航天大學(xué)出版社,2006.6.</p><p>

26、  [3] 黃智偉 凌陽單片機(jī)課程設(shè)計(jì)指導(dǎo)[M],北京:北京航空航天大學(xué)出版社,2006.11.</p><p>  [4] 李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ)[M],北京:北京航空航天大學(xué)出版社,2001.7.</p><p>  [5] 趙曙光,郭萬有,楊頌華.可編程邏輯器件原理開發(fā)與應(yīng)用[M],西安:西安電子科技大學(xué), 2000.</p><p>  [6]

27、候伯亨.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)[M], 西安:西安電子科技大學(xué)出版社, 1999.</p><p>  [7] 康華光. 模擬電子技術(shù)基礎(chǔ)(第四版)[M], 武漢:華中理工大學(xué)出版社,1999。</p><p><b>  附錄A 系統(tǒng)原理圖</b></p><p><b>  系統(tǒng)原理圖</b></

28、p><p>  附錄B 程序源代碼及注釋</p><p>  RS BIT P2.0;定義液晶顯示端口標(biāo)號</p><p>  RW BIT P2.1</p><p>  E BIT P2.2</p><p>  ;*************************</p><p>  L50MS

29、 EQU 60H </p><p>  L1MS EQU 61H</p><p>  L250MS EQU 62H</p><p>  SEC EQU 65H</p><p>  MIN EQU 64H</p><p>  HOU EQU 63H</p><p>  ORG 0000H

30、 </p><p>  ;*************************</p><p><b>  LJMP MAIN</b></p><p><b>  ORG 000BH</b></p><p><b>  LJMP TT0</b></p><

31、p><b>  ORG 001BH</b></p><p>  LJMP T1INT</p><p><b>  ORG 1000H</b></p><p><b>  MAIN: </b></p><p>  ;-----------------------;液晶初始化

32、</p><p>  MOV SP,#70H ;設(shè)置堆棧指針</p><p>  MOV P0,#01H ;清屏</p><p>  CALL ENABLE ;調(diào)用延時程序</p><p>  MOV P0,#38H ;8位,2行顯示</p><p>  LCALL ENABLE</p><

33、p>  MOV P0,#0FH ;屏顯ON,光標(biāo)ON,閃爍ON</p><p>  LCALL ENABLE</p><p>  MOV P0,#06H ;計(jì)數(shù)地址加1,顯示幕ON</p><p>  LCALL ENABLE</p><p>  ;-------------------------------內(nèi)存初始化</p

34、><p>  LCALL INITIL </p><p>  ;-------------------------------</p><p><b>  KEY1:</b></p><p><b>  LCALL KEY</b></p><p>  LCALL MOD

35、D </p><p><b>  LJMP KEY1</b></p><p>  ;---------------------鍵盤掃描</p><p><b>  KEY:</b></p><p><b>  NOP</b></p><p&g

36、t;<b>  NOP</b></p><p><b>  LCALL KS</b></p><p>  JNZ K1 ;有按鍵轉(zhuǎn)到K1</p><p>  LCALL KAIJI</p><p><b>  LCALL SOP</b></p><

37、;p><b>  XN:</b></p><p><b>  LJMP KEY</b></p><p><b>  K1:</b></p><p>  LCALL MODD</p><p>  LCALL MODD</p><p><b>

38、;  LCALL KS</b></p><p><b>  JNZ K2</b></p><p><b>  LJMP KEY</b></p><p><b>  K2:</b></p><p>  MOV R2,#0FEH ;讀鍵盤</p>&l

39、t;p>  MOV R4,#00H</p><p><b>  K3:</b></p><p><b>  MOV A,R2</b></p><p><b>  MOV P1,A</b></p><p><b>  MOV A,P1</b></

40、p><p>  JB ACC.4,L1 ;為1跳轉(zhuǎn),第一行無按鍵</p><p>  MOV A,#00H</p><p><b>  LJMP LK</b></p><p><b>  L1:</b></p><p>  JB ACC.5,NEXT1</p>

41、<p>  MOV A,#0CH</p><p>  ;-------------------------------------------------------</p><p><b>  LK:</b></p><p><b>  ADD A,R4</b></p><p>&l

42、t;b>  PUSH ACC</b></p><p><b>  K4:</b></p><p>  LCALL DELAY1 ;若同時有其他按鍵,則等待</p><p><b>  LCALL KS</b></p><p><b>  JNZ K4</b>

43、;</p><p>  ;--------------------------------------------------------</p><p>  MOV R3,#07H </p><p><b>  CLR A</b></p><p>  MOV R0,#30H</p><p&g

44、t;  MOV R1,#31H</p><p><b>  MM1:</b></p><p><b>  MOV A,@R1</b></p><p><b>  MOV @R0,A</b></p><p><b>  INC R0</b></p>

45、;<p><b>  INC R1</b></p><p>  DJNZ R3,MM1</p><p><b>  POP ACC</b></p><p>  MOV @R0,A </p><p><b>  RET</b></p><p>

46、;  ;------------------------------------------------------</p><p><b>  NEXT1:</b></p><p>  INC R4 ;------列掃描</p><p><b>  MOV A,R2</b></p><p>

47、  JNB ACC.3,N2</p><p><b>  LJMP N1</b></p><p><b>  N2:</b></p><p><b>  LJMP KEY</b></p><p><b>  N1:</b></p><p

48、><b>  RL A</b></p><p><b>  MOV R2,A</b></p><p><b>  LJMP K3</b></p><p>  ;----------------------------------------------</p><p>&

49、lt;b>  KS:</b></p><p>  MOV A,#0F0H ;判斷P1口</p><p><b>  MOV P1,A</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p>

50、<p><b>  MOV A,P1</b></p><p><b>  CPL A</b></p><p>  ANL A,#0F0H</p><p><b>  RET</b></p><p>  ;--------------------------------

51、------------------</p><p><b>  DELAY1:</b></p><p><b>  SETB RS0</b></p><p><b>  DL:</b></p><p>  MOV R5,#0AH</p><p><

52、;b>  DL2:</b></p><p>  MOV R6,#63</p><p><b>  DL3:</b></p><p><b>  NOP </b></p><p><b>  NOP</b></p><p>  DJNZ

53、R6,DL3</p><p>  DJNZ R5,DL2 </p><p>  CLR RS0 </p><p><b>  RET</b></p><p>  ;--------------------------------------------------- </p><p>  

54、;30H-37H初值為零</p><p>  ;----------------------------------------------------</p><p>  INITIL: </p><p>  MOV R3,#08H</p><p>  MOV R0,#30H</p><p><b&g

55、t;  M1:</b></p><p>  MOV @R0,#00H</p><p><b>  INC R0</b></p><p>  DJNZ R3,M1 </p><p><b>  RET</b></p><p>  ;---------

56、-------------------------------------------</p><p><b>  ;顯示 </b></p><p>  ;---------------------------------------------------</p><p><b>  MODD: </b><

57、;/p><p>  MOV P0,#8EH</p><p>  LCALL ENABLE </p><p><b>  MOV A,37H</b></p><p>  MOV DPTR,#TABLE3 </p><p>  MOVC A,@A+DPTR</p>

58、;<p>  LCALL WRITE2 </p><p><b>  RET</b></p><p>  ;--------------------------------------------------</p><p><b>  ;開機(jī)提示字</b></p><p>

59、;  ;-------------------------------------------------</p><p><b>  KAIJI:</b></p><p><b>  MOV A,37H</b></p><p>  CJNE A,#0FH,DFF</p><p>  MOV P0,

60、#80H ;設(shè)光標(biāo)地址 </p><p>  LCALL ENABLE</p><p>  MOV DPTR,#TABLE1;寫數(shù)據(jù)</p><p>  LCALL WRITE1 </p><p><b>  DFF:</b></p><p><b>  RET&l

61、t;/b></p><p>  ;----------------------------------------------</p><p><b>  ;按鍵值播放歌曲</b></p><p>  ;----------------------------------------------</p><p>&

62、lt;b>  SOP:</b></p><p><b>  MOV A,37H</b></p><p>  CJNE A,#01H,A11</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE10</p><p>  MOV 53H

63、,#LOW TABLE10</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0</p><p><b>  A11:</b></p><p>  CJNE A,#02H,A22</p><p>  LCALL MODD</p><p&g

64、t;  MOV 52H,#HIGH TABLE20</p><p>  MOV 53H,#LOW TABLE20 </p><p>  LCALL INITILE2 </p><p>  LCALL MAIN0</p><p><b>  A22:</b></p><p>  CJNE

65、A,#03H,AAA</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE30</p><p>  MOV 53H,#LOW TABLE30 </p><p>  LCALL INITILE2 </p><p>  LCALL MAIN0 </

66、p><p>  AAA:RET </p><p>  ;******************************************</p><p><b>  INITILE2:</b></p><p>  MOV L50MS,#20</p><p>  MOV L1MS

67、,#00H</p><p>  MOV L250MS,#00H</p><p>  MOV SEC,#00H</p><p>  MOV MIN,#00H</p><p>  MOV HOU,#00H</p><p><b>  MOV A,HOU</b></p><p>

68、<b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p>  ADD A,#30H ;將BCD嗎轉(zhuǎn)化為ASIIC碼</p><p>  MOV P0,#0C8H ;顯示小時十位</p><p>  CALL ENABLE</p&g

69、t;<p>  CALL WRITE2</p><p><b>  MOV A,B</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0C9H ;顯示小時個位</p><p>  CALL ENABLE</p><p>  CALL WRIT

70、E2</p><p>  MOV A,#3AH</p><p>  MOV P0,#0DH ;顯示冒號</p><p>  CALL ENABLE</p><p>  CALL WRITE2</p><p><b>  MOV A,MIN</b></p><p>&

71、lt;b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0CBH ;顯示分十位</p><p>  CALL ENABLE</p><p>  CALL WRI

72、TE2</p><p><b>  MOV A,B</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0CCH ;顯示分個位</p><p>  CALL ENABLE</p><p>  CALL WRITE2</p><p> 

73、 MOV A,#3AH</p><p>  MOV P0,#0CDH ;顯示冒號</p><p>  CALL ENABLE</p><p>  CALL WRITE2</p><p><b>  MOV A,SEC</b></p><p><b>  MOV B,#10</

74、b></p><p><b>  DIV AB</b></p><p>  ADD A,#30H </p><p>  MOV P0,#0CEH ;顯示秒十位</p><p>  CALL ENABLE</p><p>  CALL WRITE2</p><p>

75、;<b>  MOV A,B</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0CFH ;顯示秒個位</p><p>  CALL ENABLE</p><p>  CALL WRITE2</p><p>  MOV P0,#0C0H ;設(shè)光標(biāo)地址

76、 </p><p>  CALL ENABLE</p><p>  MOV DPTR,#TABLE2;寫數(shù)據(jù)</p><p>  CALL WRITE1 </p><p><b>  RET</b></p><p>  ;******************************

77、***************寫指令</p><p><b>  ENABLE: </b></p><p><b>  CLR RS</b></p><p><b>  CLR RW</b></p><p><b>  CLR E</b></p>

78、;<p>  LCALL DELAY </p><p><b>  SETB E</b></p><p><b>  RET</b></p><p>  ;**********************************************寫數(shù)據(jù)</p><p><b&g

79、t;  WRITE1:</b></p><p>  MOV R1,#00H</p><p><b>  A1:</b></p><p><b>  MOV A,R1</b></p><p>  MOVC A,@A+DPTR</p><p>  CALL WRITE

80、2</p><p><b>  INC R1</b></p><p>  CJNE A,#0FEH,A1 ;未到字符串末尾繼續(xù)</p><p><b>  RET</b></p><p><b>  WRITE2:</b></p><p><b

81、>  MOV P0,A</b></p><p><b>  SETB RS</b></p><p><b>  CLR RW</b></p><p><b>  CLR E</b></p><p>  CALL DELAY</p><p&g

82、t;<b>  SETB E</b></p><p><b>  RET</b></p><p>  ;**********************************************延時</p><p><b>  DELAY:</b></p><p>  MOV

83、 R4,#05</p><p><b>  D1:</b></p><p>  MOV R5,#0FFH</p><p><b>  DJNZ R5,$</b></p><p>  DJNZ R4,D1</p><p><b>  RET </b>&l

84、t;/p><p>  ;----------------------------------------------顯示開機(jī),查表</p><p><b>  TAB:</b></p><p>  DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H</p><p>  DB 80H,90H,88H

85、,83H,0C6H,0A1H,86H,8EH</p><p>  TAB1:DB 89H,86H,0C7H,0C7H,0C0H</p><p>  TAB2:DB 0C6H,88H,0C0H</p><p>  TABLE1:DB' WELCOME! ',0FEH</p><p>  TABLE2:DB'DFF WB

86、',0FEH</p><p>  TABLE4:DB 'CAU',0FEH</p><p><b>  TABLE3:</b></p><p>  DB 30H,31H,32H,33H </p><p>  DB 34H,35H,36H,37H</p><p>

87、;  ;-------------------------------------------------------------------</p><p><b>  ;播放歌曲程序</b></p><p>  ;-------------------------------------------------------------------</p>

88、;<p><b>  MAIN0:</b></p><p>  MOV TMOD,#11H</p><p>  MOV IE,#8AH </p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H </p><p><b>  LCAL

89、L KS</b></p><p>  JNZ TTM12 </p><p>  MOV 40H,#00H</p><p>  ;---------------------------------------------------------</p><p><b>  NEXT20:</b&g

90、t;</p><p><b>  MOV A,40H</b></p><p>  MOV DPH,52H</p><p>  MOV DPL,53H</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R2,A</b></p>

91、<p><b>  JZ STOP</b></p><p>  ANL A,#0FH</p><p><b>  MOV R1,A</b></p><p><b>  MOV A,R2</b></p><p><b>  SWAP A</b>&l

92、t;/p><p>  ANL A,#0FH</p><p><b>  JNZ SING</b></p><p><b>  CLR TR0</b></p><p><b>  JMP W1</b></p><p>  ;------------------

93、----------------------------------------</p><p><b>  SING:</b></p><p><b>  DEC A</b></p><p><b>  MOV 22H,A</b></p><p><b>  RL

94、A</b></p><p>  MOV DPTR,#TABLE00</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV TH0,A</b></p><p><b>  MOV 21H,A</b></p><p><b>

95、  MOV A,22H</b></p><p><b>  RL A</b></p><p><b>  INC A</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV TL0,A</b></p><p&

96、gt;<b>  MOV 20H,A</b></p><p><b>  SETB TR0</b></p><p><b>  SETB TR1</b></p><p><b>  W1:</b></p><p>  LCALL DELAY30</

97、p><p><b>  INC 40H</b></p><p>  LCALL KS ;------有鍵跳出</p><p><b>  JNZ STOP</b></p><p>  LJMP NEXT20</p><p>  ;-----------------

98、------------------------------------------</p><p><b>  STOP:</b></p><p><b>  CLR TR0</b></p><p><b>  CLR TR1</b></p><p>  LJMP MAIN0

99、 </p><p>  ;----------------------------------------------------------</p><p><b>  TTM12:</b></p><p><b>  LCALL K2</b></p><p><b>  MOV A,3

100、7H</b></p><p>  CJNE A,#0EH,TTM13</p><p><b>  CLR TR1</b></p><p>  LCALL DELAY1</p><p><b>  TTM120:</b></p><p><b>  LCA

101、LL KS</b></p><p>  LCALL DELAY1</p><p><b>  JZ TTM120</b></p><p><b>  LCALL K2</b></p><p><b>  MOV A,37H</b></p><p&

102、gt;  CJNE A,#0EH,TTM120</p><p><b>  SETB TR1</b></p><p>  LJMP NEXT20</p><p><b>  TTM13:</b></p><p>  CJNE A,#0CH,TTM14</p><p><

103、b>  MOV A,52H</b></p><p><b>  INC A</b></p><p><b>  MOV 52H,A</b></p><p><b>  MOV A,53H</b></p><p><b>  INC A</b&g

104、t;</p><p><b>  MOV 53H,A</b></p><p><b>  MOV A,36H</b></p><p><b>  INC A</b></p><p><b>  MOV 37H,A</b></p><p&

105、gt;<b>  LJMP TTM2</b></p><p><b>  TTM14:</b></p><p>  CJNE A,#0DH,TTM2</p><p><b>  MOV A,52H</b></p><p><b>  DEC A</b>&l

106、t;/p><p><b>  MOV 52H,A</b></p><p><b>  MOV A,53H</b></p><p><b>  DEC A</b></p><p><b>  MOV 53H,A</b></p><p>&

107、lt;b>  MOV A,36H</b></p><p><b>  DEC A</b></p><p><b>  MOV 37H,A</b></p><p>  ;------------------------------------------------------ </p>&

108、lt;p><b>  TTM2:</b></p><p><b>  RET</b></p><p>  ;***************************************************</p><p>  ;定時器中斷子程序0</p><p>  ;*********

109、******************************************</p><p><b>  TT0:</b></p><p><b>  PUSH ACC</b></p><p><b>  PUSH PSW</b></p><p>  MOV TL0,2

110、0H</p><p>  MOV TH0,21H</p><p><b>  CPL P3.0</b></p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RETI

111、</b></p><p>  ;***************************************************</p><p>  ;定時器中斷子程序1</p><p>  ;***************************************************</p><p><b&

112、gt;  T1INT: </b></p><p>  MOV TH1, #3CH</p><p>  MOV TL1, #0B0H</p><p>  DJNZ L50MS,X4</p><p>  MOV L50MS,#20</p><p>  ;****************---每秒種時鐘刷新秒顯示

113、一次</p><p><b>  SECSET:</b></p><p><b>  MOV A,SEC</b></p><p><b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p&g

114、t;  ADD A,#30H </p><p>  MOV P0,#0CEH ;顯示秒十位</p><p>  LCALL ENABLE</p><p>  LCALL WRITE2</p><p><b>  MOV A,B</b></p><p>  ADD A,#30H</p&g

115、t;<p>  MOV P0,#0CFH ;顯示秒個位</p><p>  LCALL ENABLE</p><p>  LCALL WRITE2</p><p><b>  MOV A,SEC</b></p><p><b>  INC A</b></p><

116、;p><b>  MOV SEC,A</b></p><p><b>  XRL A,#60</b></p><p><b>  X4:</b></p><p><b>  JNZ OUT</b></p><p><b>  MINSET:

117、</b></p><p>  MOV SEC,#00H </p><p>  ;*************************************每分鐘刷新分顯示一次</p><p><b>  MOV A,MIN</b></p><p><b>  INC A</b><

118、;/p><p>  MOV MIN,A </p><p><b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0CBH ;顯示分十位</p>

119、<p>  LCALL ENABLE</p><p>  LCALL WRITE2</p><p><b>  MOV A,B</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0CCH ;顯示分個位</p><p>  LCALL ENABL

120、E</p><p>  LCALL WRITE2</p><p>  MOV A,MIN </p><p><b>  MOV B,#3</b></p><p><b>  MUL AB</b></p><p>  MOV B,#100</p><p>

121、;<b>  DIV AB</b></p><p><b>  MOV R2,A</b></p><p><b>  MOV A,#10</b></p><p><b>  XCH A,B</b></p><p><b>  DIV AB<

122、/b></p><p><b>  MOV A,MIN</b></p><p><b>  XRL A,#60</b></p><p><b>  JNZ OUT</b></p><p><b>  HOUSET:</b></p>&l

123、t;p>  MOV MIN,#00H </p><p>  ;**************************************每小時刷新小時顯示一次 </p><p><b>  MOV A,HOU</b></p><p><b>  MOV B,#10</b></p><p>

124、;<b>  DIV AB</b></p><p>  ADD A,#30H ;將BCD嗎轉(zhuǎn)化為ASIIC碼</p><p>  MOV P0,#0C8H ;顯示小時十位</p><p>  CALL ENABLE</p><p>  CALL WRITE2</p><p>

125、<b>  MOV A,B</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0C9H ;顯示小時個位</p><p>  CALL ENABLE</p><p>  CALL WRITE2</p><p><b>  MOV A,HOU<

126、/b></p><p><b>  INC A</b></p><p><b>  MOV HOU,A</b></p><p><b>  XRL A,#10</b></p><p><b>  JNZ OUT</b></p><

127、p>  SJMP OVERFLOW</p><p><b>  OUT:</b></p><p><b>  RETI</b></p><p>  ;*************************************溢出處理</p><p><b>  OVERFLOW:&l

128、t;/b></p><p>  MOV L50MS,#20</p><p>  MOV L1MS,#00H</p><p>  MOV L250MS,#00H</p><p>  MOV SEC,#00H</p><p>  MOV MIN,#00H</p><p>  MOV HOU,#

129、00H</p><p><b>  RETI</b></p><p>  ;-------------------------------------------------------------------</p><p>  DELAY30: ;延時子程序</p><p><b>  MOV R7,#

130、2</b></p><p><b>  W2:</b></p><p>  MOV R4,#125</p><p><b>  W3:</b></p><p>  MOV R3,#248</p><p><b>  DJNZ R3,$</b>

131、</p><p>  DJNZ R4,W3</p><p>  DJNZ R7,W2</p><p>  DJNZ R1,DELAY30</p><p><b>  RET</b></p><p>  ;-----------------------------------------------

132、--------------------</p><p>  TABLE00: ;決定音調(diào)的定時初值</p><p>  DW 64580,64684,64777,64820</p><p>  DW 64898,64968,65030,64260</p><p>  DW 64400,64524,65058,63835,64021</

133、p><p>  ;-------------------------------------------------------------------</p><p>  ;第一首《同一首歌》</p><p>  ;-------------------------------------------------------------------</p>

134、<p><b>  TABLE10:</b></p><p>  DB 88H,14H,24H,36H,42H,34H,14H,28H,14H,94H</p><p>  DB 1FH,88H,14H,24H,34H,32H,42H,54H,14H</p><p>  DB 46H,32H,54H,22H,32H,32H,22H,

135、2CH,38H,54H,74H</p><p>  DB 76H,62H,68H,54H,52H,62H,74H,62H,52H,3FH</p><p>  DB 46H,42H,54H,64H,54H,42H,32H,28H,0A4H,0A2H</p><p>  DB 92H,84H,94H,1FH,0B8H,68H,46H,52H,68H</p>

136、<p>  DB 74H,72H,72H,74H,62H,52H,3FH,0B8H,68H</p><p>  DB 46H,52H,68H,64H,62H,62H,64H,42H,32H,2FH</p><p>  DB 58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12H</p><p>  DB 9

137、4H,9CH,0A8H,0A6H,92H,84H,64H,54H,22H,22H,46H,42H,44H,32H,22H,5FH</p><p><b>  DB 00</b></p><p>  ;-------------------------------------------------------------------</p><p&

138、gt;  ;第二首<<世上只有媽媽好>></p><p>  ;-------------------------------------------------------------------</p><p><b>  TABLE20:</b></p><p>  DB 66H,52H,34H,54H,0B4H,

139、62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,</p><p><b>  32H,28H</b></p><p>  DB 26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FH</p><p>  DB 66H,52H,34H,54H,

140、0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,</p><p><b>  32H,28H</b></p><p>  DB 26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FH</p><p>  DB 66H,52H,34H

141、,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,</p><p><b>  32H,28H</b></p><p>  DB 26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FH</p><p><b>  

142、DB 00</b></p><p>  ;-------------------------------------------------------------------</p><p>  ;第三首《精忠報(bào)國》</p><p>  ;---------------------------------------------------------

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論