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

下載本文檔

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

文檔簡介

1、<p><b>  單片機課程設計報告</b></p><p><b>  多功能秒表系統(tǒng)設計</b></p><p>  姓 名: </p><p>  學 號: </p><p>  專業(yè)班級: </p><p

2、>  指導老師: </p><p><b>  所在學院:</b></p><p>  2009年6月10日</p><p><b>  摘 要</b></p><p>  單片機已經無處不在,與我們生活更是息息相關并已滲透到了生活的方方面面。單片機的特點是體積小,重量輕,功能強,

3、通用性好,也就是說集成度高,其內部的結構是普通的計算機系統(tǒng)的簡化。在增加一些外圍電路之后,就能成為一個完整的系統(tǒng)。在眾多單片機中,MCS-51系列單片機具有系統(tǒng)結構完整,特殊功能寄存器規(guī)范化以及指令系統(tǒng)的控制功能強等特色,使起成為單片機中的主流機型。</p><p>  本設計是一個由AT89C51單片機控制,利用單片機的定時器/計數器定時和記數的原理,結合顯示電路、電源電路、LED數碼管以及鍵盤電路按鍵計時來實

4、現的多功能秒表系統(tǒng)。</p><p>  在本次設計中我們以AT89C51單片機為主要器件,利用它的定時器/計數器定時和記數的原理,結合7809電源提供的+5V穩(wěn)壓電壓,上電加按鈕復位電路,晶體振蕩電路,由P0口驅動的LED動態(tài)顯示電路,鍵盤電路等來完成多功能秒表的設計。這個多功能秒表系統(tǒng)能夠實現兩位LED顯示,顯示的時間為00~99秒,每秒自動加1,能正確地進行加、減(倒)計時,能同時記錄4個相對獨立的時間,通

5、過上翻鍵和下翻鍵來查看這4個不同的計時值,還具有快加和復位功能,基本上實現了老師的要求。我們使用匯編語言來編寫程序,采用模塊化程序設計方法,主程序有多個子程序構成,這些子程序可以單獨的設計,調試和管理,其中包括加1子程序、減1子程序、延時子程序、快加子程序,復位子程序和顯示子程序等。將源程序代碼在WAVE中進行編譯和調試,硬件系統(tǒng)利用Proteus軟件來實現,可以方便的看到運行結果。</p><p>  關鍵詞:

6、多功能秒表、單片機、子程序模塊、Proteus仿真</p><p><b>  目錄</b></p><p><b>  1 概述3</b></p><p>  1.1單片機簡介…………… …...………………………………………..3</p><p>  1.2設計任務…………………

7、……………………………………………………3</p><p>  1.3設計要求………………………………………………………………………3</p><p>  2 系統(tǒng)總體方案及硬件設計4</p><p><b>  2.1、電源5</b></p><p>  2.2、復位電路5</p><p&g

8、t;  2.3、晶體振蕩電路6</p><p>  2.4、顯示電路7</p><p>  2.5、鍵盤電路8</p><p><b>  3 軟件設計9</b></p><p>  3.1、設計思想10</p><p>  3.2、系統(tǒng)流程圖15</p><p&

9、gt;  4 Proteus軟件仿真17</p><p>  5 課程設計體會………………………………………………………………………….19</p><p><b>  參考文獻20</b></p><p>  附1:源程序代碼21</p><p>  附2:系統(tǒng)原理圖25</p><p&g

10、t;<b>  1 概述</b></p><p><b>  1.1單片機簡介</b></p><p>  單片機是性能價格比高、體積小、對國民經濟滲透力大、最有前途的微控制器。單片機自20世紀70年代初研制成功并發(fā)展至今,已進入第四代。它主要是在一塊芯片上集成了CPU、存儲器以及輸入輸出電路,在工業(yè)過程中被廣泛應用在控制電路中。從單片機的系列來

11、看,國內外已超過50個系列、近500個品種,當前正處于更新換代、百花齊放的時期。新的系列和專用系列正在不斷涌現。按位數分類有4位、8位、16位以及32位單片機等,4位單片機由于價格低和出現的早得到了廣泛的應用,特別是在家電應用領域中其還有很大的優(yōu)勢,為了抵御8位機的競爭,4位機在結構和功能上都有很大的改進。8位機的生產廠家以及品種都很多,在實際的生產中應用也最為廣泛,其中intel公司的8051系列單片機在我國應用最為廣泛,另外8位單片

