單片機交通燈課程設(shè)計_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機接口設(shè)計</b></p><p><b>  交通燈</b></p><p>  專業(yè):電氣工程及其自動化</p><p><b>  班級:</b></p><p><b>  姓名:</b></p>&

2、lt;p><b>  學(xué)號:</b></p><p>  2012.06.20</p><p><b>  摘 要1</b></p><p><b>  1.引言2</b></p><p>  2.總體設(shè)計方案2</p><p>  

3、2.1.設(shè)計思路2</p><p>  2.1.1.設(shè)計目的2</p><p>  2.1.2.設(shè)計任務(wù)和內(nèi)容3</p><p>  2.1.3.芯片簡介5</p><p>  2.2.設(shè)計方框圖8</p><p>  3.設(shè)計原理分析8</p><p>  3.1.交通燈顯示時

4、序的理論分析8</p><p>  3.2電路模塊11</p><p>  3.2.1. 數(shù)碼管顯示模塊11</p><p>  3.2.2.復(fù)位電路15</p><p>  3.2.3.晶振電路16</p><p><b>  4.總結(jié)16</b></p><

5、p>  5.參考文獻16</p><p><b>  6.附錄17</b></p><p>  6.1.附錄1:程序清單和硬件電路圖17</p><p><b>  摘 要</b></p><p>  交通在人們的日常生活中占有重要的地位,隨著人們社會活動的日益頻繁,這點更是體

6、現(xiàn)的淋漓盡致。交通信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。</p><p>  本系統(tǒng)采用單片機AT80C51為中心器件來設(shè)計交通燈控

7、制器,系統(tǒng)實用性強、操作簡單、擴展性強。本設(shè)計就是采用單片機模擬十字路口交通燈的各種狀態(tài)顯示以及倒計時時間。</p><p>  本設(shè)計系統(tǒng)由單片機I/O口擴展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示系統(tǒng)、復(fù)位電路等幾大部分組成。系統(tǒng)除基本的交通燈功能外,還具有倒計時等功能,較好的模擬實現(xiàn)了十字路口可能出現(xiàn)的狀況。</p><p>  軟件上采用C51編程,主要編寫了主程序,LED數(shù)碼管顯

8、示程序,中斷程序延時程序等。經(jīng)過整機調(diào)試,實現(xiàn)了對十字路口交通燈的模擬。</p><p>  關(guān)鍵字:電子線路 AT80C51 LED 交通燈</p><p><b>  2.總體設(shè)計方案</b></p><p><b>  2.1 設(shè)計思路</b></p><p>  2.1.1 設(shè)計目的<

9、;/p><p> ?。?)加強對單片機和匯編語言的認識,充分掌握和理解設(shè)計各部分的工作原理、設(shè)計過程、選擇芯片器件、模塊化編程等多項知識。</p><p> ?。?)用單片機模擬實現(xiàn)具體應(yīng)用,使個人設(shè)計能夠真正使用。</p><p> ?。?)把理論知識與實踐相結(jié)合,充分發(fā)揮個人能力,并在實踐中鍛煉。</p><p>  (4)提高利用已學(xué)知識分

10、析和解決問題的能力。</p><p>  (5)提高實踐動手能力。</p><p>  2.1.2設(shè)計任務(wù)和內(nèi)容</p><p><b>  1.設(shè)計任務(wù)</b></p><p>  單片機采用用AT80C51芯片,由于實驗用的單片機要求,這次實驗要求:</p><p>  1、顯示要求與十字路口

11、要求一直</p><p><b>  2、有倒計時</b></p><p>  3、用6位數(shù)碼管顯示:左2位表示左轉(zhuǎn)彎,中間2位表示直行,右2位表示右轉(zhuǎn)彎;2個數(shù)碼管中其中1個表示燈(用H L U分別表示紅、綠、黃),另一個數(shù)碼管用于倒計時。</p><p>  4、本機地址為0AH,當(dāng)接到上位機發(fā)的0AH時,則回發(fā)0AH</p>

