交通信號(hào)燈設(shè)計(jì)報(bào)告(含程序)_第1頁(yè)
交通信號(hào)燈設(shè)計(jì)報(bào)告(含程序)_第2頁(yè)
交通信號(hào)燈設(shè)計(jì)報(bào)告(含程序)_第3頁(yè)
交通信號(hào)燈設(shè)計(jì)報(bào)告(含程序)_第4頁(yè)
交通信號(hào)燈設(shè)計(jì)報(bào)告(含程序)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、武漢紡織大學(xué)電子設(shè)計(jì)競(jìng)賽交通信號(hào)燈自動(dòng)控制系統(tǒng)設(shè)計(jì)報(bào)告學(xué)院:電子與電氣工程學(xué)院班級(jí):電子093班成員: 2011年5月1日目 錄交通信號(hào)燈自動(dòng)控制系統(tǒng)設(shè)計(jì)概要1第一部分:系統(tǒng)方案1第二部分:電路與程序設(shè)計(jì) 4第三部分:測(cè)試方案與測(cè)試結(jié)果 6參考文獻(xiàn)6附錄一 主程序流程圖 7附錄二 元器件清單 8附錄三 程序清單9附錄四 仿真電路圖交通信號(hào)燈自動(dòng)控制系統(tǒng)設(shè)計(jì)概要一、設(shè)計(jì)要求要求1系統(tǒng)基本功能要求(1)以秒為計(jì)時(shí)單位,兩位數(shù)碼管以十進(jìn)制遞減計(jì)數(shù)形式作定時(shí)顯示,在遞減計(jì)數(shù)回零瞬間完成換燈操作。(2)通過(guò)鍵盤紅、黃、綠三色信號(hào)燈所亮?xí)r間在099秒內(nèi)任意設(shè)定。(3)十字路口的通行起始狀態(tài)可人工設(shè)定,運(yùn)行

2、中可通過(guò)人工干預(yù)使十字路口通行狀況固定于任何一種工作模式。(4)具有時(shí)間控制功能,交通信號(hào)燈工作時(shí)間:05:0023:00;其余時(shí)間兩個(gè)干道上的黃色信號(hào)燈閃爍顯示;(4)綠色信號(hào)燈倒計(jì)時(shí)最后3秒和黃色信號(hào)燈顯示時(shí)閃爍顯示。(閃爍頻率:1Hz);二、設(shè)計(jì)思路 為了完成本題目的設(shè)計(jì)要求,即倒計(jì)時(shí)及時(shí)間控制功能,采用單片機(jī)內(nèi)部定時(shí)器進(jìn)行時(shí)間的控制,為了實(shí)現(xiàn)調(diào)整工作倒計(jì)時(shí)時(shí)間、系統(tǒng)工作時(shí)間及工作狀態(tài),采用5個(gè)鍵盤分別對(duì)上面內(nèi)容進(jìn)行設(shè)置。交通信號(hào)采用發(fā)光二極管,排布參照下面布局,數(shù)碼管顯示倒計(jì)時(shí)時(shí)間及系統(tǒng)時(shí)間。第一部分 系統(tǒng)方案一、 總體電路構(gòu)成 本系統(tǒng)由主控制器STC89c52單片機(jī)芯片、基本復(fù)位電路

