交通燈課程設計--基于單片機的交通燈控制系統(tǒng)設計_第1頁
已閱讀1頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于單片機的交通燈控制系統(tǒng)設計</p><p><b>  摘要</b></p><p>  交通控制系統(tǒng)是近現代社會隨著物流、出行等交通發(fā)展產生的一套獨特的公共管理系統(tǒng)。要保證高效安全的交通秩序,除了制定一系列的交通規(guī)則,還必須通過一定的科技手段加以實現。本文在對目前交通控制進行深入分析的基礎上,運用檢測傳感、實時調整智能化控制的實現技術,將傳

2、感器監(jiān)測、實時調整車輛通行時間的算法與單片機控制作用相結合,提出了基于單片機的交通控制系統(tǒng)設計方案。</p><p>  單片機的交通燈控制系統(tǒng)由AT89S52單片機、交通燈顯示、LED倒計時、車流量檢測及調整、違規(guī)檢測、緊急處理、時間模式手動設置等模塊組成。系統(tǒng)除基本交通燈功能外,還具有通行時間手動設置、可倒計時顯示、急車強行通過、車流量檢測及調整、交通異常狀況判別及處理等相關功能。理論證明該系統(tǒng)能夠簡單、經濟

3、、有效地疏導交通,提高交通路口的通行能力。</p><p>  本設計主要做了如下幾方面的工作:一是確定系統(tǒng)交通控制的總體設計,包括,十字路口具體的通行禁行方案設計以及系統(tǒng)應擁有的各項功能,二是進行傳感器的硬件電路、顯示電路等的設計和基本功能要求。</p><p>  關鍵詞:交通控制, AT89C52,倒計時顯示</p><p><b>  目 錄

4、</b></p><p>  摘要 ……………………………………………………………………1</p><p><b>  1 概述</b></p><p>  1.1課題名稱…………………………………………………………3</p><p>  1.2設計要求…………………………………………………………3</

5、p><p>  1.3設計意義…………………………………………………………3</p><p>  2 系統(tǒng)總體方案及硬件設計</p><p>  2.1芯片的選擇與簡單介紹…………………………………………4</p><p>  2.2系統(tǒng)方框圖………………………………………………………4</p><p>  2.3工作原理

6、…………………………………………………………5</p><p>  2.4電路原理圖………………………………………………………5</p><p>  2.5單片機最小系統(tǒng)…………………………………………………6</p><p>  2.6時間顯示電路 ………………………………………………… 7</p><p>  2.7交通燈電路 ………

7、…………………………………………… 7</p><p><b>  3 軟件設計</b></p><p>  3.1整體系統(tǒng)分析 ………………………………………………… 8</p><p>  3.2程序流程圖 …………………………………………………… 10</p><p>  4 Proteus軟件仿真</p&g

8、t;<p>  4.1系統(tǒng)仿真電路圖 ……………………………………………… 10</p><p>  4.2仿真結果分析 ………………………………………………… 11</p><p>  5課程設計體會 ………………………………………………………11</p><p>  參考文獻 ………………………………………………………………12</p>

9、;<p>  附1:源程序代碼 ……………………………………………………12</p><p><b>  1 概述</b></p><p><b>  1.1課題名稱</b></p><p>  單片機控制的交通燈控制系統(tǒng)設計</p><p><b>  1.2設計要求&l

10、t;/b></p><p>  1).運用所學的知識設計一個交通燈控制系統(tǒng)。</p><p>  2).上電的時候南北方向的紅燈亮25秒;東西方向的綠燈亮20秒,綠燈秒閃2秒,黃燈秒閃3秒。再接下來東西方向的紅燈亮25秒;南北方向的綠燈亮20秒,綠燈秒閃2秒,黃燈秒閃3秒。如此循環(huán)。</p><p>  3).各種信號燈所亮的時間由數碼管顯示出來。<

11、;/p><p>  4).實現在上電時南北方向和東西方向顯示不一樣的時間。</p><p>  5).設計硬件電路原理圖,合理選擇元器件;編寫使用說明書,說明使用方法。</p><p>  6).設計在實驗板上實現該功能的程序并進行調試。</p><p><b>  1.3設計意義</b></p><

12、;p>  國內的交通燈一般設在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個倒計時的顯示計時器來控制行車。對于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據實際行車過程中出現的情況,還存在以下缺點:</p><p>  1).兩車道的車輛輪流放行時間相同且固定, 在十字路口,經常一個車道為主干道,車輛較多,放行時間應該長些;另一車道為副干道,車輛較少,放行時間應該短些。</p>

