




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
緒論1.1摘要 交通信號(hào)燈常用于交叉路口,用來(lái)控制車(chē)的流量,提高交叉口車(chē)輛的通行能力,減少交通事故。交通燈主要通過(guò)單片機(jī)來(lái)控制,單片機(jī)的代碼采用c語(yǔ)言編程,最后燒錄到單片機(jī)內(nèi),使其完成相應(yīng)的應(yīng)用。在本控制電路中,采用了數(shù)碼管顯示時(shí)間,這樣可以很方便的看出來(lái)紅綠燈的亮滅計(jì)時(shí),這相對(duì)于其他電路的紅綠燈設(shè)計(jì)是非常有優(yōu)勢(shì)的。在本電路中采用的是七十秒的總計(jì)時(shí),每七十秒進(jìn)行一次紅綠燈切換,使兩個(gè)路口的人能夠交替通行。在紅綠燈切換之前,先有黃燈的長(zhǎng)亮來(lái)提示紅綠燈即將替換,后有紅綠燈的閃爍來(lái)提示。通過(guò)本次大作業(yè)的設(shè)計(jì)。A,加強(qiáng)對(duì)單片機(jī)和C51語(yǔ)言的認(rèn)識(shí),充分掌握和理解設(shè)計(jì)各部分的工作原理、設(shè)計(jì)過(guò)程、選擇芯片器件、模塊化編程等多項(xiàng)知識(shí)。B,用單片機(jī)模擬實(shí)現(xiàn)具體應(yīng)用,使個(gè)人設(shè)計(jì)能夠真正使用。C,把理論知識(shí)與實(shí)踐相結(jié)合,充分發(fā)揮個(gè)人能力,并在實(shí)踐中鍛煉。D,提高利用已學(xué)知識(shí)分析和解決問(wèn)題的能力。E,提高實(shí)踐動(dòng)手能力。1.2關(guān)鍵字交通燈、控制器、c51、電路仿真、數(shù)碼管、proteus。1.3設(shè)計(jì)要求a,設(shè)計(jì)一個(gè)70秒的交通燈,每七十秒進(jìn)行一次紅綠燈的切換。b,在倒數(shù)十秒時(shí),黃燈亮,直到倒數(shù)五秒。c,倒數(shù)五秒時(shí),紅綠燈閃爍,直到0秒。d,第0秒時(shí),紅綠燈切換。1.4設(shè)計(jì)內(nèi)容(1)填寫(xiě)實(shí)驗(yàn)報(bào)告。(2)進(jìn)行總體設(shè)計(jì),畫(huà)出原理圖。(3)用Protel軟件畫(huà)出PCB仿真。(4)編寫(xiě)并調(diào)試程序。1.5軟件介紹。1.5.1keilcKeilC51是美國(guó)KeilSoftware公司(ARM公司之一)出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。KeilC51目前由ARM國(guó)內(nèi)授權(quán)代理商提供技術(shù)支持和銷(xiāo)售等相關(guān)服務(wù)。產(chǎn)業(yè)標(biāo)準(zhǔn)的KeilC編譯器、宏匯編器、調(diào)試器、實(shí)時(shí)內(nèi)核、單板計(jì)算機(jī)和仿真器,支持所有的251系列微控制器,幫助你如期完成項(xiàng)目進(jìn)度。以下圖表顯示Keil的開(kāi)發(fā)工具以及它們相互之間的接口。KEILC51開(kāi)發(fā)工具旨在解決嵌入式軟件開(kāi)發(fā)商面臨的復(fù)雜問(wèn)題。當(dāng)你開(kāi)始一個(gè)新項(xiàng)目,只需簡(jiǎn)單的從設(shè)備數(shù)據(jù)庫(kù)選擇使用的設(shè)備,uVisionIDE將設(shè)置好所有的編譯器、匯編器、鏈接器和存儲(chǔ)器選項(xiàng)。包含大量的例程,幫助你著手使用最流行的嵌入式8051設(shè)備。KeilμVision調(diào)試器準(zhǔn)確地模擬8051設(shè)備的片上外圍設(shè)備(IC、CAN、UART、SPI、中斷、I/O端口、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器和PWM模塊)。模擬幫助你了解硬件配置,避免在安裝問(wèn)題上浪費(fèi)時(shí)間。此外,使用模擬器你可以在沒(méi)有目標(biāo)設(shè)備的情況下編寫(xiě)和測(cè)試應(yīng)用程序。當(dāng)你準(zhǔn)備在目標(biāo)硬件上測(cè)試軟件應(yīng)用時(shí),可以使用MON51、MON390、NONADI、或者FlashMON51目標(biāo)監(jiān)視器、ISD51In-System調(diào)試器、ULINKUSB-JTAG適配器在目標(biāo)系統(tǒng)上下載并測(cè)試程序代碼。1.5.2proteusProteus軟件是英國(guó)LabCenterElectronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比較好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。設(shè)計(jì)思路2.1交通燈狀態(tài)分析。交通燈控制器的控制過(guò)程分為五個(gè)階段,對(duì)應(yīng)的輸出有五種狀態(tài),分別用S0、S1、S2、S3,S4表示。S0狀態(tài):A的紅燈,B的綠燈亮,B可以通信,A禁止。S1狀態(tài):B的黃燈和綠燈亮,A紅燈亮。S2狀態(tài):A的綠燈亮,B的紅燈亮,A通信,B禁止。S3狀態(tài):A的黃燈和綠燈亮,B紅燈亮。S4狀態(tài),紅綠燈交替閃爍。這是一個(gè)特殊狀態(tài),這個(gè)狀態(tài)在倒數(shù)五秒的時(shí)候出現(xiàn)。狀態(tài)AB時(shí)間(s)S0紅燈亮,禁止通行綠燈亮,允許通行60S1紅燈亮,禁止通行黃綠燈亮,允許通5S2綠燈亮,允許通紅燈亮,禁止通行60S3黃綠燈亮,允許通紅燈亮,禁止通5S4紅綠閃爍,禁止紅綠閃爍,禁止52.2流程圖第三章設(shè)計(jì)實(shí)現(xiàn)(一)代碼部分設(shè)計(jì)思路3.1以下為主程序的開(kāi)始部分,通過(guò)這一部分程序可以實(shí)現(xiàn)一個(gè)開(kāi)機(jī)的初始化。//主程序voidmain(void){lukou=0;//交通燈部分初始化部分P1=0XFF;//復(fù)位時(shí),全部燈閃爍三次delayms(500);P1=0X00;//燈全滅 第一次閃爍delayms(500);P1=0XFF;//燈全亮 delayms(500);P1=0X00;//燈全滅 第二次了閃爍delayms(500);P1=0XFF;//燈全亮delayms(500);P1=0X00;//燈全滅第三次閃爍delayms(500);P1=0X81;//紅綠燈初始化,紅燈和另一路綠燈亮.對(duì)這部分初始化程序的解釋如下:這部分程序控制交通燈的所有燈在上電后,進(jìn)行三次的亮滅閃爍。每一次亮滅,都會(huì)調(diào)用一次延時(shí)程序。這讓會(huì)形成一個(gè)亮一秒,滅一秒的閃爍??偣查W爍三次。在閃爍完之后,通過(guò)單片機(jī)的P3口對(duì)交通燈進(jìn)行控制,對(duì)P3口賦初值以達(dá)到控制的目的。這里用的初始值是0x81,控制了一個(gè)路口的燈為紅燈和一個(gè)路口的燈為綠燈。3.2中斷的打開(kāi)和設(shè)置。這里寫(xiě)入了計(jì)數(shù)初值,TMOD的初值。//數(shù)碼管控制部分time=13;//時(shí)間為70s的倒計(jì)時(shí)****************第一處:為了便于驗(yàn)證,暫時(shí)改為13TMOD=0X10;EA=1;ET1=1;TH1=(65536-46083)/256;TL1=(65536-46083)%256;TR1=1;這里寫(xiě)入的計(jì)數(shù)初值可以看出,每50ms產(chǎn)生一次中斷益處,在通過(guò)中斷程序的計(jì)數(shù),每20次中斷使時(shí)間計(jì)數(shù)time減1,這就完成了計(jì)時(shí),讓time表示一秒。以下是中斷程序部分//中斷程序voidtimer() interrupt3{jishu=jishu+1;if(jishu==20){jishu=0;time--;}//每次時(shí)間減1TH1=(65536-46083)/256;//重新寫(xiě)入計(jì)數(shù)初值TL1=(65536-46083)%256;}3.3數(shù)碼管控制部分,主要用來(lái)控制數(shù)碼管的位選和顯示。while(1)//這里只是循環(huán)的一部分。{ P3=0XFF;//P3控制六個(gè)燈shi=time/10; ge=time%10; P2=0X40;//選通十位 P0=table[shi]; delayms(10); P2=0X80;//選通個(gè)位 P0=table[ge]; delayms(10);對(duì)上述代碼做如下解釋?zhuān)和≒2口來(lái)做位選,這里最高只有70,所以只用了兩位數(shù)碼管。通過(guò)P0口來(lái)控制數(shù)碼管顯示的內(nèi)容。P2口的實(shí)現(xiàn)方法是通過(guò)控制個(gè)位和十位,在程序里可以看出。3.4交通燈的控制部分。通過(guò)這里的代碼,實(shí)現(xiàn)了對(duì)以下三個(gè)目的:倒數(shù)10s的時(shí)候,其中一個(gè)路口的黃燈開(kāi)始亮,一直亮到倒數(shù)5秒。倒數(shù)5s的時(shí)候,紅綠燈開(kāi)始閃爍。最后一秒的時(shí)候,兩個(gè)路口的紅綠燈交替,實(shí)現(xiàn)了紅綠燈變換。//交通燈變化控制部分if(lukou==0){if(time==10)P1=0XC1;}//倒數(shù)10s,根據(jù)lukou信號(hào)控制兩個(gè)黃燈亮滅if(lukou==1){if(time==10)P1=0X26;}//倒數(shù)10s,黃燈亮if(time==5)P1=0x00;//倒數(shù)5s,紅綠燈閃爍if(time==4)P1=0xa5;if(time==3)P1=0x00;if(time==2)P1=0xa5;if(time==1)P1=0x00;if(time==0){if(lukou==0)P1=0X24;//紅綠燈變換if(lukou==1)P1=0X81;time=13;//重新寫(xiě)入時(shí)間初值,時(shí)間復(fù)位 ****************第二處:為了便于驗(yàn)證,暫時(shí)改為13 if(lukou==0)lukou=1;//lukou取反 elselukou=0;對(duì)上述代碼做如下解釋?zhuān)和ㄟ^(guò)lukou信號(hào)來(lái)控制黃燈的顯示。因?yàn)橹恍枰G燈的路口才顯示黃燈,紅燈不需要,所以通過(guò)路口這一信號(hào)來(lái)控制不同的黃燈顯示,代碼中式通過(guò)兩個(gè)if語(yǔ)句的嵌套,lukou為1和0來(lái)選擇不同的黃燈。倒數(shù)5秒的時(shí)候,燈全滅,倒數(shù)4秒的時(shí)候,燈全亮,3秒的時(shí)候,燈全滅,2秒的時(shí)候全亮,1秒的時(shí)候全滅,0秒的時(shí)候,根據(jù)lukou信號(hào)來(lái)判斷,從而實(shí)現(xiàn)對(duì)不同紅綠燈的控制,通過(guò)lukou信號(hào)來(lái)作為if語(yǔ)句的條件,這一對(duì)燈的控制非常方便,這里也是用到了兩個(gè)if嵌套。最后是一個(gè)對(duì)路口信號(hào)取反的語(yǔ)句,本來(lái)是想用lukou=~lukou實(shí)現(xiàn)取反的,但是在實(shí)踐的時(shí)候,發(fā)現(xiàn)這樣達(dá)不到效果,于是用了上述代碼的取反語(yǔ)句,用一個(gè)if條件選著來(lái)實(shí)現(xiàn)對(duì)lukou信號(hào)的取反。3.5對(duì)總的程序做如下解釋。a,延時(shí)語(yǔ)句和宏定義語(yǔ)句在述解釋中沒(méi)有提到。b,調(diào)試過(guò)程中為了方便,把總的倒計(jì)時(shí)70秒改為了13秒。,電路部分3.6交通燈模塊,這一模塊通過(guò)P1口控制,最高三位控制一個(gè)路口,最低三位控制一個(gè)路口。圖中的一條十字路口線為標(biāo)記線,為了方便看,并沒(méi)有實(shí)際用途。3.7數(shù)碼管部分電路。這里的U2,U3,PR1,PR2是用來(lái)放大P0,P2口的輸出信號(hào),數(shù)碼管只是用最后兩個(gè),通過(guò)代碼實(shí)現(xiàn)對(duì)最后兩個(gè)的位選。整個(gè)程序代碼3.7整體代碼其中大部分代碼都有注釋?zhuān)⑶乙苍趯W(xué)校實(shí)驗(yàn)室調(diào)試成功,通過(guò)電路仿真,實(shí)現(xiàn)的功能和預(yù)期想要達(dá)到效果一樣。//********交通燈控制***********//陳明松(20111302026)//課題名字:交通燈控制//********交通燈控制***********#include"AT89x52.h"#defineucharunsignedchar#defineuintunsignedintuchartime=0,shi=0,ge=0;//定義計(jì)時(shí)時(shí)間time,時(shí)間的十位shi,和個(gè)位geucharjishu;//定義jishu用來(lái)計(jì)數(shù)chartable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xaa,0x86,0x8e};ucharlukou;//路口監(jiān)控信號(hào),用來(lái)控制兩條路的不同黃燈顯示和紅綠燈切換//延時(shí)函數(shù)voiddelayms(uintdelay_ms){unsignedchari;while(delay_ms--)for(i=0;i<200;i++);}//主程序voidmain(void){lukou=0;//交通燈部分初始化部分P1=0XFF;//復(fù)位時(shí),全部燈閃爍三次//delayms(500);P1=0X00;//燈全滅 第一次閃爍//delayms(500);P1=0XFF;//燈全亮 //delayms(500);P1=0X00;//燈全滅 第二次了閃爍//delayms(500);P1=0XFF;//燈全亮delayms(500);P1=0X00;//燈全滅第三次閃爍delayms(500);P1=0X81;//紅綠燈初始化,紅燈和另一路綠燈亮.//數(shù)碼管控制部分time=13;//時(shí)間為70s的倒計(jì)時(shí)****************第一處:為了便于驗(yàn)證,暫時(shí)改為13TMOD=0X10;EA=1;ET1=1;TH1=(65536-46083)/256;TL1=(65536-46083)%256;TR1=1;while(1){shi=time/10; ge=time%10; P2=0X40;//選通十位 P0=table[shi]; delayms(10); P2=0X80;//選通個(gè)位 P0=table[ge]; delayms(10);//交通燈變化控制部分if(lukou==0){if(time==10)P1=0XC1;}//倒數(shù)10s,根據(jù)lukou信號(hào)控制兩個(gè)黃燈亮滅if(lukou==1){if(time==10)P1=0X26;}//倒數(shù)10s,黃燈亮if(time==5)P1=0x00;//倒數(shù)5s,紅綠燈閃爍if(time==4)P1=0xa5;if(time==3)P1=0x00;if(time==2)P1=0xa5;if(time==1)P1=0x00;if(time==0){if(lukou==0)P1=0X24;//紅綠燈變換if(lukou==1)P1=0X81;time=13;//重新寫(xiě)入時(shí)間初值,時(shí)間復(fù)位 ****************第二處:為了便于驗(yàn)證,暫時(shí)改為13 if(lukou==0)lukou=1;//lukou取反 elselukou=0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省濟(jì)南市長(zhǎng)清五中學(xué)2024-2025學(xué)年初三下學(xué)期第二次階段性考試化學(xué)試題試卷含解析
- 寧波工程學(xué)院《房地產(chǎn)市場(chǎng)營(yíng)銷(xiāo)》2023-2024學(xué)年第二學(xué)期期末試卷
- 三門(mén)峽社會(huì)管理職業(yè)學(xué)院《病理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四平職業(yè)大學(xué)《中國(guó)當(dāng)代影視文學(xué)研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 荊門(mén)職業(yè)學(xué)院《結(jié)構(gòu)力學(xué)Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海海事大學(xué)《現(xiàn)代水文地質(zhì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼東學(xué)院《城市規(guī)劃與GIS》2023-2024學(xué)年第二學(xué)期期末試卷
- 工業(yè)金屬探傷標(biāo)準(zhǔn)試塊租賃及質(zhì)量追溯協(xié)議
- 電動(dòng)汽車(chē)電機(jī)控制系統(tǒng)研發(fā)與產(chǎn)品生命周期管理合同
- 網(wǎng)紅燒烤品牌授權(quán)培訓(xùn)與咨詢(xún)服務(wù)合同
- 53模擬試卷初中語(yǔ)文八年級(jí)下冊(cè)第六單元素養(yǎng)綜合檢測(cè)
- 糧油食材配送投標(biāo)方案(大米食用油食材配送服務(wù)投標(biāo)方案)(技術(shù)方案)
- 新解讀《JTGT 3660-2020公路隧道施工技術(shù)規(guī)范》
- 2024年全國(guó)職業(yè)院校技能大賽中職(服裝設(shè)計(jì)與工藝賽項(xiàng))考試題庫(kù)(含答案)
- 某某醫(yī)院信息化建設(shè)項(xiàng)目可行性研究報(bào)告
- 發(fā)電廠電氣部分智慧樹(shù)知到期末考試答案章節(jié)答案2024年?yáng)|北電力大學(xué)
- 2024年株洲國(guó)創(chuàng)軌道科技有限公司招聘筆試沖刺題(帶答案解析)
- 2024年山東省濰坊市二模化學(xué)試卷
- “超說(shuō)明書(shū)用藥”管理規(guī)定及流程
- 基于微信小程序的運(yùn)動(dòng)健身管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 利昕報(bào)廢汽車(chē)回收拆解有限公司報(bào)廢汽車(chē)回收拆解建設(shè)項(xiàng)目環(huán)評(píng)可研資料環(huán)境影響
評(píng)論
0/150
提交評(píng)論