3、、時(shí)鐘振蕩電路、電源、按鍵掃描電路、七段數(shù)碼管驅(qū)動(dòng)及顯示電路、發(fā)光二極管控制顯示電路組成。電源復(fù)位電路按鍵掃描電路時(shí)鐘振蕩電路七段數(shù)碼管驅(qū)動(dòng)及顯示電路發(fā)光二極管控制顯示電路主控制器STC89C52單片機(jī)芯片圖一 總體電路框圖二、各單元電路設(shè)計(jì)1.復(fù)位電路復(fù)位電路的作用:在上電或復(fù)位過(guò)程中,控制CPU的復(fù)位狀態(tài):這段時(shí)間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯(cuò)誤的指令、執(zhí)行錯(cuò)誤操作,也可以提高電磁兼容性能。 基本的復(fù)位方式:?jiǎn)纹瑱C(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開(kāi)始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密

4、特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位 (1)手動(dòng)按鈕復(fù)位 手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(圖2)。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。(2)上電復(fù)位AT89C51的上電復(fù)位電路如圖3所示,只要在RST復(fù)位輸入引腳上接一電容至V

5、cc端,下接一個(gè)電阻到地即可。上電復(fù)位的工作過(guò)程是在加電時(shí),復(fù)位電路通過(guò)電容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過(guò)程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。通過(guò)以上分析可知手動(dòng)按鍵復(fù)位要比上電復(fù)位方便,所以電路采用手動(dòng)按鍵復(fù)位。圖2圖3 通過(guò)以上分析在此次交通信號(hào)燈設(shè)計(jì)時(shí)由于其可操作性和靈活性,我們選擇的是按鍵復(fù)位方式.,這樣可以及時(shí)的控制單片機(jī),使其CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開(kāi)始工作。2.時(shí)鐘振蕩電路由于AT89C52單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高

6、增益反向放大器,此放大器的輸入和輸出端分別是引腳XTAL1和XTAL2,在XTAL1和XTAL2上外接時(shí)鐘源即可構(gòu)成時(shí)鐘電路,該電路采用的是內(nèi)部方式,如圖4所示:圖4在XTAL1和XTAL2的兩端接石英晶體振蕩器,與內(nèi)部反向器構(gòu)成穩(wěn)定的自激振蕩器,發(fā)出的時(shí)鐘脈沖直接進(jìn)入片內(nèi)定時(shí)定時(shí)控制部件。用以提供交通燈時(shí)鐘信號(hào)。3.電源 單片機(jī)及其他芯片所需要的電源電壓為5V,可以采用直流穩(wěn)壓電源給該系統(tǒng)供電。4.數(shù)碼管驅(qū)動(dòng)及顯示電路 電路采用4個(gè)兩位的共陽(yáng)極7段數(shù)碼管(如圖5)動(dòng)態(tài)掃面顯示,為了使數(shù)碼管顯示較亮,采用兩個(gè)鎖存器進(jìn)行驅(qū)動(dòng)。圖35.按鍵掃描電路6.發(fā)光二極管控制顯示電路采用普通的反光二極管(紅

7、、黃、綠)利用單片機(jī)p1口進(jìn)行控制顯示。7鎖存器鎖存器(Latch)是一種對(duì)脈沖電平敏感的存儲(chǔ)單元電路,它們可以在特定輸入脈沖電平作用下改變狀態(tài)。鎖存,就是把信號(hào)暫存以維持某種電平狀態(tài)。鎖存器的最主要作用是緩存,其次完成高速的控制其與慢速的外設(shè)的不同步問(wèn)題,再其次是解決驅(qū)動(dòng)的問(wèn)題,最后是解決一個(gè) I/O 口既能輸出也能輸入的問(wèn)題。第二部分 電路與程序設(shè)計(jì)復(fù)位電路 采用手動(dòng)按鍵復(fù)位電路,實(shí)際電路及其參數(shù)為電解電容10uf,電阻為10k(圖中電源為+5v):時(shí)鐘振蕩電路 采用12MHz晶振,3033pf電容即可。在此設(shè)計(jì)中我們選用30pf的電容。電源如下圖所示,為串聯(lián)式直流穩(wěn)壓電源輸出電壓范圍為4

8、V15V該電源為模電課程設(shè)計(jì)時(shí)制作,在這里可直接用作5V電源。4.數(shù)碼管驅(qū)動(dòng)及顯示電路數(shù)碼管用來(lái)顯示交通燈倒計(jì)時(shí),小時(shí)、分鐘、秒的顯示,以及倒計(jì)時(shí)與時(shí)間的調(diào)節(jié)。5.按鍵掃描電路電路采用了5個(gè)按鍵k0k4,k0、k1、k2用來(lái)對(duì)倒計(jì)時(shí)總時(shí)間的調(diào)節(jié),k4、k1、k2用于對(duì)系統(tǒng)時(shí)間的調(diào)節(jié),k3用于對(duì)工作狀態(tài)的調(diào)節(jié)。 K0每按下一次,con加1,當(dāng)con=3時(shí),使con=0,重新判斷k0是否按下,如果con=1,k1鍵實(shí)現(xiàn)對(duì)倒計(jì)時(shí)總時(shí)間加1,k2鍵實(shí)現(xiàn)對(duì)倒計(jì)時(shí)總時(shí)間減1,當(dāng)con=2時(shí),k1鍵實(shí)現(xiàn)對(duì)黃燈顯示時(shí)間加1,k2鍵實(shí)現(xiàn)對(duì)黃燈顯示時(shí)間減1。 K4每按下一次,對(duì)con2加1,當(dāng)con2=4時(shí),使c

9、on2=0,重新判斷k4鍵是否按下,當(dāng)con2=1時(shí),顯示系統(tǒng)時(shí)間,當(dāng)con2=2時(shí),k0、k1實(shí)現(xiàn)對(duì)小時(shí)的加減,當(dāng)con2=3時(shí),k0、k1實(shí)現(xiàn)對(duì)分鐘的加減。 通過(guò)K3按下的次數(shù)使電路工作在不同的5個(gè)狀態(tài)。6.發(fā)光二極管控制顯示電路發(fā)光二極管由單片機(jī)通過(guò)p0口進(jìn)行控制顯示。先對(duì)p0口的值進(jìn)行編碼,再將編碼按要求賦給p0口。7.鎖存器我們使用的是兩個(gè)SN74hC573AN型號(hào)的鎖存器,由單片機(jī)的p1和p3端口通過(guò)鎖存器來(lái)控制數(shù)碼管的動(dòng)態(tài)顯示。第三部分 調(diào)試與仿真1、軟件調(diào)試:程序編好以后,先自己檢查是否有邏輯錯(cuò)誤,保證正確后利用偉福仿真軟件對(duì)所編寫的程序進(jìn)行編譯,檢查是否有語(yǔ)法錯(cuò)誤,出現(xiàn)錯(cuò)誤時(shí)

10、偉福系統(tǒng)會(huì)自動(dòng)提示有錯(cuò)誤產(chǎn)生,并會(huì)指定錯(cuò)誤的語(yǔ)句,這時(shí)我們需要認(rèn)真檢查程序,修改編譯中出現(xiàn)的錯(cuò)誤。程序修改無(wú)誤后,利用仿真軟件,我們可以監(jiān)視程序PC指針、P0、P1、P2口的變化、以及存儲(chǔ)單元的值的變化來(lái)檢查程序是否運(yùn)行正常,是否能夠?qū)崿F(xiàn)預(yù)定的控制功能。2、硬件調(diào)試:按照已經(jīng)設(shè)計(jì)好的電路設(shè)計(jì)圖,在proteus中進(jìn)行調(diào)試與仿真,確保電路無(wú)誤,在萬(wàn)能印刷電路板上焊接各個(gè)元件。電路板制作完成以后,利用萬(wàn)用表檢查硬件是否焊接正常以及是否出現(xiàn)短路和斷路的情況,并修改焊接中的錯(cuò)誤,直到硬件電路可以正常工作為止。在第一次進(jìn)行檢測(cè)時(shí)發(fā)現(xiàn)顯示管不會(huì)顯示數(shù)據(jù),經(jīng)過(guò)進(jìn)一步檢查才發(fā)現(xiàn)是電源線沒(méi)有焊接。如此反復(fù)操作,