13、<p>  2).沒有考慮緊急車通過時,兩車道應采取的措施,臂如,消防車執(zhí)行緊急任務通過時,兩車道的車都應停止,讓緊急車通過。</p><p>  基于傳統(tǒng)交通燈控制系統(tǒng)設計過于死板,紅綠燈交替是間過于程式化的缺點,智能交通燈控制系統(tǒng)的設計就更顯示出了它的研究意義,它能根據道路交通擁護,交叉路口經常出現擁堵的情況。利用單片機控制技術.提出了軟件和硬件設計方案,能夠實現道路的最大通行效率。</p&

14、gt;<p>  2 系統(tǒng)總體方案及硬件設計</p><p>  2.1芯片的選擇與簡單介紹</p><p>  主控芯片采用AT89C52單片機(其管腳圖如圖-1所示)。單片機,亦稱單片微型計算機。它是把中央處理器(CPU)、數據存儲器(RAM)、程序存儲器(ROM)、輸入/輸出端口(I/0)等主要計算機功能部件都集成在一塊集成電路芯片上的微型計算機.(兼容MCS51指令系

15、統(tǒng) · 8k可反復擦寫(>1000次)Flash ROM· 32個雙向I/O口· 256x8bit內部RA.3個16位可編程定時/計數器中斷 · 時鐘頻率0-24MHz · 2個串行中斷 ·可編程UART串行通道 · 2個外部中斷源· 共6個中斷源 · 2個讀寫中斷口線 · 3級加密位 · 低功耗空閑和掉電模式

16、3; 軟件設置睡眠和喚醒功能)</p><p>  單片機以體積小、功能全、性價比等諸多優(yōu)點而獨具特色,在工業(yè)控制、尖端武器、通信設備、家用電器等嵌入式應用領域中獨占鰲頭。如果說C語言程序設計課程設計的基礎課,那么單片機以其系統(tǒng)硬件構架完整、價格低廉、學生能動手等特點,成為工科學生硬件設計基礎課。</p><p><b>  2.2系統(tǒng)方框圖</b></p>

17、;<p><b>  (圖-2)</b></p><p><b>  2.3工作原理</b></p><p>  由軟件設置交通燈的初始時間,南北方向通行30秒,東西方向通行20秒,數碼管采用動態(tài)顯示,P0口送字形碼,P2口送字位選通信號,通過單片機的P1口控制各種信號燈的燃亮與熄滅。采用中斷方式實現按鍵的功能。</p>

18、<p><b> ?。▓D-3)</b></p><p><b>  2.4電路原理圖</b></p><p><b>  (圖-4)</b></p><p>  2.5單片機最小系統(tǒng)</p><p><b> ?。▓D-5)</b></p

19、><p>  單片機最小系統(tǒng)以89C52為核心,外加時 和復位電路,電路結構簡單,抗干擾能力強,成本相對較低,非常符合本設計的所有要求。89C51單片機系列是MCS-51系列的基礎上發(fā)展起來的,是當前8位單片機的典型代表,采用CHMOS工藝,即互補金屬氧化物的HMOS工藝, CHMOS是CMOS和HMOS的結合,具有HMOS高速度和高密度的特點,還具有CMOS低功耗的特點。</p><p> 

20、 時鐘電路在單片機的外部通過XTAL1,XTAL2這兩個引腳跨接晶體振蕩器和微調電容,構成穩(wěn)定的自激振蕩器.本系統(tǒng)采用的為12MHz的晶振,一個機器周期為1us,C2,C3為30pF。</p><p>  復位電路分為上電自動復位和按鍵手動復位,RST引腳是復位信號的輸入端,復位信號是高電平有效.上電自動復位通過電容C1和電阻R4來實現,按鍵手動復位是圖中復位鍵來實現的。</p><p>

21、<b>  2.6時間顯示電路</b></p><p><b>  (圖-6)</b></p><p>  因為系統(tǒng)要求南北和東西方向的信號燈時間不一樣,所以就利用單片機的P0口送出數據的段碼,位選信號用P2,P3口送出,用動態(tài)掃描的方法顯示東西、南北的倒計時間(如圖-6所示)。</p><p>  數碼管使用共陰數碼管。

22、</p><p><b>  2.7交通燈電路</b></p><p>  本設計利用單片機的p1口來驅動和控制各種信號燈的燃亮和燃亮時間,在實際中,交通燈的信號燈需要用高電壓控制,在這里我們只是模擬一下它的控制信號,所以我們就只用單片機的信號引腳直接來控制發(fā)光二極管(如圖-7所示)</p><p><b> ?。▓D-7)</b

23、></p><p><b>  3 軟件設計</b></p><p><b>  3.1整體系統(tǒng)分析</b></p><p>  總體流程圖(實現各種狀態(tài)間的轉換):</p><p><b> ?。▓D-8)</b></p><p><b>

