基于51單片機簡單交通燈控制_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  項目設計報告</b></p><p>  項目名稱: 簡易交通燈控制系統(tǒng)的設計 </p><p>  課 程 名 稱: 單片機應用工程技術訓練 </p><p>  學 院: 機電學院 </p><p>  專 業(yè): 機械工程

2、及自動化 </p><p>  學  號: 2010090301304/22/37 姓  名: 張夢迪 張博文 崔劍鋒 成 績: </p><p>  2013年06月 04日</p>

3、;<p><b>  1、設計任務與要求</b></p><p><b>  1.1.設計任務</b></p><p>  設計基于51單片機的交通燈控制系統(tǒng)。</p><p><b>  1.2. 設計要求</b></p><p>  基本功能:

4、 </p><p> ?。?)設計程序能夠控制紅燈、黃燈和綠燈的切換。假設十字路口為東西南北走向,南北方向為主干道,東西方向為輔干道,主干道通行時間長于輔干道。要求按表1實現(xiàn)過程控制。</p><p>  交通燈控制順序要求如表1所示</p><p>  表1. 交通燈控

5、制順序要求</p><p>  (2)應用兩位動態(tài)顯示的LED顯示器倒計時顯示通行時間,總時間應包含綠燈閃爍和黃燈亮的時間。</p><p> ?。?)當綠燈閃爍和黃燈亮時,蜂鳴器發(fā)聲提示。</p><p><b>  擴展功能:</b></p><p>  處理緊急狀況,由按鍵引發(fā)外部中斷進入緊急狀況。在緊急狀況下東西

6、、南北均為紅燈,15秒鐘后恢復進入緊急狀況之前的正常運行狀態(tài)。</p><p><b>  1.3 材料清單</b></p><p>  本設計中所需的材料如表2所示:</p><p><b>  表2. 材料清單</b></p><p><b>  2、整體方案設計 </b>

7、</p><p>  單片機設計交通燈控制系統(tǒng),可用單片機直接控制信號燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當然,接入LED數(shù)碼管就可以顯示倒計時以提醒行使者,更具人性化。本系統(tǒng)在此基礎上,加入了緊急情況處理與時間調整功能。</p><p>  圖1. 系統(tǒng)的總體框圖</p><p><b>  3、硬件設計</b></p>

8、<p><b>  3.1 交通燈模組</b></p><p>  本系統(tǒng)中使用的所使用的交通燈系統(tǒng)為凌陽科技股份有限公司生產的交通燈模組V3.0。</p><p>  本系統(tǒng)為一套交通燈系統(tǒng):包括一塊驅動電路板(交通燈模組V3.0_驅動板)和四塊LED板(交通燈模組V3.0_LED板)。</p><p>  1)LED板中每個方向

9、提供四組交通LED燈(包括左轉、直行、右轉、人行道四組),每組交通燈包括紅、黃、綠三個燈,可以實現(xiàn)交通的通行控制; </p><p>  2)LED板中每個方向提供兩個數(shù)碼管,可以實現(xiàn)100以內的倒計時。</p><p>  本系統(tǒng)包含一塊驅動板和四塊LED板,驅動板框圖如圖 2.1:其中J1、J2、J3、J4為LED板的插接口,使用時可以直接把四塊LED板插接在驅動板上;J5、J6、J7

10、是單片機的接口,使用時可以直接用3根10pin排線與單片機連接;驅動電路模塊用來驅動LED燈和數(shù)碼管。驅動板結構框圖如圖2所示,交通燈模組電路圖及單片機的接口電路如圖3所示。</p><p>  圖2. 交通燈模組V3.0_驅動板結構框圖</p><p><b>  3.2 按鍵設計</b></p><p>  本設計中要求用按鍵實現(xiàn)緊急狀態(tài)

11、觸發(fā)與解除,所以使用獨立式按鍵實現(xiàn)。按鍵部分電路圖如圖4所示。</p><p>  圖4. 按鍵部分電路圖</p><p>  3.3 功率驅動電路</p><p>  對單片機發(fā)出的脈沖信號進行放大,來支持交通燈模組的運轉。</p><p>  功率驅動電路如圖5所示。</p><p><b>  圖5.

12、驅動電路圖</b></p><p>  3.4 交通燈模組電路</p><p>  使用交通燈模組來實現(xiàn)簡易交通燈的控制。交通燈模組電路如圖6所示。</p><p>  圖6. 交通燈模組電路</p><p><b>  3.5 蜂鳴器部分</b></p><p>  在東西和南北向綠

