基于單片機的交通燈設(shè)計論文.doc
《基于單片機的交通燈設(shè)計論文.doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機的交通燈設(shè)計論文.doc(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 現(xiàn)代電子技術(shù)綜合實驗論文 基于單片機交通燈的設(shè)計系別:電子工程系專 業(yè) 名 稱:07電子信息工程班 級 分 組:第一組學(xué) 生 學(xué) 號:學(xué) 生 姓 名: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)的剩余時間,時間顯示采用倒計時的方式,四組紅、黃、綠、藍(lán)四色燈用發(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è)計目標(biāo)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參考文獻(xiàn)211、設(shè)計
4、目標(biāo)當(dāng)今,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠
5、燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國道路交通和道路標(biāo)志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。
6、左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進(jìn)入交叉路口。本設(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接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。 單片機經(jīng)過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。22芯片簡介 8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進(jìn)行系統(tǒng)的講解。8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)
8、、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(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ā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8051內(nèi)置最高頻率達(dá)
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ù)用?,F(xiàn)在我們對這些引腳的功能加以說明:如圖3 圖3Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)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/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識
13、別單片機是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當(dāng)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東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠、藍(lán)四色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行,藍(lán)燈亮允許轉(zhuǎn)彎。黃燈亮提示人們注意紅、綠、藍(lán)燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時間。示意圖如上圖圖5,指示燈燃亮的方案如表2。表2 車道 燈亮?xí)r間東、西南、北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)、當(dāng)東、西車道綠燈時,南、北車道紅燈;東、西車道直走,南、北車道停止通行,人行道南、北通行,數(shù)碼管倒數(shù)25秒;(2)、第一步延時25秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;(3)、當(dāng)東、西車道紅燈時,南、北車道綠燈;東、西車道停止通行,南、北車道直走,人行道東、西通行,數(shù)碼管倒數(shù)25秒;(4)、第三步延時25秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;
16、(5)、西車道綠燈時,東車道紅燈,南、北車道藍(lán)燈,西車道直走,南車道左轉(zhuǎn),北車道右轉(zhuǎn),東車道停止通行,數(shù)碼管倒數(shù)15秒;(6)、第五步延時15秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;(7)、東車道綠燈時,西車道紅燈,南、北車道藍(lán)燈,東車道直走,南車道右轉(zhuǎn),北車道左轉(zhuǎn),西車道停止通行,數(shù)碼管倒數(shù)15秒;(8)、第七步延時15秒后,東、西、南、北車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;(9)、南車道綠燈時,北車道紅燈,東、西車道藍(lán)燈,南車道直走,西車道右轉(zhuǎn),東車道左轉(zhuǎn),北車道停止通行,數(shù)碼管倒數(shù)15秒;(10)、第九步延時15秒后,東、西、南、北車道同時亮黃燈,蜂鳴
17、器響,(滴5聲)倒數(shù)5秒;(11)、北車道綠燈時,南車道紅燈,東、西車道藍(lán)燈,北車道直走,西號車道左,東車道右轉(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ù)器和使定時毫秒這樣每當(dāng)?shù)胶撩霑r就響應(yīng)它的溢出中斷請求,進(jìn)入他的中斷服務(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顯示原理:當(dāng)程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后 ,重新進(jìn)入循環(huán)。 5.4.2 P0口、P1口輸出信號接信號燈:P0口、
24、P1口控制燈的亮滅,由于發(fā)光二極管為共陽極接法,輸出端口為低電平,對應(yīng)的二極管發(fā)光,所以可以用置位方法點亮紅,綠,黃,藍(lán)色發(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進(jìn)制)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的藍(lán)燈,表示可以向左轉(zhuǎn)彎sbit RED_1 = P05;/代表道路1的紅燈sbit GREEN_1 = P04;/代表道路1的綠sbit YELLOW_1 = P06;/ 代表道路1的黃燈sbit right_1 = P07;/代表道路1的藍(lán)燈,表示可以向右轉(zhuǎn)彎sbit left_2 = P17;/代表道路2的藍(lán)燈,表示可以向左轉(zhuǎn)彎sbit RED_2 = P14;/代表道路2的紅燈sbit GREEN
27、_2 = P11;/代表道路2的綠sbit YELLOW_2 = P16;/ 代表道路2的黃燈sbit right_2 = P10;/代表道路2的藍(lán)燈,表示可以向右轉(zhuǎn)彎 sbit left_3 = P12;/代表道路3的藍(lán)燈,表示可以向左轉(zhuǎn)彎sbit RED_3 = P00;/代表道路3的紅燈sbit GREEN_3 = P01;/代表道路3的綠sbit YELLOW_3 = P13;/ 代表道路3的黃燈sbit right_3 = P02;/代表道路3的藍(lán)燈,表示可以向右轉(zhuǎn)彎sbit left_4 = P23;/代表道路4的藍(lán)燈,表示可以向左轉(zhuǎn)彎sbit RED_4 = P20;/代表道路4
28、的紅燈sbit GREEN_4 = P21;/代表道路4的綠sbit YELLOW_4 = P22;/ 代表道路4的黃燈sbit right_4 = P15;/代表道路4的藍(lán)燈,表示可以向右轉(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ù)第一步:當(dāng)1、2車道綠燈時,3、4車道紅燈;1、2車道直走,3、4車道停止通行,人行道3、4通行,數(shù)碼管倒數(shù)25秒.第二步:第一步延時25秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第三步:當(dāng)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車道藍(lán)燈,1車道直走,3車道左轉(zhuǎn),4車道右轉(zhuǎn),2車道停止通行,數(shù)碼管倒數(shù)15秒;第六步:第五步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第七步:2車道綠燈時,1車道紅燈,3、4車道藍(lán)燈,2車道直走,3車道右轉(zhuǎn),4車道左轉(zhuǎn),1車道停止通行,數(shù)碼管倒數(shù)15秒;第八步:第七步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第九步:3車道綠燈時,4車道紅燈,1、2車道藍(lán)燈,3車道直走,1車道右轉(zhuǎn),2車道左轉(zhuǎn),4車道停止通行,數(shù)碼管倒數(shù)15秒;第十步:第九
31、步延時15秒后,1、2、3、4車道同時亮黃燈,蜂鳴器響,(滴5聲)倒數(shù)5秒;第十一步:4車道綠燈時,3車道紅燈,1、2車道藍(lán)燈,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; /第一步:當(dāng)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秒 /第三步:當(dāng)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、車道藍(lán)燈,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車道藍(lán)燈,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車道藍(lán)燈,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車道藍(lán)燈,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è)置紅、綠、黃、藍(lán)燈燃亮?xí)r間的功能;紅綠燈循環(huán)點亮,倒計時剩25秒(交通燈信號通過P0、P2口輸出,顯示時間通過P3口輸出至雙位數(shù)碼管進(jìn)行顯示);黃燈閃爍警示,蜂鳴器鳴叫;該系統(tǒng)得亮點之處是能控制車的左、右轉(zhuǎn),左
39、右轉(zhuǎn)也根據(jù)實際車流量通過程序小改動就可以設(shè)置藍(lán)燈燃亮?xí)r間。本系統(tǒng)的不足之處在于沒有通過外設(shè)按鍵來調(diào)節(jié)紅、綠、黃、藍(lán)亮滅時間的功能以及自動根據(jù)車流改變紅綠燈時間等。這是由于自身知識的不足以及時間的有限,如果有需要可以設(shè)計擴(kuò)充原系統(tǒng)來實現(xiàn) 。8、實驗體會通過這次現(xiàn)代電子技術(shù)綜合實驗,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉;使我在單片機的基本原理、單片機應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧(特別是C語言)的掌握方面都能向前邁了一大步,也進(jìn)一步激起我對電子實驗、學(xué)習(xí)的興趣,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。參考文獻(xiàn)1、張毅坤. 單片微型計算機原理及應(yīng)用,西安電子科技大學(xué)出版社 1998 2、余錫存 曹國華.單片機原理及接口技術(shù)M.陜西:西安電子科技大學(xué)出版社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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學(xué)習(xí)《中華人民共和國科學(xué)技術(shù)普及法》推進(jìn)實現(xiàn)高水平科技自立自強推動經(jīng)濟(jì)發(fā)展和社會進(jìn)步
- 激揚正氣淬煉本色踐行使命廉潔從政黨課
- 加強廉潔文化建設(shè)夯實廉政思想根基培育風(fēng)清氣正的政治生態(tài)
- 深入學(xué)習(xí)2024《突發(fā)事件應(yīng)對法》全文提高突發(fā)事件預(yù)防和應(yīng)對能力規(guī)范突發(fā)事件應(yīng)對活動保護(hù)人民生命財產(chǎn)安全
- 2023年四年級數(shù)學(xué)上冊第一輪單元滾動復(fù)習(xí)第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級數(shù)學(xué)上冊第14單元階段性綜合復(fù)習(xí)作業(yè)課件新人教版
- 2023年四年級數(shù)學(xué)上冊易錯清單十五課件新人教版
- 2023年四年級數(shù)學(xué)上冊易錯清單七課件西師大版
- 2023年五年級數(shù)學(xué)下冊易錯清單六作業(yè)課件北師大版
- 2023年五年級數(shù)學(xué)下冊易錯清單二作業(yè)課件北師大版
- 2023年五年級數(shù)學(xué)下冊四分?jǐn)?shù)的意義和性質(zhì)第10課時異分母分?jǐn)?shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級數(shù)學(xué)下冊周周練四作業(yè)課件北師大版
- 2023年五年級數(shù)學(xué)下冊六折線統(tǒng)計圖單元復(fù)習(xí)卡作業(yè)課件西師大版
- 2023年四年級數(shù)學(xué)上冊6除數(shù)是兩位數(shù)的除法單元易錯集錦一作業(yè)課件新人教版