24、;  3.2程序流程圖</b></p><p><b> ?。▓D-9)</b></p><p>  4 Proteus軟件仿真</p><p>  4.1系統(tǒng)仿真電路圖</p><p>  1.交通燈控制系統(tǒng)正常運行時仿真圖(見圖-10)。</p><p><b>  (圖-

25、10)</b></p><p>  2.交通燈東西方向綠燈向紅燈轉變,綠燈燈閃爍時仿真圖(見圖-11)。</p><p><b> ?。▓D-11)</b></p><p>  4、交通燈東西方向向南北方向轉變,綠燈閃爍后黃燈亮,見(圖-12)。</p><p><b>  (圖-12)</b&

26、gt;</p><p>  5、交通燈南北方向向東西方向轉變,綠燈閃爍后黃燈亮,見(圖-13-14-15)</p><p><b> ?。▓D-13)</b></p><p><b>  (圖-14)</b></p><p><b>  (圖-15)</b></p>

27、<p><b>  4.2仿真結果分析</b></p><p>  仿真實驗實現南北方向車道和東西方向車道兩條交叉道路的車輛交替運行,南北方向(主干道)每次通行時間設為20秒、東西方向通行時間設為20秒,時間可以在程序中修改。同時能夠實現紅燈、黃燈、綠燈狀態(tài)轉換,紅綠燈轉換時間為5秒,轉黃期間黃燈亮??梢詼蚀_顯示每個狀態(tài)所剩余的時間,按下禁行普通車輛鍵,東西南北方向都亮紅燈;按下

28、南北放行鍵,南北綠燈亮,東西紅燈亮;按下東西放行鍵,東西綠燈亮,南北紅燈亮;任何時候按下返回鍵,此系統(tǒng)都將回到初始狀態(tài),當緊急狀況出現時,按下緊急開關,可實現主干道和支干道全部禁止通行,允許緊急車輛安全通行,實現了課程設計的要求。</p><p><b>  5課程設計體會</b></p><p>  本系統(tǒng)就是充分利用了AT89C52芯片的I/O引角。系統(tǒng)統(tǒng)采用MS

29、C-51系列單片機為中心器件來設計交通燈控制器,實現了能根據實際車流量通過單片機芯片的P1口控制紅、黃、綠燈的燃亮與熄滅;P0,P3口外接數碼管來顯示各個信號燈的時間。系統(tǒng)設計簡便、實用性強、操作簡單、程序設計簡便。系統(tǒng)不足之處不能控制車的左、右轉、以及自動根據車流改變紅綠燈時間等。這是由于本身地理位子以及車流量情況所定,如果有需要可以設計擴充原系統(tǒng)來實現。</p><p>  通過這次課程設計,我們得到了一次用

30、所學知識與技能分析和解決問題的可貴的鍛煉機會,使我們深刻鄰會了單片機的基本原理和單片機應用系統(tǒng)開發(fā)的過程。在常用編程設計思路技巧的掌握方面都向前邁了一大步,為日后成為合格的應用型人才打下良好的基礎。</p><p>  通過本次的畢業(yè)設計,受益匪淺,充分意識到自己所學的東西還是非常有限的,不過通過設計,還是學到了一些書本上沒有學到的東西,為自己以后的工作奠定了一定的基礎。在撰寫本文的過程中,深切地體會到當今科技技

31、術飛速的發(fā)展,特別是單片機的發(fā)展使得許多技術難題迎刃而解,作者堅信,隨著科學技術的不斷發(fā)展,單片機技術的應用將是前途無量。</p><p>  由于本設計設計到的知識面比較廣,加上我和隊友在相關領域知識的缺乏,所以本設計的性能指標還是有待改善的,然而,模擬仿真證明了本設計的基本設計思想和設計方法以及基本功能是現實可行的。</p><p><b>  參考文獻:</b>

32、</p><p>  《單片微型計算機原理、應用及接口技術》張迎新主編[M],國防工業(yè)出版社</p><p>  《單片機原理與接口技術》余錫存 主編 [M]西安電子科技大學出版社</p><p>  《微型計算機技術及應用》戴梅萼 編著[M] 清華大學出版社</p><p>  《微型計算機原理及應用》李伯成 主編[M] 西安電子科技大學

33、出版社 </p><p>  《微機原理與應用》 張宗根 主編[M] 陜西師范大學出版社</p><p><b>  源程序代碼</b></p><p>  #include<reg52.h></p><p>  #include <intrins.h></p><p>

34、  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  sbit a1=P1^0; 紅燈</p><p>  sbit a2=P1^1; 黃燈</p><p>  sbit a3=P1^2; 綠燈</p><p>  

35、sbit key=P2^7;中斷</p><p>  uchar code table[] = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,</p><p>  0x80,0x90,0x88};//,0x83,0xC6,0xA1,0x86,0x8E,0xFF};</p><p>  uchar code dispbit[]=

36、{0x01,0x02};//數碼管位選碼</p><p>  uchar dis1[]={0,0}; </p><p>  uchar dis2[]={0,0};</p><p>  uchar num0,num1,temp=10;</p><p>  uchar t0=0;</p><p>  void Dela

