單片機控制的交通燈系統實驗報告_第1頁
單片機控制的交通燈系統實驗報告_第2頁
單片機控制的交通燈系統實驗報告_第3頁
單片機控制的交通燈系統實驗報告_第4頁
單片機控制的交通燈系統實驗報告_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、系統實驗報告 基于51單片機的交通燈設計 專 業: XX 學 生 姓 名: xx XX 學 號: 指 導 教 師: wwwwwwwwwww 2000年x月x日目 錄 TOC o 1-3 h z u HYPERLINK l _Toc198029884 1 設計任務和性能指標 PAGEREF _Toc198029884 h 1 HYPERLINK l _Toc198029885 1.1設計任務 PAGEREF _Toc198029885 h 1 HYPERLINK l _Toc198029886 1.2性能指標 PAGEREF _Toc198029886 h 1 HYPERLINK l _Toc1

2、98029887 2 設計方案2 HYPERLINK l _Toc198029888 2.1任務分析2 HYPERLINK l _Toc198029889 2.2方案設計2 HYPERLINK l _Toc198029890 3 系統硬件設計3 HYPERLINK l _Toc198029891 3.1單片機的最小系統3 HYPERLINK l _Toc198029892 3.2電源電路4 HYPERLINK l _Toc198029893 3.3數碼管顯示時間電路設計 PAGEREF _Toc198029893 h 4 HYPERLINK l _Toc198029894 3.4信號燈控制電路

3、設計5 HYPERLINK l _Toc198029896 4 系統軟件設計5 HYPERLINK l _Toc198029897 4.1 主程序設計5 HYPERLINK l _Toc198029901 5 調試及性能分析6 HYPERLINK l _Toc198029902 5.1 調試分析6 HYPERLINK l _Toc198029903 5.1.1 軟件調試6 HYPERLINK l _Toc198029904 5.1.2 硬件調試6 HYPERLINK l _Toc198029905 5.1.3 系統功能調試6 HYPERLINK l _Toc198029907 6 心得體會6

4、HYPERLINK l _Toc198029908 參考文獻8 HYPERLINK l _Toc198029909 附錄1 系統原理圖9 HYPERLINK l _Toc198029910 附錄3 程序清單10附錄3元器件清單.141 設計任務和性能指標1.1設計任務南北東西利用單片機完成交通信號燈控制器的設計,該交通信號燈控制器由一條主干道和一條支干道匯合成十字路口,在每個入口處設置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。用紅、綠、黃發光二極管作信號燈。如圖上圖所示。設東西向為主干道,南北為支干道。1.2性能指標狀態1:僅亮燈,數碼管不

5、工作。按下鍵4,紅/黃/綠三色燈交替亮:紅(20秒)黃(閃爍)(5秒)綠(20秒) 黃(閃爍)(5秒)紅2. 狀態2:燈和數碼管相結合,模擬十字路口的交通燈 在以上功能的基礎上數碼管倒計時顯示時間。2 設計方案2.1任務分析模擬交通燈控制器就是使用單片機來控制一些LED 和數碼管,模擬真實交通燈的功能。紅、黃、綠交替閃亮,利用數碼管倒計數顯示間隔等,用于管理十字路口的車輛及行人交通,計時牌顯示路口通行轉換剩余時間等2.2方案設計根據設計的要求可知,系統的硬件原理框圖如下圖所示。 系統硬件框圖單片機選用AT89S52,它與8051系列單片機全兼容,但其內部帶有4KB的FLASH ROM,設計時無

6、需外接程序存儲器,為設計和調試帶來極大的方便。南北向和東西向各采用2個數碼管計時,同時需要對該方向的指示燈的點亮時間進行倒計時。鍵盤系統可以根據系統的需要設置不同的鍵的個數,可以選擇線式鍵盤或矩陣式鍵盤,若單片機的IO口不夠用時,可以考慮擴展8255或8155滿足系統的要求。2. 軟件方案 根據設計要求,程序框圖如圖1所示。軟件可由匯編語言完成,也可由C語言完成。軟件設計可以分為以下幾個功能模塊:主程序:初始化及鍵盤監控。計時程序模塊:為定時器的中斷服務子程序,完成0.1秒(或其他時間)和1秒的時間定時。 顯示程序模塊:完成60個發光二極管(實際上只需驅動30個)和8個LED數碼管的顯示驅動。