13、燈閃爍和黃燈亮時,蜂鳴器響以提醒行人。蜂鳴器部分電路圖如圖7所示。</p><p>  圖7. 蜂鳴器電路圖</p><p><b>  4、 軟件設計</b></p><p>  4.1 程序主體設計流程</p><p>  本設計的主體思路是:采用順序控制,每個狀態(tài)設置相應的標志位,分別寫出每個狀態(tài)LED燈和數(shù)碼管顯

14、示的情況,當定時中斷來臨后,判斷是否改變狀態(tài);若進入下一個狀態(tài),則改變相對應的變量,反之則循環(huán)執(zhí)行顯示子程序。</p><p><b>  4.2 主程序設計</b></p><p>  主程序中主要是進行系統(tǒng)的初始化,設置系統(tǒng)相應的標志位,判斷是否中斷,并且調用相應的子程序。主程序流程圖如圖8所示。</p><p>  圖8. 主程序流程圖&

15、lt;/p><p>  4.3 定時器子程序設計</p><p>  定時器可以使用查雙字表,也可以通過設定一個基本定時時間再循環(huán)來實現(xiàn)。在本次設計中,使用第二種定時方案比較簡單;再根據(jù)定時器四種工作方式以及本次設計的要求,所以使用定時器0,工作方式TMOD=1,根據(jù)所需定時時間的分析,設定定時器的基本定時時間為t=50ms,計算計數(shù)初值: X=216-50*10-3*12*106/12=63

16、163=3CB0H,即定時器初值為:TH1=3CH TL1=0B0H</p><p>  定時器子程序流程圖如圖10所示</p><p>  圖10. 定時器部分流程圖</p><p>  4.4 顯示子程序設計</p><p>  顯示子程序中,實現(xiàn)LED燈的亮滅以及數(shù)碼管的倒計時顯示,數(shù)碼管的顯示采用動態(tài)顯示。顯示子程序流程圖如圖9

17、所示。</p><p>  圖9. 顯示子程序流程圖</p><p>  5、 系統(tǒng)調試及結果</p><p>  5.1列出調試內容、調試方法以及具體步驟</p><p>  調試內容及具體操作控制方法如下:</p><p>  當程序開始執(zhí)行時,各個路口的燈及顯示器顯示按照表3所示進行變化。</p>

18、<p>  其中數(shù)碼管顯示使用倒計時</p><p>  表3. 交通燈控制順序</p><p>  具體調試方法為斷點調試方法,單步執(zhí)行。</p><p>  5.2說明調試中出現(xiàn)的問題及解決方法</p><p>  在實現(xiàn)燈閃爍的時候,一開始不知道如何實現(xiàn),后來經過討論,決定用查表方式來實現(xiàn)燈閃爍。</p><

19、;p>  數(shù)碼管顯示的數(shù)字一開始變化太慢,為了節(jié)省時間,后來將基本定時時間縮短了一倍,數(shù)字變化就變快了,節(jié)省了時間。</p><p><b>  6、 設計總結</b></p><p>  這次的設計是做一個交通燈,題目雖然很簡單,但是我們也遇到了不少困難,在編程仿真的時候,很多時候都達不到我們想要的效果,我們就三個人一起討論,一遍一遍的修改程序,最終實現(xiàn)了我們

20、想要的結果。布線是很關鍵的一步,怎樣布線才能使電路看起來不亂,電路看起來美觀非常重要,我們一起討論,一起嘗試,終于達到了比較滿意的效果。程序的設計業(yè)是非常重要的,從開始的不太理解,通過不斷地嘗試,最后終于達到了比較滿意的結果,達到了本次設計的基本要求。在這次的設計過程中,我們三人相互配合,相互磨合,都有了默契,為以后的設計做了很好的鋪墊。</p><p><b>  7、 參考資料</b>&

21、lt;/p><p>  1. 參考教材一:《單片機接口技術實訓指導書》</p><p>  作者:北京聯(lián)合大學機電學院</p><p>  2. 參考教材二:《微機原理與接口技術實驗指導書2009》</p><p>  作者:北京聯(lián)合大學機電學院</p><p>  3.參考教材三:《單片機應用技術》,科學出版社</

22、p><p><b>  作者:趙林惠 </b></p><p><b>  8、 附件</b></p><p>  8.1 系統(tǒng)電路原理圖;</p><p><b>  見附錄I</b></p><p>  8.2 程序清單及注釋。</p>&