12、機也在其功能和內部結構上不斷的進行改進,目前功能是越來越強大。16位單片機在數據處理以及單片機的性能上有了很大的改進。32位單片機是隨著高科技產業(yè)的發(fā)展而產生的。</p><p><b>  1.2設計任務:</b></p><p>  設計一個單片機控制的多功能秒表系統(tǒng),利用單片機的定時器/計數器定時和記數的原理,結合顯示電路、用兩個LED數碼管以及按鍵來設計00~

13、99秒計時器。將軟、硬件有機地結合起來,使得系統(tǒng)能夠正確地進行加計時,同時數碼管能夠正確地顯示時間。 </p><p><b>  1.3設計要求:</b></p><p>  1、能同時記錄四個相對獨立的時間并分別顯示 。 </p><p>  2、兩位LED動態(tài)顯示,顯示時間為00~99秒。 </p><p>  3

14、、每秒自動加1。 </p><p>  4、一個開始按鍵、一個復位按鍵、一個暫停按鈕和一個快加按鈕(每10ms快速加一)。 </p><p>  5、翻頁按鈕查看四個不同的計時值 。</p><p>  2 系統(tǒng)總體方案及硬件設計</p><p>  本設計的最主要的元器件就是MCS-51單片機。MCS-51單片機在一塊芯片上集成了CPU,存

15、儲器RAM,ROM以及輸入與輸出接口電路,這種芯片習慣上被稱為單片微型計算機,簡稱單片機。MCS-51單片機是INTEL公司在1980年推出的高檔8位單片機。它的典型產品有:8051,8031,8751,80C51,80C31,87C51。</p><p><b>  "</b></p><p>  圖1:AT89C51單片機</p><

16、p>  AT89C51(圖1)單片機由CPU,振蕩器與時序電路, 4個8位的I/O端口(P0,P1,P2,P3),串行口等組成。</p><p><b>  P0口有三個功能:</b></p><p>  1、外部擴展存儲器時,當做數據總線(如圖中的D0~D7為數據總線接口)。</p><p>  2、外部擴展存儲器時,當作地址總線(如圖

17、中的A0~A7為地址總線接口)。</p><p>  3、不擴展時,可做一般的I/O使用,但內部無上拉電阻,作為輸入或輸出時應在外部接上拉電阻。</p><p>  P1口只做I/O口使用:其內部有上拉電阻。</p><p><b>  P2口有兩個功能:</b></p><p>  1、擴展外部存儲器時,當作地址總線使

18、用;</p><p>  2、做一般I/O口使用,其內部有上拉電阻;</p><p><b>  P3口有兩個功能:</b></p><p>  除了作為I/O使用外(其內部有上拉電阻),還有一些特殊功能,由寄存器來設置。</p><p>  ALE:地址鎖存控制信號</p><p>  PSEN

19、:外部程序存儲器讀選通信號</p><p>  EA/VPP:訪問和序存儲器控制信號</p><p>  RST:復位信號XTAL1和XTAL2 外接晶振引腳VCC:電源+5V輸入VSS:GND接地。</p><p>  圖2:整體設計電路圖</p><p>  2.1 電源:采用7809電源提供+5V穩(wěn)壓電壓。</p><

20、;p>  電源電路是單片機系統(tǒng)最基本的部分,所以我們應該高度重視電源部分,不能因為電源部分電路比較簡單而有所忽略,電源部分做好才能保證電路的正常工作。對電源電路來說,最重要的就是穩(wěn)壓,我們采用的是7809電源提供的+5V穩(wěn)壓電壓。</p><p>  2.2 復位電路:采用上電加按鈕復位。</p><p>  其中,在這個系統(tǒng)中的復位電路是采用上電加按鈕來實現的。因為MCS-51單片

21、機的復位是靠外部電路實現的。MCS-51單片機工作之后,只要在他的RST引線上加載10ms以上的高點平,單片機就能有效地進行復位。MCS-51單片機通常采用上電自動復位、按鍵復位、以及上電加按鍵復位等,我們采用的是上電加按鍵復位方式,這樣做的優(yōu)點是上電后可以直接進入復位狀態(tài),當程序出現錯誤時,可以隨時使電路復位。</p><p><b>  圖3:復位電路</b></p>&l