12、;<p>  當(dāng)接到上位機發(fā)的AAH時,則將當(dāng)前狀態(tài)發(fā)給上位機,當(dāng)前狀態(tài)自己定義并分類</p><p><b>  2.設(shè)計內(nèi)容</b></p><p> ?。?)硬件系統(tǒng)設(shè)計說明及原理圖。</p><p> ?。?)軟件流程圖及軟件清單。</p><p> ?。?)編寫程序并將調(diào)試好的程序固化到單片機中,

13、能夠?qū)崿F(xiàn)通信</p><p><b>  設(shè)計方框圖</b></p><p>  整個設(shè)計以AT80C51單片機為核心,由數(shù)碼管顯示,LED數(shù)碼管顯示,復(fù)位電路組成。</p><p>  硬件模塊入圖2-1。</p><p>  交通模式:條件有限,只能實現(xiàn)單方向交通控制,但是不會出現(xiàn)交通事故情況。具體要求:單方向,有左

14、轉(zhuǎn),直行,右轉(zhuǎn)。每個方向用兩個數(shù)碼管表示,一個用作紅綠燈表示,另一個作為時間倒計時。具體時間安排是</p><p><b>  2.1.3芯片簡介</b></p><p>  80C51單片機引腳圖及引腳功能介紹首先我們來介紹一下單片機的引腳圖及引腳功能(如下圖所示), 引腳的具體功能將在下面詳細介紹</p><p>  單片機的40個引腳大

15、致可分為4類:電源、時鐘、控制和I/O引腳。</p><p><b> ?、?電源:</b></p><p>  ⑴ VCC - 芯片電源,接+5V;</p><p> ?、?VSS - 接地端;</p><p><b> ?、?時鐘:</b></p><p>  XTAL1

16、、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。</p><p> ?、?控制線:控制線共有4根,</p><p>  ⑴ ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖① ALE功能:用來鎖存P0口送出的低8位地址② PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。</p><p>  ⑵ PSEN:外ROM讀選通信號

17、。</p><p> ?、?RST/VPD:復(fù)位/備用電源。</p><p> ?、?RST(Reset)功能:復(fù)位信號輸入端。</p><p> ?、?VPD功能:在Vcc掉電情況下,接備用電源。</p><p> ?、?EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。</p><p>  ① EA功能:內(nèi)外R

18、OM選擇端。</p><p> ?、?Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。</p><p><b>  ⒋ I/O線</b></p><p>  80C51共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。</p><p>  P3口還具有第二功能,用于特殊信號

19、輸入輸出和控制信號(屬控制總線)。2.2設(shè)計方框圖</p><p><b>  3.設(shè)計原理分析</b></p><p>  3.1 交通燈顯示時序的理論分析</p><p>  對于一個交通路口來說,首先是安全性能,再者是最短的時間內(nèi)達到最大的車流量,就算是達到了最佳的性能。</p><p>  先設(shè)定一些標號如圖2

20、-1 所示。</p><p><b>  說明:</b></p><p>  此圖為直方圖,上邊為北路口燈,右邊為東路口燈,下邊為南路口燈,左邊為西路口燈。 圖2-2 所示為一種紅綠燈規(guī)則的狀態(tài)圖,分別設(shè)定為S1、S2、S3、S4,交通燈以這四的狀態(tài)為一個周期,循環(huán)執(zhí)行(見圖2-3)。</p><p><b>  圖2-1&l

21、t;/b></p><p>  請注意圖2-1b和圖2-1d,它們在一個時間段中四個方向都可以通車,這種狀態(tài)能在一定的時間內(nèi)達到較大的車流量,效率特別高。依據(jù)上述的車輛行駛的狀態(tài)圖,可以列出各個路口燈的邏輯表,由于相向的燈的狀態(tài)圖是一樣的,所以只需寫出相鄰路口的燈的邏輯表;根據(jù)圖2-3 可以看出,相鄰路口的燈它們的狀態(tài)在相位上相差180°。</p><p><b&g

