




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第頁西安石油大學單片機控制臨時交通燈班級:電信1502小組成員:趙勃權(quán)偉力艾克拜爾臨時交通燈設(shè)計原因隨著經(jīng)濟開展,汽車數(shù)量急劇增加,城市道路日漸擁擠,交通擁塞已成為一個國際性的問題。因此,設(shè)計可靠、平安、便捷的多功能交通燈控制系統(tǒng)有極大的現(xiàn)實必要性。根據(jù)交通燈在實際控制中的特點,結(jié)合單片機的控制功能,提出了一種用單片機自動控制交通燈的簡易方法。設(shè)計中包括硬件電路的設(shè)計和程序設(shè)計兩大步驟,對單片機學習中的幾個重要內(nèi)容都有涉足。單片機的應(yīng)用正在不斷深入,單片機可以用來仿真各個系統(tǒng)。在自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件構(gòu)造軟硬件結(jié)合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?對于路口信號燈出現(xiàn)問題或者需要進展道路施工,時,臨時信號燈就變得非常重要,在沒有紅綠燈的交通路口也可以放置臨時信號燈,來調(diào)節(jié)交通,對于社會有很大幫助。1.課題任務(wù)及主要實現(xiàn)內(nèi)容本系統(tǒng)由單片機系統(tǒng)、數(shù)碼管顯示、交通燈顯示系統(tǒng)組成。系統(tǒng)除根本的交通功能外,還具有倒計時。東西、南北兩個干道交于一個十字路口,各干道有一組紅、綠、黃三色的指示燈。紅燈亮制止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換。程序開場運行先南北段通行、東西段制止60s,后東西段通行、南北段制止60s,依此循環(huán)。系統(tǒng)分三種工作模式:正常模式、繁忙模式、特殊模式,并且通過三個按鈕“正常〞、“繁忙〞、“特殊〞可相互轉(zhuǎn)化。正常模式:直行時間顯示數(shù)碼管顯示60。此時南北段直行通行〔綠燈〕、東西段制止〔紅燈〕60s,倒計時到3s時,黃燈亮,提醒人們注意了。然后是東西段通行〔綠燈〕,南北段禁行〔紅燈〕,一直循環(huán)下去。繁忙模式:南北段、東西段的通行時間改為30s,其它與正常模式類似。特殊模式:特殊模式紅燈全亮,倒計時20s,到最后3秒黃燈閃3次后并轉(zhuǎn)入正常模式。2.原理分析交通燈顯示的理論分析倒計時顯示的理論分析:利用定時器中斷,設(shè)TH0=TH1=(65536-50000)/256,即每秒中斷一次。每到第20次中斷即過了秒=1秒時,產(chǎn)生一次參數(shù)傳遞,使時間的計數(shù)值減1,便實現(xiàn)了倒計時的功能。3.單片機選擇與外圍接口部件根據(jù)課題任務(wù)的要求,該系統(tǒng)具有交通燈的顯示功能,倒計時功能,改變時間設(shè)定功能,所以把系統(tǒng)分為幾個模塊,包括倒計時顯示器、交通信號燈、控制模塊。系統(tǒng)硬件框圖如下列圖2-1:交通燈發(fā)光源選取發(fā)光二極管簡稱為LED,在此處設(shè)計中我們用他來模擬紅綠黃交通燈,普通單色發(fā)光二極管具有體積小、工作電壓低、工作電流小、發(fā)光均勻穩(wěn)定、響應(yīng)速度快、壽命長等優(yōu)點,可用各種直流、交流、脈沖等電源驅(qū)動點亮。它屬于電流控制型半導體器件,使用時需串接適宜的限流電阻。LED顯示器由七個發(fā)光二極管組成,因此也稱之為七段LED顯示器,此外,顯示器中還有一個圓點型發(fā)光二極管〔在圖中以dp表示〕,用于顯示小數(shù)點。通過七段發(fā)光二極管的不同組合,可以顯示多種數(shù)字、字母或者其他符號。動態(tài)顯示采用多路復(fù)用技術(shù)的動態(tài)掃描顯示方式,利用人眼的暫留效應(yīng)和發(fā)光二極管發(fā)光時間的長短,發(fā)光的亮度等因素。.發(fā)光二極管模擬紅綠燈它是半導體二極管的一種,可以把電能轉(zhuǎn)化成光能,常簡寫為LED。發(fā)光二極管與普通二極管一樣是由一個PN結(jié)組成,也具有單向?qū)щ娦?。當給發(fā)光二極管加上正向電壓后,從P區(qū)注入到N區(qū)的空穴和由N區(qū)注入到P區(qū)的電子,在PN結(jié)附近數(shù)微米內(nèi)分別與N區(qū)的電子和P區(qū)的空穴復(fù)合,產(chǎn)生自發(fā)輻射的熒光。不同的半導體材料中電子和空穴所處的能量狀態(tài)不同。當電子和空穴復(fù)合時釋放出的能量多少不同,釋放出的能量越多,那么發(fā)出的光的波長越短。常用的是發(fā)紅光、綠光或黃光的二極管。發(fā)光二極管的反向擊穿電壓約5伏。它的正向伏安特性曲線很陡,使用時必須串聯(lián)限流電阻以控制通過管子的電流。單片機c51管腳目前在單片機系統(tǒng)中,應(yīng)用較廣泛的微處理器芯片主要為8XC5X系列單片機。該系列單片機均采用標準MCS-51內(nèi)核,硬件資源相互兼容,品類齊全,功能完善,性能穩(wěn)定,體積小,價格低廉,貨源充足,調(diào)試和編程方便,所以應(yīng)用極為廣泛。假設(shè)采用89C51芯片作為硬件核心,采用FlashROM,內(nèi)部具有4KBROM存儲空間,能于3V的超低電壓工作,而且與MCS-51系列單片機完全兼容,圖3-1STC89C51引腳圖引腳如圖3-1所示:VCC:40號管腳供電電壓。GND:20號管腳接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8個TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進展校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1〞時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進展存取時,P2口輸出地址的高八位。在給出地址“1〞時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進展讀寫時,P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1〞后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流這是由于上拉的緣故。P3口也可作為STC89C52的一些特殊功能口,如下表3-1所示:P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想制止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE制止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,那么在此期間外部程序存儲器〔0000H-FFFFH〕,不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源〔VPP〕。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出??撮T狗設(shè)置 在單片機構(gòu)成的系統(tǒng)中,由于單片機的工作有可能受到外界的干擾,造成程序跑飛,從而陷入死循環(huán),程序的正常運行被打斷,由單片機控制的系統(tǒng)便無法繼續(xù)工作,這樣會造成整個系統(tǒng)陷入癱瘓狀態(tài),發(fā)生不可預(yù)料的后果,所以出于對單片機程序的運行的狀態(tài)進展實時的監(jiān)控,便考慮一種的專用的監(jiān)測芯片用于監(jiān)測單片機程序運行狀態(tài)的芯片,俗稱“看門狗〞〔WatchDog〕。 參加看門狗電路的目的是使單片機可以在無人的狀態(tài)下實現(xiàn)連續(xù)的工作,其工作的過程如下:看門狗的芯片和單片機的一個I/O口連接,每隔一定的時間單片機給芯片送個脈沖,是看門狗的定時器復(fù)位;如果超過時間不送脈沖,看門狗的芯片會使單片機復(fù)位,從頭開場執(zhí)行程序,這樣便實現(xiàn)了監(jiān)視單片機的目的。選用設(shè)備STC89c52單片機一片,共陰極的七段兩位數(shù)碼管兩個,紅、黃、交通燈各四個,綠發(fā)光二極管7個,按鍵三個、電容兩個22pF,電阻十六個470Ω,晶體振蕩器一個,連線假設(shè)干。振蕩電路單片機系統(tǒng)里都有晶振,在單片機系統(tǒng)里晶振作用非常大,全稱叫晶體振蕩器,它結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,那么單片機運行速度就越快,單片機的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率。單片機晶振的作用是為系統(tǒng)提供根本的時鐘信號。單片機的時鐘電路設(shè)計有兩種方式,一種是內(nèi)部時鐘方式,一種是外部時鐘方式。在內(nèi)部時鐘方式下單片機內(nèi)部的高增益、反相放大器通過XTAL1、XTAL2外接作為反應(yīng)元件的外部晶體管振蕩器與電容組成的并聯(lián)諧振回路構(gòu)成一個穩(wěn)定的自激振蕩器,向內(nèi)部時鐘電路提供振蕩時鐘。振蕩器的頻率主要取決于晶體的振蕩頻率。MCS-51單片機的晶體振蕩頻率可以再1-12MHz范圍內(nèi)選擇,電容C1、C2的選擇范圍是15-45pF,電容的大小會影響振蕩器的穩(wěn)定性和起振速度。外部時鐘方式是把外部已有的時鐘信號引入到單片機內(nèi)。此方式常用于多片單片機同時工作,以便于各單片機的同步。一般要求外部信號高電平的持續(xù)時間大于20μs,且為頻率低于12MHz的方波。本設(shè)計采用內(nèi)部時鐘方式,采用12MHz的晶振和兩個22pF的電容。如圖3-2所示。按鍵模塊程序開場運行先南北段通行、東西段制止60s,后東西段通行、南北段制止60s,依此循環(huán)。系統(tǒng)分三種工作模式:正常模式、繁忙模式、特殊模式,并且通過三個按鈕“正常〞、“繁忙〞、“特殊〞可相互轉(zhuǎn)化。按鍵圖如3-7所示:圖3-7按鍵模塊這里用到了二極管做開關(guān),是為了防止有一按鍵被按下3根線同時低,中斷無效。二極管在正向電壓作用下電阻很小,處于導通狀態(tài),相當于一只接通的開關(guān);在反向電壓作用下,電阻很大,處于截止狀態(tài),如同一只斷開的開關(guān)。利用二極管的開關(guān)特性,可以組成各種邏輯電路。4.軟件編譯環(huán)境C語言C語言是一種通用的計算機程序設(shè)計語言,它既可以用來編寫計算機的系統(tǒng)程序也可以用來編寫一般的應(yīng)用程序。以前計算機的系統(tǒng)軟件主要用匯編語言編寫,單片機應(yīng)用系統(tǒng)更是如此。由于匯編語言程序的可讀性和可移植性都較差,采用匯編語言編寫單片機應(yīng)用程序不但周期長,而且調(diào)試和排錯也比擬困難,為了提高單片機應(yīng)用程序的開發(fā)效率,改善程序的可讀性和可移植性,采用高級語言無疑是一種最好的選擇。C語言既具有一般高級語言的特點,又能直接對計算機的硬件進展操作,表達和運算能力也較強,許多以前只能采用匯編語言來解決的問題現(xiàn)在都可以用C語言來解決。綜上所述,C語言在功能上、構(gòu)造性、可讀性、可維護性上有明顯的優(yōu)勢,故本課題采用C語言實現(xiàn)軟件功能。交通燈的主要用途是指示通行和顯示時間,因此主要檢測發(fā)光二極管模塊和數(shù)碼管顯示模塊,按鍵模塊。按照本設(shè)計的功能需求,進展相應(yīng)的實驗?zāi)M軟件采用proteus8進展電路圖的仿真模擬,2、軟件局部首先應(yīng)用keilu4軟件對程序進展編譯和調(diào)試,調(diào)試成功后,利用Proteus軟件進展在線仿真,經(jīng)過對程序?qū)掖蔚匦薷暮?,仿真效果到達了預(yù)期的要求。3、將最終調(diào)試好的程序燒錄到單片機內(nèi),觀察效果。本系統(tǒng)以STC89C51單片機為核心,采用7段數(shù)碼管并應(yīng)用74LS245對數(shù)碼管進展驅(qū)動,可以很直觀地顯示紅綠燈的開放及關(guān)閉時間;功能完善,不僅有普通交通燈的指示功能,還增加了特殊模式和繁忙模式。其控制功能與效果與真實道口管理紅綠燈一致。[1]童詩白.模擬電子技術(shù)根底〔第四版〕高等教育出版社[2]閻石.數(shù)字電子技術(shù)根底〔第五版〕高等教育出版社[3]?C語言程序設(shè)計?科學教育出版社[4]?51單片機的根底教程?電子工業(yè)出版社[5]?單片機原理及應(yīng)用?—基于Proteus和KeilC〔第二版〕電子工業(yè)出版社[6]郭天祥.?51單片機C語言教程?-入門、提高、開發(fā)、拓展全攻略 電子工業(yè)出版社單片機控制交通燈的C源程序開場按鈕開場交通燈的控制,然后選擇模式三種模式:正常模式東西行,南北斷60s;東西斷,南北行60s;繁忙模東式西行,南北斷20s;東西斷,南北行20s;特殊模式四路全為紅燈,20秒后轉(zhuǎn)到正常模式正常模式和繁忙模式可任意轉(zhuǎn)到特殊模式;正常模式和繁忙模式轉(zhuǎn)換需要在倒計時完畢轉(zhuǎn)換;#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharuchari,a;uintcounter,ge,shi,temp;/**************定義控制位******************//**************定義控制端口****************/sbitA_0=P2^0;//南北紅sbitA_1=P2^1;//南北黃sbitA_2=P2^2;//南北綠sbitB_0=P2^3;//東西紅sbitB_1=P2^4;//東西黃sbitB_2=P2^5;// 東西綠sbitWE1=P2^6;// 十位位選sbitWE2=P2^7;// 個位位sbitnumber=P3^0;//正常模式開sbitbusy=P3^1;//繁忙模式開sbitspecial=P3^3;// 特殊模式開sbitnumber1=P1^0;// 正常指示燈sbitbusy1=P1^1;// 繁忙指示燈sbitspecial1=P1^2; // 特殊指示燈sfrWDT=0xe1; // 看門狗特殊存放器設(shè)置ucharcodetable[]={0x3F,0x06,0x5B,0x4F,0x66,40x6D,0x7D,0x070x7F,0x6F};voiddelay(uinttime); //延時函數(shù)聲明voidinitial(); //初始化函數(shù)聲明voidstatus1();// 狀態(tài)1函數(shù)聲明voidstatus2(); // 狀態(tài)2函數(shù)聲明/*****************顯示函數(shù)******************/voiddisplay(){ P0=table[shi]; WE1=0;delay(1); WE1=1; P0=0xff;//delay(1); P0=table[ge]; WE2=0;delay(1); WE2=1;}/**************主函數(shù)***********************/voidmain(){//if(on==0){ /****************大循環(huán)*******************/ WDT=0x34; initial();while(1){ counter=temp; status1();//WDT=0x37; counter=temp; status2();// WDT=0x37;/*************初始化函數(shù)**********/voidinitial(){ TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; //開總中斷 ET0=1; TR0=1; EX0=1; IT0=1; //邊沿觸發(fā) temp=60; a=0;/***************狀態(tài)函數(shù)1*************/voidstatus1(){A_1=1;B_1=1; while(counter){ if(temp==60){ number1=0;busy1=1;special1=1;} else{if(temp==30){ number1=1;busy1=0;special1=1;} else{if(temp==20){ number1=1;busy1=1;special1=0;}} display(); if(a==1){ A_0=0;A_2=1; B_0=0;B_2=1;} else{ A_0=0;A_2=1; //東西行,南北斷 B_0=1;B_2=0;} //東西斷,南北行if(counter==3){ if(i<=10){ B_1=0; A_1=0;} else{B_1=1;A_1=1;}} if(counter==2){ if(i<=10){B_1=0;A_1=0;} else{B_1=1;A_1=1;}} if(counter==1){ if(i<=10){B_1=0;A_1=0;} else{B_1=1;A_1=1;}} if(a==1&counter==0){temp=60;a=0;}/***************狀態(tài)函數(shù)1*************/voidstatus2(){A_1=1;B_1=1; while(counter){ if(temp==60){ number1=0;busy1=1;special1=1;} else{if(temp==30){ number1=1;busy1=0;special1=1;} else{if(temp==20){ number1=1;busy1=1;special1=0;}} display(); if(a==1){ A_0=0;A_2=1; B_0=0;B_2=1;} else{ A_0=1;A_2=0; //東西行,南北斷 B_0=0;B_2=1;} //東西斷,南北行if(counter==3){ if(i<=10){ B_1=0; A_1=0;} else{B_1=1;A_1=1;}} if(counter==2){ if(i<=10){B_1=0;A_1=0;} else{B_1=1;A_1=1;}} if(counter==1){ if(i<=10){B_1=0;A_1=0;} else{B_1=1;A_1=1;}} if(a==1&counter==0){temp=60;a=0;}/***************延時函數(shù)*****************/voiddelay(uinttime){ uinta; for(;time>0;time--) for(a=10;a>0;a--);/**************定時器中斷0*****************/voidtimer()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; i++;
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025原單位倒閉如何解除勞動合同
- 羽毛球教學與實戰(zhàn)知到課后答案智慧樹章節(jié)測試答案2025年春阜陽師范大學
- 畢業(yè)設(shè)計與研究成果展示
- 2025建筑工程與城市基礎(chǔ)設(shè)施項目施工總承栽合同
- 2025年碳纖維傳動離合器采購合同
- 高一英語學案:知識巧學Womenofachievement
- 2024年西安長安聶河中醫(yī)醫(yī)院招聘真題
- 2024年四川師范大學附屬高新菁蓉小學招聘儲備教師筆試真題
- 2025勞動合同終止協(xié)議書樣本
- 襯衫購買合同范本模板
- 2024浙江省嘉興市中考初三二模英語試題及答案
- 大連市2023-2024學年七年級下學期語文試題【帶答案】
- 養(yǎng)老機構(gòu)老年人保護性約束服務(wù)規(guī)范 編制說明
- 肥胖癥治療季度臨床路徑分析
- 《習作:心愿》課件(兩套)
- 針灸筆記課件
- 《蜀相》76816省公開課一等獎全國示范課微課金獎?wù)n件
- 幼兒園大班繪本閱讀教學現(xiàn)狀與對策研究
- 隧道工程畢業(yè)設(shè)計
- 期中句型轉(zhuǎn)換練習專項過關(guān)卷(試題)-2023-2024學年譯林版(三起)英語四年級下冊
- 2024年杭州市水務(wù)集團有限公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論