基于單片機的交通燈設(shè)計論文.doc
《基于單片機的交通燈設(shè)計論文.doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機的交通燈設(shè)計論文.doc(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 現(xiàn)代電子技術(shù)綜合實驗論文 基于單片機交通燈的設(shè)計系別:電子工程系專 業(yè) 名 稱:07電子信息工程班 級 分 組:第一組學 生 學 號:學 生 姓 名:27010202003陳建榕(組長)27010202 陳高揚270102020 許 強指 導(dǎo) 教 師 姓 名:李飛鵬(完成日期 2010年 5 月 14 日)II 基于單片機的交通設(shè)計摘 要近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。本設(shè)計是介紹一種基于基于單片機
2、的交通燈控制系統(tǒng)。系統(tǒng)采用單片機和七段LED數(shù)碼管作為交通燈的控制和顯示核心,并通過單片機實現(xiàn)對交通燈各狀態(tài)持續(xù)時間的控制。系統(tǒng)采用上電自動復(fù)位,利用二個數(shù)碼管和蜂鳴器來顯示和告知各狀態(tài)的剩余時間,時間顯示采用倒計時的方式,四組紅、黃、綠、藍四色燈用發(fā)光二極管作為模擬交通信號燈,呈四種狀態(tài)交替出現(xiàn)。系統(tǒng)通過USB接頭提供+5V的直流電源。該交通系統(tǒng)控制方便,禁行通行時間可通過改變程序才調(diào)整,有一定的實用價值,而且還能體現(xiàn)一定的人性關(guān)懷,體現(xiàn)為在你通過人行道的時候,沒有車從兩邊轉(zhuǎn)過來,更能保證你的生命安全。 關(guān)鍵詞: 時鐘頻率 單片機 LED數(shù)碼顯示目 錄摘 要11、設(shè)計目標32、系統(tǒng)方案與實現(xiàn)
3、321單片機概述322芯片簡介43、系統(tǒng)硬件設(shè)計73、1交通管理的方案論證73、2系統(tǒng)硬件設(shè)計94、系統(tǒng)工作原理105、控制器的軟件設(shè)計105.1每秒鐘的設(shè)定105.2計數(shù)器硬件延時105.2.1 計數(shù)器初值計算105.2.2 計算公式105.2.3 秒的方法105.2.4相應(yīng)程序代碼115.3 軟件延時135.4 時間及信號燈的顯示原理135.4.1顯示原理135.4.2 P0口、P1口輸出信號接信號燈135.4.3 P3口數(shù)碼管的連接136、程序源代碼以實物圖146.1程序源代碼146.2實物圖196.2.1實物正面196.2.2實物反面207、結(jié)論218、實驗體會21參考文獻211、設(shè)計
4、目標當今,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠
5、燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國道路交通和道路標志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標志禁止某一種轉(zhuǎn)向。
6、左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。本設(shè)計的主要設(shè)計工作如下:(1)介紹顯示系統(tǒng)的各個組成部分,各個元器件的工作原理。(2)介紹交通燈電路的原理。(3)介紹硬件原理圖的設(shè)計。(4)給出顯示系統(tǒng)的軟件設(shè)計。2、系統(tǒng)方案與實現(xiàn)本章圍繞系統(tǒng)的總體設(shè)計,介紹系統(tǒng)組成框圖、主控芯片單片機的內(nèi)部硬件資源和接口設(shè)置,以及整個顯示控制系統(tǒng)所用到的其它元器件的介紹。21單片機概述 單片機微型計算機是微型計算機的一個
7、重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。 單片機經(jīng)過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。22芯片簡介 8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)
8、、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。圖1程序存儲器(RO
9、M):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8051內(nèi)置最高頻率達
10、12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結(jié)構(gòu): 單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。下圖是MCS-51系列單片機的內(nèi)部結(jié)構(gòu)示意圖2。 圖2 MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),
11、右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明:如圖3 圖3Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計
12、數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。圖4Pin30:ALE/當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識
13、別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)
14、部無程序存儲器的8031,EA端必須接地。在編程時,EA/Vpp腳還需加上21V的編程電壓。3、系統(tǒng)硬件設(shè)計3、1交通管理的方案論證 圖5東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠、藍四色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行,藍燈亮允許轉(zhuǎn)彎。黃燈亮提示人們注意紅、綠、藍燈的狀態(tài)即將切換,且黃燈燃亮時間為東西、南北兩干道的公共停車時間。示意圖如上圖圖5,指示燈燃亮的方案如表2。表2 車道 燈亮時間東、西南、北25s綠燈亮紅燈亮5s黃燈亮黃燈亮25紅燈亮綠燈亮5s黃燈亮黃燈亮15s東車道紅燈、西車道綠燈北車道左轉(zhuǎn)、南車道右轉(zhuǎn)5s黃燈亮黃燈亮15s東車道綠燈
15、、西車道紅燈北車道右轉(zhuǎn)、南車道左轉(zhuǎn)5s黃燈亮黃燈亮15s西車道右轉(zhuǎn)、東車道左轉(zhuǎn)北車道綠燈、南車道紅燈5s黃燈亮黃燈亮15s西車道左轉(zhuǎn)、東車道右轉(zhuǎn)北車道紅燈、南車道綠燈5s黃燈亮黃燈亮表2說明:(1)、當東、西車道綠燈時,南、北車道紅燈;東、西車道直走,南、北車道停止通行,人行道南、北通行,數(shù)碼管倒數(shù)25秒;(2)、第一步延時25秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;(3)、當東、西車道紅燈時,南、北車道綠燈;東、西車道停止通行,南、北車道直走,人行道東、西通行,數(shù)碼管倒數(shù)25秒;(4)、第三步延時25秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;
16、(5)、西車道綠燈時,東車道紅燈,南、北車道藍燈,西車道直走,南車道左轉(zhuǎn),北車道右轉(zhuǎn),東車道停止通行,數(shù)碼管倒數(shù)15秒;(6)、第五步延時15秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;(7)、東車道綠燈時,西車道紅燈,南、北車道藍燈,東車道直走,南車道右轉(zhuǎn),北車道左轉(zhuǎn),西車道停止通行,數(shù)碼管倒數(shù)15秒;(8)、第七步延時15秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;(9)、南車道綠燈時,北車道紅燈,東、西車道藍燈,南車道直走,西車道右轉(zhuǎn),東車道左轉(zhuǎn),北車道停止通行,數(shù)碼管倒數(shù)15秒;(10)、第九步延時15秒后,東、西、南、北車道同時亮黃燈,蜂鳴
17、器響,(滴5聲)倒數(shù)5秒;(11)、北車道綠燈時,南車道紅燈,東、西車道藍燈,北車道直走,西號車道左,東車道右轉(zhuǎn),南車道停止通行,數(shù)碼管倒數(shù)15秒;(12)、第十一步延時15秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;(13)、循環(huán)(1)-(13)。3.2系統(tǒng)硬件設(shè)計選用芯片STC-89C51單片機,兩位共陽極的七段數(shù)碼管,蜂鳴器,USB接頭,12MHz晶振,紅、黃、綠、交通燈若干個,開關(guān)鍵盤、連線若干。交通燈硬件線路圖如下圖圖6。 4、系統(tǒng)工作原理(1)芯片STC-89C51單片機作為系統(tǒng)控制芯片,通過各個Port口控制整個系統(tǒng);(2)通過芯片的第九管腳控制復(fù)位電路,按
18、通輕觸鍵可使系統(tǒng)復(fù)位;(3)由STC-89C51單片機P0口、P1口控制燈的亮滅,P3口控制兩位共陽極的七段數(shù)碼管,P25控制蜂鳴器的鳴滅;(4)通過USB接口輸入5V電源,驅(qū)動芯片和各個元器件。、控制器的軟件設(shè)計5.1每秒鐘的設(shè)定 延時方法可以有兩種一中是利用MCS-51內(nèi)部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。5.2計數(shù)器硬件延時5.2.1 計數(shù)器初值計算 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通
19、式: TC=M-C式中,M為計數(shù)器摸值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為213 ;在方式1時M的值為216;在方式2和3為285.2.2 計算公式 T=(MTC)T計數(shù) 或T計數(shù)T計數(shù)是單片機時鐘周期的倍;為定時初值如單片機的主脈沖頻率為,經(jīng)過分頻方式213微秒毫秒方式216微秒毫秒顯然秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題5.2.3 秒的方法我們采用在主程序中設(shè)定一個初值為的軟件計數(shù)器和使定時毫秒這樣每當?shù)胶撩霑r就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,先使軟件計數(shù)器減,然后判斷它是否為零。為零表示秒已到可
20、以返回到輸出時間顯示程序。5.2.4相應(yīng)程序代碼()主程序#include#define uint unsigned int#define uchar unsigned charsbit dula=P26;sbit wela=P27;uchar code table10= 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x83,0 xf8,0 x80,0 x98;uchar t,t0,shi,ge;void init();void display(uchar shi,uchar ge);void delay(uint x);void main() init(); w
21、hile(1) display(shi,ge); void init()t=25;TMOD=0 x01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;EA=1;ET0=1;TR0=1;void time0() interrupt 1TH0=(65536-10000)/256;TL0=(65536-10000)%256;t0+;if(t0=100)t0=0;if(t!=0)shi=t/10;ge=t%10;t-;elseshi=t/10;ge=t%10;t=25;void display(uchar shi,uchar ge)dula=1;P3=tabl
22、eshi;dula=0;P3=0 xff;wela=1;P3=0 xfe;wela=0;delay(5);dula=1;P3=tablege;dula=0;P3=0 xff;wela=1;P3=0 xfd;wela=0;delay(5);void delay(uint x)uint i,j;for(i=x;i0;i-)for(j=110;j0;j-);5.3 軟件延時 MCS-51的工作頻率為2-12MHZ,我們選用的8031單片機的工作頻率為6MHZ。機器周期與主頻有關(guān),機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可
23、以通過指令的執(zhí)行條數(shù)來確定1秒的時間。 具體的延時程序分析: #include#define uint unsigned int#define uchar unsigned charvoid delay(uint x)uint i,j;for(i=x;i0;i-)for(j=110;j0;j-);5.4 時間及信號燈的顯示原理5.4.1顯示原理:當程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后 ,重新進入循環(huán)。 5.4.2 P0口、P1口輸出信號接信號燈:P0口、
24、P1口控制燈的亮滅,由于發(fā)光二極管為共陽極接法,輸出端口為低電平,對應(yīng)的二極管發(fā)光,所以可以用置位方法點亮紅,綠,黃,藍色發(fā)光二極管。5.4.3 P3口數(shù)碼管的連接:LED 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點量而顯示不同的字形如 dp,g,f,e,d,c,b,a 管角上加上0 x80,dp為高電平,所以全亮則顯示為8,具體見下表表3。采用共陽級連接:其中 P30-a,P31-b, P32-c,P33-d,P34-e, P35-f,P36-gP37-dp 顯示數(shù)值dp g f e d c b a 驅(qū)動代碼(16進制)01 1 0 0 0 0 0 00 xc01 1
25、1 1 1 1 0 0 10 xf92 1 0 1 0 0 1 0 00 xa43 1 0 1 1 0 0 0 00 xb04 1 0 0 1 1 0 0 10 x995 1 0 0 1 0 0 1 00 x926 1 0 0 0 0 0 1 10 x837 1 1 1 1 1 0 0 00 xf88 1 0 0 0 0 0 0 00 x809 1 0 0 1 1 0 0 00 x98 表 3 驅(qū)動代碼表6、程序源代碼以實物圖 6.1程序源代碼#include #include #define uchar unsigned char#define uint unsigned intuchar
26、code table= 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x83,0 xf8,0 x80,0 x98;sbit left_1 = P03;/代表道路1的藍燈,表示可以向左轉(zhuǎn)彎sbit RED_1 = P05;/代表道路1的紅燈sbit GREEN_1 = P04;/代表道路1的綠sbit YELLOW_1 = P06;/ 代表道路1的黃燈sbit right_1 = P07;/代表道路1的藍燈,表示可以向右轉(zhuǎn)彎sbit left_2 = P17;/代表道路2的藍燈,表示可以向左轉(zhuǎn)彎sbit RED_2 = P14;/代表道路2的紅燈sbit GREEN
27、_2 = P11;/代表道路2的綠sbit YELLOW_2 = P16;/ 代表道路2的黃燈sbit right_2 = P10;/代表道路2的藍燈,表示可以向右轉(zhuǎn)彎 sbit left_3 = P12;/代表道路3的藍燈,表示可以向左轉(zhuǎn)彎sbit RED_3 = P00;/代表道路3的紅燈sbit GREEN_3 = P01;/代表道路3的綠sbit YELLOW_3 = P13;/ 代表道路3的黃燈sbit right_3 = P02;/代表道路3的藍燈,表示可以向右轉(zhuǎn)彎sbit left_4 = P23;/代表道路4的藍燈,表示可以向左轉(zhuǎn)彎sbit RED_4 = P20;/代表道路4
28、的紅燈sbit GREEN_4 = P21;/代表道路4的綠sbit YELLOW_4 = P22;/ 代表道路4的黃燈sbit right_4 = P15;/代表道路4的藍燈,表示可以向右轉(zhuǎn)彎 sbit fmq=P25;sbit smg1=P26;sbit smg2=P27;void delay(uint z) /延時函數(shù) uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void xianshi(uint m , w) /倒計時函數(shù) uchar n,i,j,k; i=w;j=m; while(1) k-;n=80; while(n) n-; smg1=0;P3
29、=tablei; delay(5);smg1=1; smg2=0;P3=tablej; delay(5);smg2=1; if(i=0 x00) i=0 x0a;j=j-1; i=i-1; if(j=0)&(i=0) break; /* 主函數(shù)第一步:當1、2車道綠燈時,3、4車道紅燈;1、2車道直走,3、4車道停止通行,人行道3、4通行,數(shù)碼管倒數(shù)25秒.第二步:第一步延時25秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第三步:當1、2車道紅燈時,3、4車道綠燈;1、2車道停止通行,3、4車道直走,人行道1、2通行,數(shù)碼管倒數(shù)25秒;第四步:第三步延時25秒后,1、2、
30、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第五步:1車道綠燈時,2車道紅燈,3、4車道藍燈,1車道直走,3車道左轉(zhuǎn),4車道右轉(zhuǎn),2車道停止通行,數(shù)碼管倒數(shù)15秒;第六步:第五步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第七步:2車道綠燈時,1車道紅燈,3、4車道藍燈,2車道直走,3車道右轉(zhuǎn),4車道左轉(zhuǎn),1車道停止通行,數(shù)碼管倒數(shù)15秒;第八步:第七步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第九步:3車道綠燈時,4車道紅燈,1、2車道藍燈,3車道直走,1車道右轉(zhuǎn),2車道左轉(zhuǎn),4車道停止通行,數(shù)碼管倒數(shù)15秒;第十步:第九
31、步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第十一步:4車道綠燈時,3車道紅燈,1、2車道藍燈,4車道直走,1號車道左,2車道右轉(zhuǎn),3車道停止通行,數(shù)碼管倒數(shù)15秒;第十二步:第十一步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第十三步:循環(huán)第一步-第十二步。*/void main() while(1)/第十三步:循環(huán)第一步-第十二步 uint k; fmq=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; /第一步:當1、2車道綠燈時,3、4車道紅燈;1、2車道直走,3、4車道停止通行,人行道3、
32、4通行,數(shù)碼管倒數(shù)25秒. GREEN_1=GREEN_2=0; RED_3=RED_4=0; xianshi(2,5); /數(shù)碼管倒數(shù)25秒 /第二步:第一步延時25秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒; GREEN_1=GREEN_2= RED_3=RED_4=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延時5秒 /第三步:當1、2車道紅燈時,3、4車道綠燈;1、2車道停止通行,3、4車道直走,人行道1、2通行,數(shù)碼
33、管倒數(shù)25秒; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; RED_1=RED_2=GREEN_3=GREEN_4=0; xianshi(2,5); /數(shù)碼管倒數(shù)25秒 /第四步:第三步延時25秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒; GREEN_3=GREEN_4= RED_1=RED_2=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延時5秒 / 第五步:1車道綠燈時,2車道紅燈,3、4
34、車道藍燈,1車道直走,3車道左轉(zhuǎn),4車道右轉(zhuǎn),2車道停止通行,數(shù)碼管倒數(shù)15秒; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; GREEN_1=RED_2=left_3=right_4=0; xianshi(1,5);/數(shù)碼管倒數(shù)15秒 / 第六步:第五步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒; GREEN_1=RED_2=left_3=right_4=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(1
35、00); / 延時5秒 /第七步:2車道綠燈時,1車道紅燈,3、4車道藍燈,2車道直走,3車道右轉(zhuǎn),4車道左轉(zhuǎn),1車道停止通行,數(shù)碼管倒數(shù)15秒 YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; GREEN_2=RED_1=right_3=left_4=0; xianshi(1,5);/數(shù)碼管倒數(shù)15秒 /第八步:第七步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒 GREEN_2=RED_1=right_3=left_4=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) f
36、mq=0;delay(100); fmq=1;delay(100); / 延時5秒 /第九步:3車道綠燈時,4車道紅燈,1、2車道藍燈,3車道直走,1車道右轉(zhuǎn),2車道左轉(zhuǎn),4車道停止通行,數(shù)碼管倒數(shù)10秒; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; GREEN_3=RED_4=right_1=left_2=0; xianshi(1,5);/數(shù)碼管倒數(shù)15秒 /第十步:第九步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒; GREEN_3=RED_4=right_1=left_2=1; YELLOW_1=YELLOW_2=YELLOW
37、_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延時5秒 /第十一步:4車道綠燈時,3車道紅燈,1、2車道藍燈,4車道直走,1號車道左,2車道右轉(zhuǎn),3車道停止通行,數(shù)碼管倒數(shù)15秒; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=1; GREEN_4=RED_3=left_1=right_2=0; xianshi(1,5);/數(shù)碼管倒數(shù)15秒 /第十二步:第十一步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒; GREEN_4=RED_3=left_1=
38、right_2=1; YELLOW_1=YELLOW_2=YELLOW_3=YELLOW_4=0; for(k=18;k0;k-) fmq=0;delay(100); fmq=1;delay(100); / 延時5秒 6.2實物圖6.2.1實物正面6.2.2實物反面7、結(jié)論本系統(tǒng)統(tǒng)采用MSC-51系列單片機STC-89C51來設(shè)計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過程序小改動就可以設(shè)置紅、綠、黃、藍燈燃亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩25秒(交通燈信號通過P0、P2口輸出,顯示時間通過P3口輸出至雙位數(shù)碼管進行顯示);黃燈閃爍警示,蜂鳴器鳴叫;該系統(tǒng)得亮點之處是能控制車的左、右轉(zhuǎn),左
39、右轉(zhuǎn)也根據(jù)實際車流量通過程序小改動就可以設(shè)置藍燈燃亮時間。本系統(tǒng)的不足之處在于沒有通過外設(shè)按鍵來調(diào)節(jié)紅、綠、黃、藍亮滅時間的功能以及自動根據(jù)車流改變紅綠燈時間等。這是由于自身知識的不足以及時間的有限,如果有需要可以設(shè)計擴充原系統(tǒng)來實現(xiàn) 。8、實驗體會通過這次現(xiàn)代電子技術(shù)綜合實驗,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉;使我在單片機的基本原理、單片機應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧(特別是C語言)的掌握方面都能向前邁了一大步,也進一步激起我對電子實驗、學習的興趣,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。參考文獻1、張毅坤. 單片微型計算機原理及應(yīng)用,西安電子科技大學出版社 1998 2、余錫存 曹國華.單片機原理及接口技術(shù)M.陜西:西安電子科技大學出版社2000.73、雷麗文 .微機原理與接口技術(shù)M.北京:電子工業(yè)出版社 1997.24、張義和 .例說51單片機(C語言版) 人民郵電出版社 2008 4第 20 頁 共21頁
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復(fù)習題含答案
- 1 各種煤礦安全考試試題含答案