22、t;  電路模塊數(shù)碼管顯示</b></p><p>  動態(tài)顯示方式:動態(tài)顯示方式是指一位一位地輪流點亮每位顯示器(稱為掃描),即每個數(shù)碼管的位選被輪流選中,多個數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對位選選中的數(shù)碼管有效。對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點亮?xí)r間和間隔時間的比例有關(guān)。通過調(diào)整電流和時間參數(shù),可以既保證亮度,又保證顯示。若顯示器的位數(shù)不大于8位,則

23、顯示器的公共端只需一個8位I/O口進行動態(tài)掃描(稱為掃描口),控制每位顯示器所顯示的字形也需一個8位口(稱為段碼輸出)。不管是紅綠燈燈,還是時間顯示都是數(shù)碼管,所以都是動態(tài)顯示。</p><p><b>  數(shù)碼管顯示子程序:</b></p><p>  XS:MOV A,R1 ;顯示,數(shù)碼管的顯示,首先是十進制轉(zhuǎn)換</p><p&

24、gt;  MOV B,#10 ;將R1.R2.R3轉(zhuǎn)化成十進制</p><p><b>  DIV AB</b></p><p><b>  MOV 30H,B</b></p><p><b>  MOV A,R2</b></p><p><b>  MO

25、V B,#10</b></p><p><b>  DIV AB</b></p><p><b>  MOV 31H,B</b></p><p><b>  MOV A,R3</b></p><p><b>  MOV B,#10</b><

26、;/p><p><b>  DIV AB</b></p><p><b>  MOV 32H,B</b></p><p>  MOV A,R3 ;數(shù)碼管 的顯示</p><p>  MOV DPTR,#LEDMAP</p><p>  MOVC A,@A+D

27、PTR</p><p><b>  PUSH A </b></p><p>  MOV DPTR,#8002H</p><p><b>  MOV A,#1H</b></p><p>  MOVX @DPTR,A</p><p><b>  POP A</b&

28、gt;</p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p><p>  CALL DELAY</p><p>  MOV DPTR,#8002H</p><p><b>  MOV A,#2H</b></p><p> 

29、 MOVX @DPTR,A</p><p><b>  MOV A,42H</b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p><p>  CALL DELAY</p><p><b>  MOV A,R2</b>

30、</p><p>  MOV DPTR,#LEDMAP</p><p>  MOVC A,@A+DPTR</p><p><b>  PUSH A</b></p><p>  MOV DPTR,#8002H</p><p><b>  MOV A,#4H</b></p&

31、gt;<p>  MOVX @DPTR,A</p><p><b>  POP A</b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p><p>  CALL DELAY</p><p>  MOV DPTR,#8002H&

32、lt;/p><p><b>  MOV A,#8H</b></p><p>  MOVX @DPTR,A</p><p><b>  MOV A,41H</b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p>

33、<p>  CALL DELAY</p><p><b>  MOV A,R1</b></p><p>  MOV DPTR,#LEDMAP</p><p>  MOVC A,@A+DPTR</p><p><b>  PUSH A</b></p><p>  M

34、OV DPTR,#8002H</p><p>  MOV A,#10H</p><p>  MOVX @DPTR,A</p><p><b>  POP A</b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p><p&

35、gt;  CALL DELAY</p><p>  MOV DPTR,#8002H</p><p>  MOV A,#20H</p><p>  MOVX @DPTR,A</p><p><b>  MOV A,40H</b></p><p>  MOV DPTR,#8004H</p>

36、<p>  MOVX @DPTR,A</p><p>  CALL DELAY</p><p><b>  RET</b></p><p>  3.2.1紅綠燈顯示模塊</p><p><b>  本實驗狀態(tài)調(diào)節(jié):</b></p><p>  BB: MOV R