22、t;p>  2.3晶體振蕩電路: 通過XTAL1和XTAL2外接晶體振蕩器構成內部振蕩方式。</p><p>  由于單片機內部有一個高增益反相放大器,當外接晶振后,就構成了自激振蕩器并產生振蕩時鐘脈沖。MCS--51單片機內部的振蕩電路是一個高增益反相放大器,引線 XTAL1和XTAL2分別為 反向振蕩放大器的輸入及內部時鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以配置為片內振蕩器。</

23、p><p><b>  圖3 晶振電路</b></p><p>  2.4 顯示電路:采用LED動態(tài)顯示,用P0口驅動顯示。</p><p>  顯示電路既可以選用液晶顯示器,也可以選用數碼管顯示。我們采用的是數碼管顯示電路。在用數碼管顯示時,我們有靜態(tài)和動態(tài)兩種選擇,靜態(tài)顯示程序簡單,顯示穩(wěn)定,但是占用端口比較多;動態(tài)顯示的程序比較復雜,但是所使

24、用的端口比較少,可以節(jié)省單片機的I/O口,我們在這次系統(tǒng)設計中采用的是動態(tài)顯示。但是由于我們編程知識的局限性,顯示的結果并沒有達到我們預期的效果,敬請老師原諒。</p><p><b>  圖5:顯示電路</b></p><p>  2.5 鍵盤電路:用部分P1口做開始開關,P1.0停止,P1.1復位,P1.2快加,P1.3暫停記錄,P1.4上翻,P1.5下翻,用外中

25、斷INT0開始,用軟件法消除抖動。</p><p><b>  圖5:鍵盤電路</b></p><p><b>  3 軟件設計</b></p><p><b>  3.1 設計思想</b></p><p>  因為秒表設計相對較為簡單,因此在軟件設計中我們一般采用模塊化程序

26、設計的方法。模塊是一個具有獨立功能的程序,可以單獨設計、調試與管理,模塊可分為功能模塊和控制模塊兩類。我們通過模塊化程序設計可按適當的原則把一個情況復雜、規(guī)模較大的程序系統(tǒng)劃分為一個個較小的、功能相關而又相對獨立的模塊。每個小的模塊完成一個確定的功能,在這些小的模塊之間建立必要的聯系,互相協(xié)作完成整個程序要完成的功能。它具有明顯的優(yōu)點,把一個多功能的復雜的程序劃分為若干個簡單的、功能單一的程序模塊,有利于程序的設計和調試,有利于程序的優(yōu)

27、化和分工,提高了程序的閱讀性和可靠性,使程序的結構層次一目了然。</p><p>  其中的模塊即為子程序,子程序是功能獨立的程序段。子程序的基本思想是編寫一次,可以重復使用。子程序的形式可以是一個程序文件,也可以是一個過程或函數。子程序總被其他程序調用而不單獨執(zhí)行,這與主程序相對。</p><p>  這個主程序也是由多個子程序模塊組成,各程序模塊都要完成一個明確的任務,實現某個具體的功

28、能,加計數、減計數、延時、快加、復位,計數和顯示等,在具體需要時調用相應的模塊即可。</p><p><b>  程序模塊設計:</b></p><p><b>  主程序</b></p><p>  MAIN: MOV SP, #50H</p><p>  MOV TMOD, #11

29、H</p><p>  MOVTH1,#0D8H ;定時10ms</p><p>  MOVTL1, #0F0H</p><p>  MOVTH0,#0CFH ;定時25ms </p><p>  MOVTL0, #02CH</p><p>  M

30、OV20H, #00H ;BIN SECOND</p><p>  MOV30H, #00H ; SECOND</p><p>  MOV31H, #00H</p><p>  MOV40H, #40</p><p>  MOV 71H, #00H</

31、p><p>  MOV 72H, #00H</p><p>  MOV 73H, #00H</p><p>  MOV 74H, #00H ;對71H—74H單元清零</p><p>  MOV R2, #04H</p><p>  MOV R3, #