11、直到硬件可以正常運(yùn)行。參考文獻(xiàn)謝維成.單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)(第二版).北京:清華大學(xué)出版社.2011閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版).北京:高等教育出版社.20103.童詩(shī)白.模擬電子技術(shù)基礎(chǔ)(第四版)北京:高等教育出版社.2010.附錄一主程序軟件流程圖開(kāi)始給定系統(tǒng)初始時(shí)間5:01:00時(shí)間是否在5點(diǎn)到23點(diǎn)之間Y黃燈閃爍顯示,時(shí)間顯示N調(diào)用鍵盤顯示程序判斷是否有鍵按下?調(diào)用key()根據(jù)按鍵情況進(jìn)行顯示用led(),display(uchar x )進(jìn)行顯示YN附錄二原器件清單制作交通信號(hào)燈所需元件清單名稱數(shù)量元件說(shuō)明單片機(jī) (底座)1STC89C52型號(hào)電路板1單面兩位數(shù)碼管

12、4共陽(yáng)極LED燈 12 紅黃綠各四個(gè)鎖存器(底座)2SN74HC573AN型號(hào)按鍵開(kāi)關(guān)6四個(gè)腳石英晶體振蕩器112M振蕩頻率電阻131K1個(gè),上拉1K6個(gè),10K5個(gè),200歐1個(gè)電容330Pf 2個(gè),10Uf1個(gè)銅柱4普通焊錫導(dǎo)線若干普通制作5V直流電源所需器件名稱數(shù)量元件說(shuō)明整流二極管41n4001電解電容21000u/25V三極管59013大功率三極管13A/50V紅色發(fā)光二極管1普通大電阻12.7/1W1/4W電阻6510,1.5K,2K ,5.6K,10K, 12K瓷片電容20.01變壓器115V/220V 5W電路板180100mm2二芯帶插頭電源線1普通開(kāi)關(guān)1普通導(dǎo)線焊錫若干普通