37、1,#05H ;BB是顯示,其中先賦值,嵌套了時間中斷,調(diào)用時間中斷。</p><p>  MOV R2,#05H</p><p>  MOV R3,#09H ;下邊的都是相同的,時間的不同是用最短時間,然后重復(fù)賦值,實現(xiàn)的</p><p>  MOV 40H,#76H</p><p>  MOV 41H,#38H

38、 ;BB.MM.NN.FF.OO.ZZ.XX都是顯示程序,直接賦值調(diào)用時間程序,R1.R2.R3.在程序里一秒減一。</p><p>  MOV 42H,#38H ;并且調(diào)用XS(顯示),顯示即為數(shù)碼管顯示程序</p><p><b>  LCALL T0</b></p><p>  MM:LCALL XS</p>

39、<p>  CJNE R1,#00H,MM</p><p>  MOV R1,#03H</p><p>  MOV R2,#03H</p><p>  MOV R3,#04H</p><p>  MOV 40H,#38H</p><p>  MOV 41H,#3EH</p><p>

40、  MOV 42H,#38H</p><p><b>  LCALL T0</b></p><p>  NN:LCALL XS</p><p>  CJNE R1,#00H,NN</p><p>  MOV R1,#04H</p><p>  MOV R2,#08H</p><

41、p>  MOV R3,#01H</p><p>  MOV 40H,#3EH</p><p>  MOV 41H,#76H</p><p>  MOV 42H,#38H </p><p><b>  LCALL T0</b></p><p>  FF:LCALL XS</p&

42、gt;<p>  CJNE R3,#00H,FF</p><p>  MOV R1,#03H</p><p>  MOV R2,#07H</p><p>  MOV R3,#05H</p><p>  MOV 40H,#3EH</p><p>  MOV 41H,#76H</p><p

43、>  MOV 42H,#76H</p><p><b>  LCALL T0</b></p><p>  OO:LCALL XS</p><p>  CJNE R1,#00H,OO</p><p>  MOV R1,#04H</p><p>  MOV R2,#04H</p>

44、<p>  MOV R3,#02H</p><p>  MOV 40H,#76H</p><p>  MOV 41H,#76H</p><p>  MOV 42H,#76H</p><p><b>  LCALL T0</b></p><p>  ZZ:LCALL XS</p>

45、;<p>  CJNE R3,#00H,ZZ</p><p>  MOV R1,#02H</p><p>  MOV R2,#02H</p><p>  MOV R3,#02H</p><p>  MOV 40H,#76H</p><p>  MOV 41H,#76H</p><p&g

46、t;  MOV 42H,#38H</p><p><b>  LCALL T0</b></p><p>  XX:LCALL XS</p><p>  CJNE R3,#00H,XX</p><p><b>  LJMP INT0</b></p><p>  T0:SETB

47、TR0 ;時間T0中斷,R1.R2.R3.運行一次減一</p><p>  MOV TH0,#3CH</p><p>  MOV TL0,#0B0H</p><p>  DJNZ R0,YY</p><p>  MOV R0,#0AH </p><p><b>  DEC R2<

48、;/b></p><p><b>  DEC R3</b></p><p><b>  DEC R1</b></p><p><b>  YY:RETI</b></p><p>  3.2.2 復(fù)位電路</p><p>  復(fù)位方式有多種,本設(shè)計采

49、用按鍵復(fù)位。接線圖如圖程序3.1復(fù)位電路,</p><p><b>  框圖</b></p><p>  在設(shè)定的定時時間內(nèi),89S52必須在RST引腳產(chǎn)生一個由高到低的電平變化,以清內(nèi)部定時器. </p><p>  3.2.3 晶振電路</p><p>  晶振電路原理圖如3-2:</p><p&

50、gt;  3-2 晶振模塊原理圖</p><p>  選取原則:傳統(tǒng)做法,但能夠?qū)崿F(xiàn)所需,即最簡單也最是實用。電容選取30pF,晶振為30MHz。</p><p><b>  4.總結(jié)</b></p><p>  通過這次課程設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機的基本原理、單片機應(yīng)用系統(tǒng)開發(fā)過程,以