32、04H</p><p>  MOV R1, #71H</p><p>  SETB EA </p><p>  SETB EX1</p><p>  CLR ET1</p><p>  SETB ET0</p><p>  CLR PT0</p

33、><p>  CLR PT1</p><p>  SETB PX1</p><p>  SETB IT1</p><p>  MOVP0, #0FFH</p><p><b>  CLRTR0</b></p><p><b>  CLRT

34、R1</b></p><p>  CLR 7FH</p><p>  判斷是否有鍵按下,并確定是哪一個鍵,轉移到相應的子程序的入口地址去執(zhí)行子程序。沒有鍵按下則一直等待,直到有鍵按下。</p><p>  ML1:ACALLDISP ;調用顯示程序</p><p>  P1.

35、0鍵按下時,計數停止</p><p>  START: JB P1.0, LOOP1 </p><p>  ACALL DELAY10 ;延時</p><p>  JB P1.0, LOOP1 ;P1.0=1,跳轉到LOOP1執(zhí)行</p>&

36、lt;p>  JNB P1.0, $</p><p>  LJMP STOP ;P1.0=0,跳轉到停止子程序</p><p>  P1.1鍵按下時,數字清零復位</p><p>  LOOP1: JB P1.1, LOOP2 </p><p>  ACAL

37、L DELAY10 ;延時</p><p>  JB P1.1, LOOP2 ;P1.1=1,跳轉到LOOP2執(zhí)行</p><p>  JNB P1.1, $</p><p>  LJMP RESET

38、 ;P1.1=0,跳轉到復位子程序</p><p>  P1.2鍵按下時,進行快加計數 </p><p>  LOOP2: JB P1.2,LOOP3</p><p>  ACALL DELAY10 ;延時</p><p>  JB P1.2, LOOP3

39、 ;P1.2=1,跳轉到LOOP3執(zhí)行</p><p>  JNB P1.2, $</p><p>  LJMP KUAIJIA ;P1.2=0,跳轉到快加子程序</p><p>  P1.3鍵按下時,執(zhí)行記錄功能</p><p>  LOOP3:

40、JB P1.3,LOOP4 </p><p>  ACALL DELAY10 ;延時</p><p>  JB P1.3, LOOP4 ;P1.3=1,跳轉到LOOP4執(zhí)行</p><p>  JNB P1.3, $</p><p

41、>  LJMP JILU ;P1.3=0,跳轉到暫停記錄子程序</p><p>  P1.4鍵按下時,執(zhí)行上翻功能</p><p>  LOOP4: JB P1.4,LOOP5 ;P1.4=0,SHANGFAN</p><p>  ACALL DELAY10

42、 ;延時</p><p>  JB P1.4, LOOP5 ;P1.4=1,跳轉到LOOP5執(zhí)行</p><p>  JNB P1.4, $</p><p>  LJMP XIAFAN ;P1.4=0,跳轉

43、到上翻子程序</p><p>  P1.5 鍵按下時,執(zhí)行下翻功能</p><p>  LOOP5: JB P1.5,LOOP ;P1.5=0,XIAFAN</p><p>  ACALL DELAY10 ;延時</p><p>  JB P1.

44、5, LOOP ;P1.5=1,跳轉到LOOP執(zhí)行</p><p>  JNB P1.5, $</p><p>  LJMP SHANGFAN ;P1.5=0,跳轉到下翻子程序</p><p>  LOOP: SJMP HERE</p>

45、<p><b>  (2)停止子程序</b></p><p>  軟件對定時器0和定時器1的控制位清零,使定時器停止工作</p><p>  STOP: CLR TR0 </p><p>  CLR TR1</p><p>  ACALL DISP</p><p>

46、  SJMP HERE</p><p><b> ?。?)復位子程序</b></p><p>  軟件對顯示的各內存單元清零,并回到開始前的初始狀態(tài),具體程序如下所示 :</p><p>  RESET: CLR TR0 </p><p>  CLR TR1

47、 ;關閉定時器0,1</p><p>  MOV 20H, #00H</p><p>  MOV 30H, #00H</p><p>  MOV 31H, #00H</p><p>  ACALL DISP ;調用顯示子程序&l