37、y(uint z) 無返回值型的延時函數。傳參是一個類型是uint的值 z 方法里面定義了x y都是uint類型 for循環(huán)x從z開始,如果大于0,x自減1, for循環(huán)y從110開始,如果大于0,y自減1這兩個</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p&g

38、t;  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--)</p><p><b>  ;</b></p><p>  }</p><p>  void init()</p><p><b>  {</b>

39、;</p><p>  TMOD=0x01;</p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b>&

40、lt;/p><p><b>  TR0=1;</b></p><p>  //temp=0xfb;</p><p>  //P1=temp;</p><p><b>  }</b></p><p>  void Display() 數碼管顯示倒計時</p>&

41、lt;p><b>  {</b></p><p>  uchar i,x,y;</p><p>  dis1[0]=num0/10;</p><p>  dis1[1]=num0%10;</p><p>  dis2[0]=num1/10;</p><p>  dis2[1]=num1%10

42、;</p><p>  for(i=0;i<2;i++)用for語句把十位和 個位分給p0和p3</p><p><b>  {</b></p><p>  P0=table[dis2[i]]; 調用codedis</p><p>  P3=table[dis1[i]];</p><p>

43、  P2=dispbit[i];//位選</p><p><b>  Delay(5);</b></p><p><b>  P2=0x00;</b></p><p>  if(key==1) 中斷</p><p><b>  {</b></p><p&g

44、t;<b>  P1=0xf6;</b></p><p><b>  EA=0;</b></p><p>  for(x=5000;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p>

45、;<p>  else EA=1;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void main() </p><p><b>  {</b></p><p>  loop5:i

46、nit();</p><p>  num0=20;東西20s</p><p>  num1=25;南北25</p><p>  while(num0!=0)東西綠燈p3口20s南北紅燈p0口25s</p><p><b>  {</b></p><p>  loop:Display();顯示倒計

47、時</p><p>  if(key==1)</p><p>  goto loop;</p><p>  P1=0xf3; 開東西綠燈南北紅燈</p><p>  //Delay(10); 延遲10ms</p><p><b>  }</b></p><p&g

48、t;  if(num0==0&&num1<=5)開東西黃燈和綠燈閃爍</p><p>  { while(num1>3) 東西綠燈閃爍2s</p><p>  { num0=num1-3;</p><p>  Display(); p3口 2s</p><p>  P1=0xf3;

49、 東西綠燈開</p><p>  Delay(10); 延遲10ms</p><p>  P1=0xf7;關綠燈</p><p>  // Delay(10);</p><p><b>  }</b></p><p>  while( num1<=3)東西黃燈閃爍3s</p

50、><p><b>  {</b></p><p>  num0=num1;</p><p>  loop2:Display();p3口3s</p><p>  if(key==1)</p><p>  goto loop2;</p><p><b>  P1=0xf

51、5;</b></p><p>  Delay(10);</p><p><b>  P1=0xf7;</b></p><p>  //Delay(10);</p><p><b>  }</b></p><p><b>  }</b><

52、;/p><p>  num0=25;num1=20; 開南北綠燈東西紅燈p3口25s p0口20</p><p>  while(num1!=0)</p><p><b>  {</b></p><p>  loop3:Display();</p><p>  if(key==1)</p&

53、gt;<p>  goto loop3;</p><p><b>  P1=0xde;</b></p><p>  //Delay(10);</p><p><b>  }</b></p><p>  if(num1==0&&num0<=5)</p>

54、;<p><b>  {</b></p><p>  while(num0>3) 南北綠燈閃爍2s</p><p>  {num1=num0-3; </p><p>  loop4:Display();</p><p>  if(key==1)</p><p>  go

55、to loop4;</p><p><b>  P1=0xde;</b></p><p>  Delay(10);</p><p><b>  P1=0xfe ;</b></p><p>  //Delay(10);</p><p><b>  }</b&g

56、t;</p><p>  while(num0<=3) 南北黃燈閃爍3s</p><p><b>  {</b></p><p>  num1=num0;</p><p>  Display();</p><p><b>  P1=0xee;</b></p&g

57、t;<p>  Delay(10);</p><p><b>  P1=0xfe;</b></p><p>  //Delay(10);</p><p><b>  }</b></p><p>  while(num0==0&&num1==0) 調用循環(huán)返回開始

58、</p><p>  {goto loop5;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void time0() interrupt 1 using

59、0 一秒定時 </p><p><b>  {</b></p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b>  t0++;</b></p><p>  if(t0==20

60、)</p><p><b>  {</b></p><p><b>  t0=0;</b></p><p><b>  num1-- ;</b></p><p><b>  num0--;</b></p><p><b>

溫馨提示

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

評論

0/150

提交評論