51、及在常用編程設(shè)計思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步。本次課程設(shè)計的過程是艱辛的,不過收獲卻是很大的。</p><p>  在設(shè)計過程中,會出現(xiàn)了一些問題,但經(jīng)過思考都一一解決了,如:首先是對于題目的審視,全部由數(shù)碼管顯示,并且有左右轉(zhuǎn),首先是確定是單方向的控制。再者是顯示的規(guī)則與順序,我們之間也進行了相當(dāng)時間的討論,也一起去十字路口看過相關(guān)的顯示,但是單個數(shù)碼管顯示是有限的,所以最終定了一個比

52、較合理的方案,實現(xiàn)路口的正常交通,不產(chǎn)生交通事故。還有代碼的編寫,首先確定代碼需要的中斷,順序,結(jié)構(gòu),還是與前面實驗的有相關(guān)的聯(lián)系,借鑒相關(guān)程序進行了比較。狀態(tài)顯示并且是時間變化的現(xiàn)實,不同步,使用一個定時器,是比較困難的。所以采用了,不同段,不同賦值的方法,實現(xiàn)現(xiàn)實的連續(xù)。通信的程序,因為沒有硬件與上位機連接,所以一直沒法調(diào)試,小組的幾個人也都討論了相關(guān)的程序。每個人都寫了一段,但是相關(guān)協(xié)議必須是與上位機相同的,所以,最后才把通信程序

53、寫好,與上位機連接后還是沒有實現(xiàn),跳不出通信程序。最后發(fā)現(xiàn)通信程序,串行中斷進入之后最后沒有中斷返回,而是內(nèi)部跳轉(zhuǎn),經(jīng)組內(nèi)成員檢查發(fā)現(xiàn)并及時改正。經(jīng)過調(diào)試修改都一一解決,程序順利完成,并實現(xiàn)了其功能。</p><p>  由于單片機板有限,實驗調(diào)試時拷進程序?qū)崿F(xiàn)了紅綠燈的顯示正常。進行復(fù)位等的操作。之前沒注意,在試驗箱的晶振是6M的,之后單片機是12M的,所以時間是有些不同,之后改的雙倍的。</p>

54、<p>  綜合課程設(shè)計讓我把以前學(xué)習(xí)到的知識得到鞏固和進一步的提高認識,對已有知識有了更進一步的理解和認識。在此,由于自身能力有限,在課程設(shè)計中碰到了很多的問題,我通過查閱相關(guān)書籍、資料以及和周圍同學(xué)交流。</p><p>  當(dāng)然,通過這次課程設(shè)計,我也發(fā)現(xiàn)了自身的很多不足之處,在以后的學(xué)習(xí)中,我會不斷的完善自我。</p><p><b>  參考文獻</b

55、></p><p>  [1].李朝青.單片機原理及接口技術(shù)(第3版).2005年10月</p><p>  [2].蔡朝洋.單片機控制實習(xí)與專題制作</p><p>  [3].樓然苗.單片機課程設(shè)計指導(dǎo)</p><p>  [4].趙廣林.電路設(shè)計與制版</p><p><b>  附錄</b

56、></p><p><b>  附錄1:程序清單</b></p><p>  ORG 000H ;主程序</p><p><b>  AJMP MAIN</b></p><p>  ORG 0003H ;外中斷</p><p>  LJ

57、MP INT0 </p><p>  ORG 000BH ;時間中斷</p><p><b>  LJMP T0</b></p><p>  ORG 0023H ;串口中斷</p><p><b>  LJMP TX</b></p>

58、<p>  LEDMAP: DB 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h</p><p>  DB 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h</p><p><b>  ; 八段管顯示碼</b></p><p><b>  ORG 00

59、60H</b></p><p>  MAIN:MOV TMOD,#21H ;T1方式1,T0方式0</p><p>  MOV SCON,#0F0H ;串口允許接收</p><p>  MOV TH1,#0FAH</p><p>  MOV TL1,#0FAH ;自動重裝載</p><p><