23、lt;p><b>  見附錄II</b></p><p><b>  組員簽字:</b></p><p><b>  、</b></p><p>  附錄I 系統(tǒng)電路原理圖</p><p>  附錄II 程序清單及注釋</p><p>  ;--

24、-----------------------------------------------------------------------------------------------</p><p>  BZ1 BIT 40H</p><p>  BZ2 BIT 41H</p><p>  BZ3 BIT 42H</p><p>

25、;  BZ4 BIT 43H</p><p>  BZ5 BIT 44H</p><p>  BZ6 BIT 45H</p><p>  BZ7 BIT 46H</p><p>  BZ8 BIT 47H</p><p>  ;--------------系統(tǒng)初始化---------------------<

26、/p><p><b>  ORG 0000H</b></p><p><b>  AJMP MAIN</b></p><p><b>  ORG 0003H</b></p><p>  AJMP INT_0</p><p><b>  ORG 00

27、0BH</b></p><p><b>  AJMP T_0</b></p><p>  ORG 0050H </p><p>  MAIN:MOV TMOD,#01H ;使用定時器T0狀態(tài)1</p><p>  MOV TH0,#3CH ;定時50ms</p><p&

28、gt;  MOV TL0,#0B0H</p><p><b>  SETB EA</b></p><p>  SETB IT0 ;使用外部中斷0</p><p><b>  SETB EX0</b></p><p><b>  SETB ET0</b></p&

29、gt;<p><b>  SETB BZ1</b></p><p>  MOV P0,#00H ;對輸出口清零</p><p>  MOV P1,#00H</p><p>  MOV P2,#00H</p><p><b>  SETB P3.0</b></p>

30、<p>  MOV R1,#10 ;對運行中間值設置初值</p><p>  MOV R2,#10</p><p>  MOV R4,#10</p><p>  MOV R5,#10</p><p>  MOV R6,#15</p><p>  SETB TR0 ;打開定時器T0,

31、開始計時</p><p>  //--------------------計時和紅綠燈顯示-------------------------------------</p><p>  DISPLAY: ACALL LOOP</p><p>  SJMP DISPLAY</p><p>  LOOP:MOV A,R4 ;

32、南北向計時顯示</p><p>  MOV DPTR,#TAB_1</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R3,A</b></p><p>  ANL A,#0FH</p><p>  MOV DPTR,#TAB_2</p><

33、p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#22H</p><p>  ACALL DELAY</p><p>  MOV P2,#00H</p><p>  MOV P0,#00H</p>

34、<p><b>  MOV A,R3</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p><p>  MOV DPTR,#TAB_2</p><p>  MOVC A,@A+DPTR</p><p><b

35、>  MOV P0,A</b></p><p>  MOV P2,#11H</p><p>  ACALL DELAY</p><p>  MOV P2,#00H</p><p>  MOV P0,#00H</p><p>  MOV A,R5 ;東西向計時顯示</p>&

36、lt;p>  MOV DPTR,#TAB_1</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R6,A</b></p><p>  ANL A,#0FH</p><p>  MOV DPTR,#TAB_2</p><p>  MOVC A,@A+DPT

37、R</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#88H</p><p>  ACALL DELAY</p><p>  MOV P2,#00H</p><p>  MOV P0,#00H</p><p><b>  

38、MOV A,R6</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p><p>  MOV DPTR,#TAB_2</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b

39、></p><p>  MOV P2,#44H</p><p>  ACALL DELAY</p><p>  MOV P2,#00H</p><p>  MOV P0,#00H</p><p>  D1:JNB BZ1,D2 ;東西紅燈,南北綠燈 </p><p&g

40、t;  MOV P0,#08H</p><p>  MOV P1,#11H</p><p>  ACALL DELAY</p><p>  MOV P1,#00H</p><p>  MOV P0,#08H </p><p>  MOV P1,#44H</p><p>  ACALL

41、 DELAY</p><p>  MOV P0,#00H</p><p>  MOV P1,#00H</p><p><b>  AJMP D8</b></p><p>  D2:JNB BZ2,D3 ;南北綠燈,東西紅燈</p><p><b>  SETB P3

42、.0</b></p><p>  MOV P0,#20H</p><p>  MOV P1,#11H</p><p>  ACALL DELAY</p><p>  MOV P1,#00H</p><p>  MOV P0,#08H </p><p>  MOV P1,#