48、t;/p><p>  SJMP HERE</p><p><b>  (4)按鍵消抖程序</b></p><p>  DELAY10: MOV R4,#14H </p><p>  延時10ms再次判斷該位的狀態(tài),若仍是0則說明該鍵被按下,彈起后去執(zhí)行該按鍵功能;若為1,則說明是抖動則繼續(xù)向下判斷。<

49、;/p><p>  例如下面的程序中就調用了這個子程序。</p><p>  LOOP3: JB P1.3,LOOP4 ;P1.3=0時,暫停記錄</p><p>  ACALL DELAY10</p><p>  JB P1.3, LOOP4</p><p>  JNB

50、 P1.3, $</p><p><b>  LJMP JILU</b></p><p><b>  3.2系統(tǒng)流程圖</b></p><p><b>  1)、主程序:</b></p><p><b>  2)、定時器1:</b></p>

51、<p><b>  3)、加1程序:</b></p><p>  4 Proteus軟件仿真</p><p>  我們利用WAVE軟件對源程序進行編譯,編譯成功后,把編譯結果保存。然后根據我們的軟件在PROTEUS中設計出相應的硬件電路,并將該電路保存到與WAVE程序相同的文件夾中,最后將程序裝載到單片機中,通過PROTEUS仿真,看程序是否能夠實現預

52、想的功能。</p><p>  源程序在WAVE軟件中的編譯結果:</p><p>  圖6:源程序在WAVE軟件中的編譯結果</p><p>  PROTEUS仿真圖如下圖所示:</p><p>  圖7:系統(tǒng)仿真結果1</p><p>  圖8:系統(tǒng)仿真結果2</p><p><b&g

53、t;  5 課程設計體會</b></p><p>  經過一周的不懈努力,單片機的課程設計終于完成了。在這期間我們學會了很多,也學到了很多,同時,對單片機這門課程有了更深一步的理解和掌握。</p><p>  1、本次課程設計使我加深了對單片機課程的全面認識,復習和掌握,對MC-51單片機有了更深入的了解,對I/O口的使用,晶振電路的接法,以及復位電路等的掌握都有了很大程度的提

54、高,這為以后的實踐打下了良好的基礎。</p><p>  2、掌握定時器、外部中斷的設置和編程原理。</p><p>  3、通過此次課程設計能夠將單片機軟硬件結合起來,對程序進行編輯,校驗。</p><p>  4、還要根據實驗的實際情況,添加些額外程序來使系統(tǒng)更加的穩(wěn)定,如開關的消震蕩(采用延遲)。</p><p>  5、程序要盡量做到

55、由各個子程序組成,在有些程序后面最好加注釋,這樣在程序出錯的檢查過程中可以更容易查找的到,也更簡潔,更明白易懂。</p><p>  6、我在編程過程中還有好多不理解的地方,經過老師和別人的幫助終于完成了這次設計。在這個過程中體會到了合作的好處,更了解的互相幫助的重要性。</p><p>  在這次的單片機課程設計中,我遇到了很多困難,曾經也想到過要放棄,但我最后還是堅持下來了。</

56、p><p>  由于編程能力的有限和所學知識的局限性,在這個程序和設計系統(tǒng)中只實現了所有的基本要求和部分的高級要求,而且這其中還有許多不完善的地方,有時在上翻和下翻時會出現一些問題,這說明我在這方面還存在著很多不足,知識不夠完備和系統(tǒng),在以后的學習中還有待提高。希望老師能在以后的學習和生活中對我多加指導,促使我能取得更大的進步。</p><p>  總之,通過這次課程設計我學到了很多東西。它使

57、我對單片機的理論知進行了全面的復習和系統(tǒng)的理解。本設計不僅將我們所學的理論知識應用到實際中去,同時也鍛煉了自己的動手能力。與此同時,我還學會了要充分利用各種可學習的資源,提高自己獨立學習的能力,獨立思考的能力,查資料的能力,創(chuàng)新的能力及解決問題的能力。</p><p><b>  參考文獻</b></p><p>  【1】余發(fā)山編著.單片機原理及應用技術.徐州:中國