60、b>  SETB TR1</b></p><p>  MOV PCON,#00H ;波特率不變化</p><p>  MOV IE,#90H ;開中斷允許</p><p>  MOV TH0,#3CH ;定時1S</p><p>  MOV TL0,#0B0H</p><p>  M

61、OV R0,#0AH ;循環(huán)十次</p><p>  MOV R5,#02H ;設(shè)置初值</p><p>  MOV R6,#02H</p><p>  SETB EX0 ;T0設(shè)置</p><p><b>  SETB IT0</b></p><p>  SET

62、B ET0 </p><p>  INT0:JNB TR0,BB ;判斷是否開中斷</p><p>  CLR TR0 ;關(guān)閉中斷</p><p>  MOV R1,#00H</p><p>  MOV R2,#00H</p><p>  MOV R3,#00H</p>

63、<p>  MOV 40H,#00H</p><p>  MOV 41H,#00H</p><p>  MOV 42H,#00H</p><p>  LCALL XS </p><p><b>  JMP MAIN</b></p><p>  BB: MOV R1,#05H

64、 ;BB是顯示,其中先賦值,嵌套了時間中斷,調(diào)用時間中斷。</p><p>  MOV R2,#05H</p><p>  MOV R3,#09H ;下邊的都是相同的,時間的不同是用最短時間,然后重復(fù)賦值,實現(xiàn)的</p><p>  MOV 40H,#76H</p><p>  MOV 41H,#38H ;BB.

65、MM.NN.FF.OO.ZZ.XX都是顯示程序,直接賦值調(diào)用時間程序,R1.R2.R3.在程序里一秒減一。</p><p>  MOV 42H,#38H ;并且調(diào)用XS(顯示),顯示即為數(shù)碼管顯示程序</p><p><b>  LCALL T0</b></p><p>  MM:LCALL XS</p><p&

66、gt;  CJNE R1,#00H,MM</p><p>  MOV R1,#03H</p><p>  MOV R2,#03H</p><p>  MOV R3,#04H</p><p>  MOV 40H,#38H</p><p>  MOV 41H,#3EH</p><p>  MOV 4

67、2H,#38H</p><p><b>  LCALL T0</b></p><p>  NN:LCALL XS</p><p>  CJNE R1,#00H,NN</p><p>  MOV R1,#04H</p><p>  MOV R2,#08H</p><p>  

68、MOV R3,#01H</p><p>  MOV 40H,#3EH</p><p>  MOV 41H,#76H</p><p>  MOV 42H,#38H </p><p><b>  LCALL T0</b></p><p>  FF:LCALL XS</p>&l

69、t;p>  CJNE R3,#00H,FF</p><p>  MOV R1,#03H</p><p>  MOV R2,#07H</p><p>  MOV R3,#05H</p><p>  MOV 40H,#3EH</p><p>  MOV 41H,#76H</p><p>  M

70、OV 42H,#76H</p><p><b>  LCALL T0</b></p><p>  OO:LCALL XS</p><p>  CJNE R1,#00H,OO</p><p>  MOV R1,#04H</p><p>  MOV R2,#04H</p><p&g

71、t;  MOV R3,#02H</p><p>  MOV 40H,#76H</p><p>  MOV 41H,#76H</p><p>  MOV 42H,#76H</p><p><b>  LCALL T0</b></p><p>  ZZ:LCALL XS</p><

72、p>  CJNE R3,#00H,ZZ</p><p>  MOV R1,#02H</p><p>  MOV R2,#02H</p><p>  MOV R3,#02H</p><p>  MOV 40H,#76H</p><p>  MOV 41H,#76H</p><p>  MOV

73、 42H,#38H</p><p><b>  LCALL T0</b></p><p>  XX:LCALL XS</p><p>  CJNE R3,#00H,XX</p><p><b>  LJMP INT0</b></p><p>  T0:SETB TR0