43、44H</p><p>  ACALL DELAY</p><p>  MOV P0,#00H</p><p>  MOV P1,#00H</p><p><b>  AJMP D8</b></p><p>  D3:JNB BZ3,D4 ;南北綠燈閃爍三次,東西紅燈 ,蜂

44、鳴器響</p><p><b>  CLR P3.0</b></p><p><b>  MOV A,R4</b></p><p>  MOV DPTR,#TAB_3</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A&l

45、t;/b></p><p>  MOV P1,#11H</p><p>  ACALL DELAY</p><p>  MOV P1,#00H</p><p>  MOV P0,#08H </p><p>  MOV P1,#44H</p><p>  ACALL DELAY&

46、lt;/p><p>  MOV P0,#00H</p><p>  MOV P1,#00H</p><p><b>  AJMP D8</b></p><p>  D4:JNB BZ4,D5 ;南北黃燈,東西紅燈,蜂鳴器響</p><p><b>  CLR P3.0

47、</b></p><p>  MOV P0,#10H</p><p>  MOV P1,#11H</p><p>  ACALL DELAY</p><p>  MOV P1,#00H</p><p>  MOV P0,#08H </p><p>  MOV P1,#44H

48、</p><p>  ACALL DELAY</p><p>  MOV P0,#00H</p><p>  MOV P1,#00H</p><p><b>  SJMP D8</b></p><p>  D5:JNB BZ5,D6 ;南北紅燈,東西綠燈</p>

49、<p><b>  SETB P3.0</b></p><p>  MOV P0,#08H</p><p>  MOV P1,#11H</p><p>  ACALL DELAY</p><p>  MOV P1,#00H</p><p>  MOV P0,#20H <

50、;/p><p>  MOV P1,#44H</p><p>  ACALL DELAY</p><p>  MOV P0,#00H</p><p>  MOV P1,#00H</p><p><b>  SJMP D8</b></p><p>  D6:JNB BZ6,D7

51、 ;南北紅燈,東西綠燈閃爍三次 ,蜂鳴器響</p><p><b>  CLR P3.0</b></p><p>  MOV P0,#08H</p><p>  MOV P1,#11H</p><p>  ACALL DELAY</p><p>  MOV P1,#00H<

52、;/p><p><b>  MOV A,R5</b></p><p>  MOV DPTR,#TAB_3</p><p>  MOVC A,@A+DPTR</p><p>  MOV P0,A </p><p>  MOV P1,#44H</p><p>  ACAL

53、L DELAY</p><p>  MOV P0,#00H</p><p>  MOV P1,#00H</p><p><b>  SJMP D8</b></p><p>  D7:JNB BZ7,JJ ;南北紅燈,東西黃燈 ,蜂鳴器響</p><p><b>  CL

54、R P3.0</b></p><p>  MOV P0,#08H</p><p>  MOV P1,#11H</p><p>  ACALL DELAY</p><p>  MOV P1,#00H</p><p>  MOV P0,#10H </p><p>  MOV

55、P1,#44H</p><p>  ACALL DELAY</p><p>  MOV P0,#00H</p><p>  MOV P1,#00H</p><p><b>  SJMP D8</b></p><p>  JJ:SETB P3.0</p><p>  MO

56、V P0,#08H</p><p>  MOV P1,#11H</p><p>  ACALL DELAY</p><p>  MOV P1,#00H</p><p>  MOV P0,#08H </p><p>  MOV P1,#44H</p><p>  ACALL DELAY

57、</p><p>  MOV P0,#00H</p><p>  MOV P1,#00H</p><p><b>  D8:RET</b></p><p>  //-------------定時T0中斷----------------------------------</p><p>  T

58、_0: MOV TH0,#3CH</p><p>  MOV TL0,#0B0H</p><p>  DJNZ R2,K2</p><p>  MOV R2,#10 </p><p>  LOOP1:JNB BZ1,LOOP2;判斷是否處于標志位1,即狀態(tài)1</p><p>  DJNZ R1, K

59、1 ;進行狀態(tài)1的運算</p><p><b>  CLR BZ1</b></p><p><b>  SETB BZ2</b></p><p>  MOV R1,#40</p><p>  MOV R4,#46</p><p>  MOV R5,#50

60、</p><p>  AJMP EXIT_0</p><p>  LOOP2: JNB BZ2,LOOP3 ;判斷是否處于標志位2,即狀態(tài)2</p><p>  DJNZ R1,K1 ;進行狀態(tài)2的運算</p><p><b>  CLR BZ2</b></p>&l