58、礦業(yè)大學出版社,2003年</p><p>  【2】楊凌霄編著.微型計算機原理及應用.徐州:中國礦業(yè)大學出版社,2004年</p><p>  【3】楊寧編著.單片機與控制技術.北京:北京航空航天大學出版社,2004年</p><p>  【4】王閃編著.AT89系列單片機原理與接口技術.北京:北京航空航天大學出版社,2004年</p><p&

59、gt;  【5】 李群芳主編.單片機原理、接口及應用.北京:清華大學出版社,2005</p><p><b>  附1:源程序代碼:</b></p><p>  ORG0000H</p><p>  LJMP MAIN</p><p>  ORG 0003H</p><p>  LJM

60、P JILU</p><p>  ORG000BH</p><p>  LJMPTIME1</p><p>  ORG 0013H</p><p>  LJMP ZHONGDUAN</p><p>  ORG001BH</p><p>  LJMPTIME10</

61、p><p>  ORG0100H</p><p>  MAIN: MOV SP, #50H</p><p>  MOV TMOD, #11H</p><p>  MOV TH1,#0D8H ;定時10ms</p><p>  MOVTL1, #

62、0F0H</p><p>  MOV TH0,#0CFH ;定時25ms</p><p>  MOVTL0, #02CH</p><p>  MOV 20H,#00H ;BIN SECOND</p><p>  MOV 30H,#00H

63、 ; SECOND</p><p>  MOV31H, #00H</p><p>  MOV40H, #40</p><p>  MOV 71H, #00H</p><p>  MOV 72H, #00H</p><p>  MOV 73H, #

64、00H</p><p>  MOV 74H, #00H</p><p>  MOV R2, #04H</p><p>  MOV R3, #04H</p><p>  MOV R1, #71H</p><p>  SETB EA </p><p>  S

65、ETB EX1</p><p>  CLR ET1</p><p>  SETB ET0</p><p>  CLR PT0</p><p>  CLR PT1</p><p>  SETB PX1</p><p>  SETB IT1</p

66、><p>  MOVP0, #0FFH</p><p><b>  CLRTR0</b></p><p><b>  CLRTR1</b></p><p>  CLR 7FH</p><p>  ML1:ACALLDISP</p><p&g

67、t;  START: JB P1.0,LOOP1 ; P1.0=0,STOP</p><p>  ACALL DELAY10</p><p>  JB P1.0, LOOP1</p><p>  JNB P1.0, $ </p><p>  LJMP STOP</p><p&g

68、t;  LOOP1: JB P1.1, LOOP2 ;P1.1=0時,復位</p><p>  ACALL DELAY10</p><p>  JB P1.1, LOOP2</p><p>  JNB P1.1, $</p><p>  LJMP RESET</p>

69、;<p>  LOOP2: JB P1.2,LOOP3 ;P1.2=0時,快加</p><p>  ACALL DELAY10</p><p>  JB P1.2, LOOP3</p><p>  JNB P1.2, $</p><p>  LJMP KUAI

70、JIA</p><p>  LOOP3: JB P1.3,LOOP4 ;P1.3=0時,暫停記錄</p><p>  ACALL DELAY10</p><p>  JB P1.3, LOOP4</p><p>  JNB P1.3, $</p><p&

71、gt;<b>  LJMP JILU</b></p><p>  LOOP4: JB P1.4,LOOP5 ;P1.4=0時,上翻</p><p>  ACALL DELAY10</p><p>  JB P1.4, LOOP5</p><p>  JNB

72、 P1.4, $</p><p>  LJMP XIAFAN</p><p>  LOOP5: JB P1.5,LOOP ;P1.5=0時,下翻</p><p>  ACALL DELAY10</p><p>  JB P1.5, LOOP</p><

73、p>  JNB P1.5, $</p><p>  LJMP SHANGFAN</p><p>  LOOP: SJMP HERE</p><p>  STOP: CLR TR0 ;停止程序</p><p>  CLR TR1</p>&l

74、t;p>  ACALL DISP</p><p>  SJMP HERE</p><p>  RESET: CLR TR0 ;復位程序</p><p>  CLR TR1</p><p>  MOV 20H, #00H</p><

75、;p>  MOV 30H, #00H</p><p>  MOV 31H, #00H</p><p>  ACALL DISP</p><p>  SJMP HERE</p><p>  JILU : MOV A,20H ;暫停記錄程序</