74、 ;時間T0中斷,R1.R2.R3.運行一次減一</p><p>  MOV TH0,#3CH</p><p>  MOV TL0,#0B0H</p><p>  DJNZ R0,YY</p><p>  MOV R0,#0AH </p><p><b>  DEC R2</b>

75、</p><p><b>  DEC R3</b></p><p><b>  DEC R1</b></p><p><b>  YY:RETI</b></p><p>  XS:MOV A,R1 ;顯示,數(shù)碼管的顯示,首先是十進制轉(zhuǎn)換</p>&

76、lt;p>  MOV B,#10 ;將R1.R2.R3轉(zhuǎn)化成十進制</p><p><b>  DIV AB</b></p><p><b>  MOV 30H,B</b></p><p><b>  MOV A,R2</b></p><p><b>

77、;  MOV B,#10</b></p><p><b>  DIV AB</b></p><p><b>  MOV 31H,B</b></p><p><b>  MOV A,R3</b></p><p><b>  MOV B,#10</b&g

78、t;</p><p><b>  DIV AB</b></p><p><b>  MOV 32H,B</b></p><p>  MOV A,R3 ;數(shù)碼管的顯示</p><p>  MOV DPTR,#LEDMAP</p><p>  MOVC A,@

79、A+DPTR</p><p><b>  PUSH A </b></p><p>  MOV DPTR,#8002H</p><p><b>  MOV A,#1H</b></p><p>  MOVX @DPTR,A</p><p><b>  POP A<

80、/b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p><p>  CALL DELAY</p><p>  MOV DPTR,#8002H</p><p><b>  MOV A,#2H</b></p><p&g

81、t;  MOVX @DPTR,A</p><p><b>  MOV A,42H</b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p><p>  CALL DELAY</p><p><b>  MOV A,R2</b&

82、gt;</p><p>  MOV DPTR,#LEDMAP</p><p>  MOVC A,@A+DPTR</p><p><b>  PUSH A</b></p><p>  MOV DPTR,#8002H</p><p><b>  MOV A,#4H</b><

83、/p><p>  MOVX @DPTR,A</p><p><b>  POP A</b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p><p>  CALL DELAY</p><p>  MOV DPTR,#800

84、2H</p><p><b>  MOV A,#8H</b></p><p>  MOVX @DPTR,A</p><p><b>  MOV A,41H</b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p&g

85、t;<p>  CALL DELAY</p><p><b>  MOV A,R1</b></p><p>  MOV DPTR,#LEDMAP</p><p>  MOVC A,@A+DPTR</p><p><b>  PUSH A</b></p><p>

86、  MOV DPTR,#8002H</p><p>  MOV A,#10H</p><p>  MOVX @DPTR,A</p><p><b>  POP A</b></p><p>  MOV DPTR,#8004H</p><p>  MOVX @DPTR,A</p><

87、;p>  CALL DELAY</p><p>  MOV DPTR,#8002H</p><p>  MOV A,#20H</p><p>  MOVX @DPTR,A</p><p><b>  MOV A,40H</b></p><p>  MOV DPTR,#8004H</p&

88、gt;<p>  MOVX @DPTR,A</p><p>  CALL DELAY</p><p><b>  RET</b></p><p>  TX:JNB RI,$ ;通訊,多機通訊程序,判斷是否接到的是0A,若是0A那么返回0A。接通</p><p>  CLR RI

89、 ;接收到0AA.開始傳送狀態(tài),左轉(zhuǎn)直行,右轉(zhuǎn)狀態(tài)</p><p>  MOV A,SBUF</p><p>  CJNE A,#0AH,HH</p><p><b>  CLR SM2</b></p><p><b>  JMP II</b></p>

90、<p>  HH:SETB SM2</p><p>  II:CJNE A,#0AAH,XX0</p><p><b>  JMP YY0</b></p><p>  XX0:CJNE A,#55H,ZZ0</p><p><b>  RETI</b></p><p&g