61、t;p><b>  SETB BZ3</b></p><p><b>  MOV R1,#6</b></p><p><b>  MOV R4,#6</b></p><p><b>  DEC R5</b></p><p>  SJMP EXIT_0

62、</p><p>  LOOP3: JNB BZ3,LOOP4;判斷是否處于標志位3,即狀態(tài)3</p><p>  DJNZ R1,EXIT_1;進行狀態(tài)3的運算</p><p><b>  CLR BZ3</b></p><p><b>  SETB BZ4</b></

63、p><p><b>  MOV R1,#4</b></p><p><b>  MOV R4,#4</b></p><p><b>  DEC R5</b></p><p>  SJMP EXIT_0</p><p>  LOOP4: JNB BZ4,L

64、OOP5;判斷是否處于標志位4,即狀態(tài)4</p><p>  DJNZ R1,EXIT_1;進行狀態(tài)4的運算</p><p><b>  CLR BZ4</b></p><p><b>  SETB BZ5</b></p><p>  MOV R1,#30</p>

65、<p>  MOV R4,#40</p><p>  MOV R5,#30</p><p>  SJMP EXIT_0</p><p>  LOOP5: JNB BZ5,LOOP6;判斷是否處于標志位5,即狀態(tài)5</p><p>  DJNZ R1,EXIT_1;進行狀態(tài)5的運算</p><

66、;p><b>  CLR BZ5</b></p><p><b>  SETB BZ6</b></p><p><b>  MOV R1,#6</b></p><p><b>  MOV R5,#6</b></p><p><b>  DE

67、C R4</b></p><p>  K2:SJMP EXIT_0</p><p>  K1:SJMP EXIT_1</p><p>  LOOP6: JNB BZ6,LOOP7;判斷是否處于標志位6,即狀態(tài)6</p><p>  DJNZ R1,EXIT_1 ;進行狀態(tài)6的運算</p>

68、<p><b>  CLR BZ6</b></p><p><b>  SETB BZ7</b></p><p><b>  MOV R1,#4</b></p><p><b>  MOV R5,#4</b></p><p><b>

69、;  DEC R4</b></p><p>  SJMP EXIT_0</p><p>  LOOP7:JNB BZ7,LOOP8;判斷是否處于標志位7,即狀態(tài)7</p><p>  DJNZ R1,EXIT_1;進行狀態(tài)7的運算 </p><p>  CLR BZ7</p>

70、;<p><b>  SETB BZ2</b></p><p>  MOV R1,#40</p><p>  MOV R4,#40</p><p>  MOV R5,#50</p><p>  SJMP EXIT_0</p><p>  LOOP8:JNB BZ8,EXIT_0 &

71、lt;/p><p>  DJNZ R1,EXIT_1</p><p>  SETB BZ2</p><p><b>  CLR BZ8</b></p><p>  MOV R1,#40</p><p>  MOV R4,#40</p><p>  MOV R5,#50<

72、;/p><p>  AJMP EXIT_0</p><p>  EXIT_1: DEC R4</p><p><b>  DEC R5</b></p><p>  EXIT_0:RETI </p><p>  ///////////////外部中斷/////////////////////////

73、/// </p><p><b>  INT_0:</b></p><p>  //PUSH 28H</p><p><b>  CLR BZ1</b></p><p><b>  CLR BZ2</b></p><p><b> 

74、 CLR BZ3</b></p><p><b>  CLR BZ4</b></p><p><b>  CLR BZ5</b></p><p><b>  CLR BZ6</b></p><p><b>  CLR BZ7</b></p

75、><p><b>  SETB BZ8</b></p><p>  MOV R4,#15</p><p>  MOV R5,#15</p><p>  MOV R1,#15</p><p>  LCALL LOOP</p><p><b>  RETI</b&g

76、t;</p><p>  //---------------------延時程序-----------------------------</p><p>  DELAY: MOV R7,#0FAH</p><p>  DJNZ R7,$ ;延時1ms子程序</p><p><b>  RET</b><

77、;/p><p>  TAB_1: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,10H,11H,12H,13H,14H,15H,16H,17H,18H,19H,20H,21H,22H,23H,24H,25H,26H,27H,28H,29H,30H

78、,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H,46H,47H,48H,49H,50H</p><p>  TAB_2: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p><p>  TAB_3:DB 00H,20H,00H,20H,00H,20H,00H <

溫馨提示

  • 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

提交評論