76、p><p>  MOV @R1, A</p><p>  INC R1</p><p>  DJNZ R2, HERE</p><p>  MOV R1, #71H </p><p>  SJMP STOP</p><p>  XIAFAN: MOV A,@

77、R1 ;下翻程序</p><p>  MOV 20H, A</p><p>  MOV B, #0AH</p><p>  DIV AB</p><p>  MOV 31H, A</p><p>  MOV 30H, B&l

78、t;/p><p>  LCALL DISP</p><p>  INC R1</p><p>  DJNZ R2, HERE</p><p>  MOV R1, #74H</p><p>  SJMP STOP</p><p>  SHANGFAN:MOV

79、A,@R1 ;上翻程序</p><p>  MOV 20H, A</p><p>  MOV B, #0AH</p><p>  DIV AB</p><p>  MOV 31H, A</p><p>  MOV 30H,

80、B</p><p>  LCALL DISP</p><p>  DEC R1</p><p>  DJNZ R3, HERE</p><p>  MOV R1, #71H</p><p>  SJMP STOP</p><p>  KUAIJIA:SE

81、TB TR1 ;快加程序</p><p><b>  CLR TR0</b></p><p>  HEE: JNB TF1, HEE</p><p>  CLR TF1</p><p>  ACALL JIA1</p>&

82、lt;p>  ACALL DISP</p><p>  JNB P1.0, STOP</p><p><b>  SJMP HEE</b></p><p>  HERE: LJMP ML1</p><p>  ZHONGDUAN: SETB TR0

83、 ;啟動定時器0</p><p>  CLR TR1</p><p><b>  RETI</b></p><p>  TIME1:PUSH ACC ;定時1秒</p><p>  PUSH PSW</p><p&g

84、t;  MOVTH0, #0D8H</p><p>  MOVTL0, #0F0H</p><p>  DJNZ40H, RET0</p><p>  LCALL JIA1</p><p>  LCALL DISP</p><p>  MOV40H, #100</p><p&g

85、t;  RET0: POP PSW</p><p>  POP ACC</p><p><b>  RETI</b></p><p>  TIME10: PUSH ACC ;定時10毫秒</p><p>  PUSH PSW<

86、/p><p>  MOV TH0, #0D8H</p><p>  MOV TL0, #0F0H</p><p>  RET1: POP PSW</p><p>  POP ACC</p><p><b>  RETI</b></p><p>  J

87、IA1: MOVA,20H ;加1</p><p><b>  CLR C</b></p><p><b>  INC A</b></p><p>  CJNE A, #100, GO1</p><p>  MOV

88、 20H, #00H</p><p><b>  RET</b></p><p>  GO1: MOV 20H, A</p><p>  MOV B, #0AH</p><p>  DIV AB</p><p>  MOV 31H, A</p>

89、<p>  MOV 30H, B</p><p><b>  RET</b></p><p>  DISP: MOV R0,#30H ;顯示</p><p>  MOV R3, #0FEH</p><p>  MOV A, R3&l

90、t;/p><p>  PLAY: MOV P2, A</p><p>  MOV A,@R0</p><p>  MOV DPTR, #DSEG1</p><p>  MOVC A,@A+DPTR</p><p>  MOV P0, A</p><p&g

91、t;  LCALL DL1</p><p>  MOV P2, #0FFH</p><p>  MOV A, R3</p><p>  RL A</p><p>  JNB ACC.2, LD1</p><p>  INC R0</p><p

92、>  MOV R3, A</p><p>  LJMP PLAY</p><p>  LD1: RET</p><p>  DL1: MOVR7, #05H</p><p>  DL: MOVR6, #0FFH</p><p>  DL6: DJNZR6, $<

93、/p><p>  DJNZR7, DL</p><p><b>  RET</b></p><p>  DELAY10:MOV R4,#14H ;延時10毫秒</p><p>  DL00: MOV R5, #0FFH</p><p>  D

94、L11: DJNZ R5, DL11</p><p>  DJNZ R4, DL00</p><p><b>  RET</b></p><p>  DSEG1: DB 3FH, 06H, 5BH, 4FH, 66H</p><p>  DB 6DH, 7DH, 07H, 7FH, 6FH</p>

溫馨提示

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

評論

0/150

提交評論