91、t;  ZZ0:MOV A,#0AH</p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p>  RETI ;判斷</p><p>  YY0:MOV A,4

92、1H</p><p>  CJNE A,76H,HL</p><p>  MOV A,#110</p><p><b>  ADD A,31H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><

93、;p><b>  CLR TI</b></p><p>  EXD:MOV A,40H</p><p>  CJNE A,76H,EHL</p><p>  MOV A,#110</p><p><b>  ADD A,30H</b></p><p>  MOV SBU

94、F,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p>  MOV A,#120</p><p><b>  ADD A,32H</b></p><p>  MOV SBUF,A&l

95、t;/p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p><b>  RETI </b></p><p>  EHL:CJNE A,38H,EHH</p><p>  MOV A,#120<

96、;/p><p><b>  ADD A,30H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p>  MOV A,#120</p&g

97、t;<p><b>  ADD A,32H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p><b>  RETI </b>

98、;</p><p>  EHH:MOV A,#130</p><p><b>  ADD A,30H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b>

99、</p><p>  MOV A,#120</p><p><b>  ADD A,32H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI </b><

100、/p><p><b>  RETI </b></p><p>  HL:CJNE A,38H,HH0</p><p>  MOV A,#120</p><p><b>  ADD A,31H</b></p><p>  MOV SBUF,A</p><p>

101、;<b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p>  EEXD:MOV A,40H</p><p>  CJNE A,76H,EEHL</p><p>  MOV A,#110</p><p><b>  AD

102、D A,30H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p>  MOV A,#120</p><p><b>  ADD A,3

103、2H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p><b>  RETI </b></p><p>  EEHL:CJ

104、NE A,38H,EEHH</p><p>  MOV A,#120</p><p><b>  ADD A,30H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI&l

105、t;/b></p><p>  MOV A,#120</p><p><b>  ADD A,32H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b&

106、gt;</p><p><b>  RETI </b></p><p>  EEHH:MOV A,#130</p><p><b>  ADD A,30H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b&g

107、t;</p><p><b>  CLR TI</b></p><p>  MOV A,#120</p><p><b>  ADD A,32H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b><

108、;/p><p><b>  CLR TI</b></p><p><b>  RETI </b></p><p>  HH0:MOV A,#130</p><p><b>  ADD A,31H</b></p><p>  MOV SBUF,A</p&

109、gt;<p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p>  EEEXD:MOV A,40H</p><p>  CJNE A,76H,EEEHL</p><p>  MOV A,#110</p><p&g

110、t;<b>  ADD A,30H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p>  MOV A,#120</p><p><

111、;b>  ADD A,32H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b>  CLR TI</b></p><p><b>  RETI </b></p>&l

112、t;p>  EEEHL:CJNE A,38H,EEEHH</p><p>  MOV A,#120</p><p><b>  ADD A,30H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p>&

113、lt;b>  CLR TI</b></p><p>  MOV A,#120</p><p><b>  ADD A,32H</b></p><p>  MOV SBUF,A</p><p><b>  JNB TI,$</b></p><p><b&

114、gt;  CLR TI</b></p><p><b>  RETI </b></p><p>  EEEHH:MOV A,#130</p><p><b>  ADD A,30H</b></p><p>  MOV SBUF,A</p><p><b>

115、;  JNB TI,$</b></p><p><b>  CLR TI</b></p><p>  MOV A,#120</p><p><b>  ADD A,32H</b></p><p>  MOV SBUF,A</p><p><b>  JN

116、B TI,$</b></p><p><b>  CLR TI</b></p><p><b>  RETI </b></p><p>  GG:RETI </p><p>  DELAY:DJNZ R5,DELAY ;孤立的延時子程序 ,上邊的為通訊程序</p&g

117、t;<p>  DJNZ R6,DELAY</p><p><b>  MOV R5,#2</b></p><p><b>  MOV R6,#2</b></p><p><b>  RET</b></p><p><b>  END</b>

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論