7、程序流程圖見下一頁:調用正常運行子程序調用緊急狀態子程序判斷當前狀態初始化開始 程序流程圖3 系統硬件設計3.1單片機的最小系統ATMEL公司生產的AT89S52單片機它是硬件電路的核心部分,時鐘電路晶振使用12MHz,復位電路采取按鍵復位方式。具體連接圖3.1和圖3.2。單片機系統的時鐘電路單片機系統的復位電路3.2電源電路設計 電源用5V直流變壓器直接供電。3.3數碼管顯示電路 顯示電路采用8個共陽數碼管,P1口作為數碼管的輸入,P0.4、P0.5、P0.6 P0.7分別控制東西南北四路數碼管的位選端C1,C2,C3,C4。 數碼管顯示電路(上圖是共陰數碼管)3.4信號燈控制電路 應急電路

8、4 系統軟件設計開始4.1 主程序設計 參數初始化顯示子程序中斷處理緊急中斷子程序系統程序流程圖 5 調試及性能分析5.1 調試分析5.1.1 軟件調試 軟件調試主要是利用proteus仿真軟件完成電路的搭建,運行以發現設計中的錯誤及時改正。5.1.2 硬件調試硬件調試主要是檢測硬件電路是否有短路、斷路、虛焊等。具體步驟及測試結果如下:(1)檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導線是否完全連接,對未連接的進行修復。(2)參照原理圖,檢查各個器件之間的連接是否連接正確,是否存在虛焊,經測試,各連接不存在問題。(3)以上兩項檢查并修復完后,給該硬件電路上電,電源指示燈點亮。5

9、.1.3 系統功能調試 通過軟件仿真顯示,系統基本能完成要求。6 心得體會 這次系統實驗歷時兩周的時間,在這實驗過程里我們鞏固了從編程、焊板到調試的專業知識,邏輯思維和動手能力都得到了很大的提高。 對于交通燈這個題目,由于以前學單片機這個課程時,做過類似相關的實驗,覺得這個比較簡單而且做出的東西也比較直觀,查閱了大量的資料,在老師的講解幫助下,我們對如何通過單片機控制交通燈這個題目,有了進一步的理解。 要解決的主要問題就是程序的設計了,雖然感覺交通燈程序沒什么難的,就是數碼管倒計時顯示加幾個閃爍的二極管就完事,但是也許是起初想的太簡單,設計時到了細節處,也出了不少問題,而且很難被檢查出來,但是

10、最后經過我們的不斷努力,還是寫出來正確的代碼。 上周終于拿到了PCB板,懷著緊張的心情一個器件一個器件的完成板子的焊接,最后通過串口線把程序下載到板子上,但是板子卻沒有意料中的效果,而且沒一點現象,用萬用表檢查單片機的電壓差不多為零,查出了問題所在松了口氣,后來在網上查資料知道原來變壓器的接口那三個引腳,兩個GND必須短接,要不就不能正常供電,本以為短接后就正常了,但是數碼管還是沒反應,二極管基本可以正常顯示,這時候真是一種煎熬,差了很久找不到原因,后來對照著原理圖一個個的檢查,最后發現原來是數碼管封裝錯了,板子上的數碼管公共極是3、8兩個引腳,但是原理圖上封裝的事1、6,當時也沒有注意,以為

11、只要是共陰管就沒問題了,沒想到軟件本身就存在錯誤。通過這次系統實驗,對以前學過的知識進行了鞏固,加深了理解,提高了應用的能力,而且提高了我們的發現、分析、解決問題的能力,同時提高了大家對專業的認識及興趣,對于我們工科生來說,對以后就業很有幫助。最后,尤其要感謝xx和xx老師的指導和幫助,我們才得以順利完成這次系統試驗。參考文獻1 鄒麗新.單片微型機原理及應用蘇州大學出版社,2006.122 彭偉.單片機C語言程序設計實訓100例.北京:電子工業出版社,2009。8附錄1 系統原理圖 系統原理圖附錄2 程序清單;程序實現功能;西南北路口直行與轉彎交替通行,數碼管顯示直行通行倒計時,紅綠黃燈顯示包