13、附件三程序清單#include#define uchar unsigned char char code dis_712=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92, 0 x82,0 xf8,0 x80,0 x90,0 xff,0 xbf;/數(shù)碼管位選char code scan_con8=0 x40,0 x80,0 x10,0 x20,0 x04,0 x08,0 x01,0 x02;/數(shù)碼管段選char data dis8=0 x00,0 x00,0 x0b,0 x00,0 x00,0 x0b,0 x00,0 x00;/顯示緩沖區(qū),時(shí)、分、秒uchar time=

14、30,timedata=60,timedata1=30,timeo=5, flagkey3=0,flagkey0,flagkey4=0,tt=0,a,con=0,con1=0,con2=0;uchar timeclk3=0 x00,0 x01,0 x05;/時(shí)間初始值sbit key0=P20;sbit key1=P21;sbit key2=P22;sbit key3=P23;sbit key4=P24;delay1ms(int t)/延時(shí)一秒函數(shù)int i,j; for(i=0;it;i+) for(j=0;j120;j+);display(uchar x )/數(shù)碼管倒計(jì)時(shí)函數(shù)P1=dis_

15、7x/10;P3=0 xaa;delay1ms(1);P3=0 x00; P1=dis_7x%10;P3=0 x55;delay1ms(1);P3=0 x00;displayt()/時(shí)間顯示函數(shù)char k;dis0=timeclk0%10; dis1=timeclk0/10;dis3=timeclk1%10;dis4=timeclk1/10;dis6=timeclk2%10;dis7=timeclk2/10;for(k=0;k=10&tt20) P0=0 x48; displayt(); displayt(); P0=0 x00; if(con1=6)/退出設(shè)定con1=0;flagkey3

16、=0;timedata1=time; timedata=2*time; if(key4=0)/用于顯示調(diào)整系統(tǒng)時(shí)間 delay1ms(10);while(key4=0);flagkey4=1;con2+; if(con2=1)displayt();if(con2=2) display(timeclk2); if(key1=0) delay1ms(10); while(key1=0); timeclk2+; if(timeclk2=24) timeclk2=0; if(key2=0) delay1ms(10); while(key2=0); timeclk2-; if(timeclk2=0) t

17、imeclk2=24; if(con2=3) display(timeclk1);if(key1=0) delay1ms(10); while(key1=0); +timeclk1; if(timeclk1=60) timeo=0; if(key2=0) delay1ms(10); while(key2=0); -timeclk1; if(timeclk1=0) timeclk1=59;timeclk2-; if(con2=4)/退出時(shí)間調(diào)整 con2=0;flagkey3=0;flagkey0=0;flagkey4=0; led()/l二極管顯示程序if(timedatatime+timeo

18、+3) P0=0 x84; if(time+timeotimedata&timedata=10&tt20) P0=0 x84;display(timedata1);P0=0 x04; if(timedatatime) while(tt=10&tt20) P0=0 x44;display(timedata1);P0=0 x04; if(timedata=(timeo+3) P0=0 x30; if(timedatatimeo) while(tt=10&tt20) P0=0 x30; display(timedata1);P0=0 x20;if(timedata=10&tt=23&timeclk1

19、0)|(timeclk25&timeclk1=10&tt20) P0=0 x48; key(); P0=0 x00; key(); if(flagkey3=0&flagkey0=0&flagkey4=0)led();if(flagkey4=0)if(flagkey0=0&flagkey3=0)display(timedata1);else elsedisplayt(); key();void time0() interrupt 1/定時(shí)器T0中斷ET0=0;TH0=0 x3c;TL0=0 xb0;tt+;if(tt=20) tt=0; timedata-;timedata1-;timeclk0

20、+;if(timedata1=0) timedata1=time; if(timedata=0) timedata=2*time; if(timeclk0=60) timeclk0=0; timeclk1+;if(timeclk1=60) timeclk1=0; timeclk2+;if(timeclk2=24)timeclk2=0; ET0=1;附錄四 仿真電路圖fedcbaabcdefabcdefd1d2d3d4d5d6d7d8w1w0d1d2d3d4d5d6d7d8w3w2d1d2d3d4d5d6d7d8w5d1d2d3d4d5d6d7d8w7w6k1k2k3k4w4k0d1d2d3d4d5d6d7d8w0w1w2w3w4w5w6w7XT

溫馨提示

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

評(píng)論

0/150

提交評(píng)論