12、括人行道在內的道路交通狀態。;某一方向道路擁擠時,可以人工控制調節東西南北方向通行時間。;緊急情況時,各路口交通燈顯示紅燈,數碼管保持數據不變。 #include#define uchar unsigned char#define uint unsigned intsbit key1=P10;sbit key2=P11;sbit key3=P12;sbit key4=P13;sbit smgwe1=P04;sbit smgwe2=P05;sbit smgwe3=P06;sbit smgwe4=P07;sbit smgdot=P27;sbit south_green=P20;sbit south

13、_red=P21;sbit south_yellow=P22;sbit east_green=P23;sbit east_red=P24;sbit east_yellow=P25;sbit num_a=P00;sbit num_b=P01;sbit num_c=P02;sbit num_d=P03;uchar count;uchar type=1;uchar num;uchar south_dispnum=10,east_dispnum=5;void delay_ms(uint z)uchar x,y;for(x=0;xz;x+)for(y=0;y123;y+);void timer0_ini

14、t()TMOD=0 x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;EA=1;TR0=1;void display(uchar south_dispnum,uchar east_dispnum)uchar south_dispnum1,south_dispnum2;uchar east_dispnum1,east_dispnum2;south_dispnum1=south_dispnum/10;south_dispnum2=south_dispnum%10;east_dispnum1=east_dispnum/10;east_disp

15、num2=east_dispnum%10;smgwe1=1;smgwe2=0;smgwe3=0;smgwe4=0;num_d=south_dispnum1/8;num_c=south_dispnum1%8/4;num_b=south_dispnum1%4/2;num_a=south_dispnum1%2;delay_ms(1);smgwe1=0;smgwe2=1;smgwe3=0;smgwe4=0;num_d=south_dispnum2/8;num_c=south_dispnum2%8/4;num_b=south_dispnum2%4/2;num_a=south_dispnum2%2;del

16、ay_ms(1);smgwe1=0;smgwe2=0;smgwe3=1;smgwe4=0;num_d=east_dispnum1/8;num_c=east_dispnum1%8/4;num_b=east_dispnum1%4/2;num_a=east_dispnum1%2;delay_ms(1);smgwe1=0;smgwe2=0;smgwe3=0;smgwe4=1;num_d=east_dispnum2/8;num_c=east_dispnum2%8/4;num_b=east_dispnum2%4/2;num_a=east_dispnum2%2;delay_ms(1);void traffi

17、c_light()switch(type)case 1:south_red=1; south_green=0; south_yellow=0; east_red=0; east_green=1; east_yellow=0;display(south_dispnum,east_dispnum);if(east_dispnum=0) east_dispnum=5;south_dispnum=5; type=2; break;case 2:south_red=1; south_green=0;/ south_yellow=0; east_red=0; east_green=0;/ east_yel

18、low=0; display(south_dispnum,east_dispnum); if(east_dispnum=0) south_dispnum=5;east_dispnum=10;type=3; break;case 3:south_red=0; south_green=1; south_yellow=0; east_red=1; east_green=0; east_yellow=0; display(south_dispnum,east_dispnum); if(south_dispnum=0) south_dispnum=5;east_dispnum=5; type=4; br

19、eak;case 4:south_red=0; south_green=0;/ south_yellow=0; east_red=1; east_green=0;/ east_yellow=0; display(south_dispnum,east_dispnum); if(east_dispnum=0) south_dispnum=10;east_dispnum=5;type=1; break;void main()timer0_init();while(1)traffic_light();void timer0_isr() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+;if(count=5)if(type=2)east_yellow=!east_yellow;if(type=4)south_yellow=!south_yellow;if(count=20) count=0;south_dispnum-;east_dispnum-; 附錄1 元器件清單數量 器件類型 原理圖符號 封裝Used Part Type Designator Footprin

溫馨提示

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

評論

0/150

提交評論