久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

基于AT89C51的交通燈控制系統(tǒng)設(shè)計(jì)范文合集

時(shí)間:2019-05-15 11:39:31下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《基于AT89C51的交通燈控制系統(tǒng)設(shè)計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《基于AT89C51的交通燈控制系統(tǒng)設(shè)計(jì)》。

第一篇:基于AT89C51的交通燈控制系統(tǒng)設(shè)計(jì)

基于AT89C51的交通燈控制系統(tǒng)

作品設(shè)計(jì)、發(fā)明的目的和基本思路

隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,人們對(duì)各種交通車輛的需求量不斷增大,城市的交通擁護(hù)問(wèn)題日益嚴(yán)重,目前,大部分城市的十字路口的交通控制燈,通常的做法是:事先經(jīng)過(guò)車輛流量的調(diào)查,利用傳統(tǒng)的方法設(shè)計(jì)好紅綠燈的延時(shí),然而,實(shí)際上的車流量是不斷變化的,有的路口在不同的時(shí)間段車流量的大小甚至有很大的差異,所以說(shuō),統(tǒng)計(jì)的方法己不能適應(yīng)迅速發(fā)展的交通現(xiàn)狀。

目前,國(guó)內(nèi)的交通燈一般設(shè)在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來(lái)控制行車。對(duì)于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實(shí)際行車過(guò)程中出現(xiàn)的情況,還存在以下缺點(diǎn):1.兩車道的車輛輪流放行時(shí)間相同且固定,在十字路口,經(jīng)常一個(gè)車道為主干道,車輛較多,放行時(shí)間應(yīng)該長(zhǎng)些;另一車道為副干道,車輛較少,放行時(shí)間應(yīng)該短些。2.沒(méi)有考慮緊急車通過(guò)時(shí),兩車道應(yīng)采取的措施,臂如,消防車執(zhí)行緊急任務(wù)通過(guò)時(shí),兩車道的車都應(yīng)停止,讓緊急車通過(guò)。

本系統(tǒng)是以AT89C51單片機(jī)作為控制系統(tǒng)的核心,模擬定周期交通信號(hào)燈的工作狀態(tài)。并采用PROTEUS進(jìn)行仿真,仿真結(jié)果滿足預(yù)期性能要求。

設(shè)計(jì)內(nèi)容和要求:

利用AT89C51單片機(jī)設(shè)計(jì)一十字路口交通燈控制系統(tǒng)。

1:系統(tǒng)由單片機(jī)系統(tǒng)、數(shù)碼管顯示、交通燈演示系統(tǒng)組成。2:具有人行道、左轉(zhuǎn)、右轉(zhuǎn),以及基本的交通燈的功能。3:具有數(shù)碼管倒計(jì)時(shí)功能。

4:要求甲乙車道的車輛交替運(yùn)行,每次通行為60秒。為綠燈的車道先顯示40秒的直行,再顯示20秒的左行。

5:要求黃燈先亮四秒,才能變換車道,黃燈亮?xí)r要求閃亮。

硬件設(shè)計(jì)

控制流程分析:

(1)從十字路口交通燈示意圖1分析可知:東西、南北方向信號(hào)燈控制是中心對(duì)稱的,即無(wú)論是主干道還是支干道兩側(cè)系統(tǒng)對(duì)同方向的信號(hào)燈控制是同步的。

(2)從示意圖分析可知,人行道各個(gè)方向,系統(tǒng)對(duì)兩側(cè)的信號(hào)燈的控制也是同步的,且人行道的紅綠燈變化和行車道的紅綠燈變化應(yīng)該是一致的。

(3)通過(guò)上面的分析,可以采用單片機(jī)的p0-p3口及r0到r7寄存器配合來(lái)實(shí)現(xiàn)控制發(fā)光二極管燈和數(shù)碼管。

系統(tǒng)的硬件設(shè)計(jì)

本系統(tǒng)選用通過(guò)P0到p3口 用做輸出顯示控制口。P0口用作輸出南北方向led數(shù)碼管字符編碼,P1口用作輸出東西方向led數(shù)碼管字符編碼。P2 口用于輸出東西、南北方面LED數(shù)碼管的位選信號(hào),以及各個(gè)人行道發(fā)光二極管的控制信號(hào)的輸出。P3口用于輸出東西、南北方向信號(hào)燈控制信號(hào)。

LED數(shù)碼管采用動(dòng)態(tài)顯示方式實(shí)現(xiàn)倒計(jì)時(shí)讀秒,并且本系統(tǒng)的了led采用的是LED的共陽(yáng)極接法,共陽(yáng)極接法如圖2所示:

共陽(yáng)極7段LED顯示字型編碼表(表一):

LED動(dòng)態(tài)顯示,在多位LED顯示時(shí),為了簡(jiǎn)化電路,降低成本,將段選位并聯(lián)在一起,由一個(gè)八位的I/O口控制,而位選由另一個(gè)口控制,段選碼、位選碼每次送入后演示1ms,而人的視覺(jué)暫留時(shí)間為0.1s,所以在人看來(lái)數(shù)碼管一直亮著,從而在應(yīng)用中通過(guò)動(dòng)態(tài)掃描的方法顯示。

交通燈的正常顯示

交通燈系統(tǒng)的工作狀態(tài):

上電后,南北方向數(shù)碼管顯示40,東西方向數(shù)碼管顯示60,南北方向的直行綠燈亮,車輛可以直行可以右行,人行紅燈亮行人不能通過(guò);東西方向紅燈亮車輛不能通行,人行綠燈亮人可以通行。當(dāng)南北數(shù)碼管顯示為4時(shí),直行綠燈熄滅,黃燈閃爍4秒,然后南北數(shù)碼管顯示20,左轉(zhuǎn)綠燈亮車輛可以左行,人行燈和東西方向燈同上一狀態(tài),當(dāng)數(shù)碼管減到四時(shí)南北黃燈閃爍4秒,然后紅燈亮,數(shù)碼管顯示60,南北車輛禁止通行,人行綠燈亮;南北數(shù)碼管顯示60的同時(shí)東西數(shù)碼管顯示40,直行綠燈亮,車輛可以直行可以右行,人行紅燈亮,當(dāng)東西數(shù)碼管顯示為4時(shí),直行綠燈熄滅,黃燈閃爍4秒,然后東西數(shù)碼管顯示20,左轉(zhuǎn)綠燈亮車輛可以左行,人行燈和南北方向燈同上一狀態(tài),當(dāng)數(shù)碼管減到4時(shí)東西黃燈閃爍4秒,然后紅燈亮,東西數(shù)碼管顯示60,南北顯示40,隨后依次循環(huán)……

交通燈原理圖:

軟件設(shè)計(jì):

根據(jù)設(shè)計(jì)要求有匯編語(yǔ)言編寫的交通燈源程序如下: ORG 0000H;主函數(shù)地址 LJMP MAIN ORG 000BH;中斷定時(shí)器0地址 LJMP INTERPUT ORG 0030H;表的首地址 LJMP TABLE TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H MAIN: MOV P2, #00H;給P2口賦初值,讓數(shù)碼管剛開(kāi)始都不亮 MOV R2, #60;給R2賦60,使東西的數(shù)碼管顯示初值為60 MOV R3, #40;給R3賦40,使南北的數(shù)碼管顯示初值為40 MOV P3, #0;使人形道的燈初始都不亮 MOV R5, #0;給R5,R6賦初值0 MOV R6, #0 MOV TMOD, #01H;定時(shí)器0工作方式1 MOV TH0, #79;給定時(shí)器賦初值 MOV TL0, #0AEH SETB EA

;允許總中斷 SETB ET0

;開(kāi)啟定時(shí)器0中斷 SETB

TR0

;開(kāi)啟定時(shí)器計(jì)時(shí)

L2: LCALL DISPLAY1

;顯示東西數(shù)碼管 LCALL DISPLAY2

;顯示南北數(shù)碼管 LCALL CHOOSE1

;調(diào)用東西判斷函數(shù) LCALL CHOOSE2;調(diào)用南北判斷函數(shù) SJMP

L2;一直循環(huán)

INTERPUT: MOV

TH0, #22H;定時(shí)器中斷里重現(xiàn)給定時(shí)器0賦初值 MOV

TL0, #0D8H MOV

A,R4 INC

R4

;定時(shí)器中斷一次50MS,中斷一次R4+1 CJNE

A, #20,L3;判斷是不是加到20了,即定時(shí)器定時(shí)1S MOV R4, #0;R4加到20,則清0 DEC R3;要是定時(shí)1S到了,則把R2,和R3的值都減1 DEC R2 L3: RETI

;中斷退出 CHOOSE1:

;東西判斷函數(shù) MOV A, R5;熱是一個(gè)標(biāo)志 CJNE A, #1, K1;判斷R5是不是等于1,不等于1跳到K1 MOV A, R2

;要是標(biāo)志位等于1 CJNE A, #4, K5;而且R2等于4,則開(kāi)啟黃燈,關(guān)閉車道綠燈 SETB P3.2 CLR P3.3 K1: K7: K2:

K6: SJMP K3 K5: JNC K3;要是R2小于4則閃爍綠燈 CPL P3.2 MOV A, R2 CJNE A, #0, K3;判斷R2是不是等于0,INC R5

;等于0則讓標(biāo)志位+1 CLR P3.2;清黃燈,開(kāi)車道的左行綠燈,置人行道紅燈 SETB P3.0 MOV R2, #20 SETB P2.6 CLR P2.7 SJMP K3 JNC K2

;CJNE這個(gè)指令比較好R5和1的值,要是R5大于1,則C=0,反之C=1,這里判斷C是否等于0,既判斷是否小于1,小于1執(zhí)行下行,大于1則跳轉(zhuǎn)K2 MOV A, R2 CJNE A, #60, K7;初值狀態(tài)R2是60,判斷R2是不是60,60的話開(kāi)車道的紅燈,開(kāi)人行道的綠燈 SETB P3.1 SETB P2.7 CLR P2.6 SJMP K3

;退出

CJNE A, #0, K3;要是R2不等于60,判斷R2是不是等于0,等于0則把標(biāo)志位R5加1,讓車道綠燈亮,紅燈滅,人行道紅燈亮 INC R5 CLR P3.1 SETB P3.3 MOV R2, #40;再給數(shù)碼管賦初值 CLR

P2.7 SETB P2.6 SJMP K3

;退出 MOV A, R2;標(biāo)志位R5大于1則跳到這里 CJNE A, #4, K6;判斷R2和4的值,等于4則開(kāi)啟黃燈,關(guān)閉車道的綠燈,要是不等于是,則跳到K6 CLR P3.0 SETB P3.2 SJMP K3 JNC K3;判斷R2是不是小于4,小于4則閃爍黃燈,大于4則直接退出 CPL P3.2;取反 MOV A, R3 CJNE A, #0, K3;判斷R2是不是等于0 MOV R5, #0;等于0則清標(biāo)志位,因?yàn)槲覀冎辉O(shè)置了0.1.2這三個(gè)狀態(tài),到2了以后要清0,讓他重新開(kāi)始循環(huán)

MOV R2, #60;給R2賦初值,開(kāi)車道紅燈,關(guān)車道左行綠燈,開(kāi)人行道綠燈,關(guān)人行道紅燈 SETB P3.1 CLR P3.2 SETB P2.7 CLR P2.6 K3: RET CHOOSE2:

;南、北判斷函數(shù),程序和東、西判斷一致,這里就不寫注釋了

MOV A, R6 CJNE A, #1, H2 MOV CJNE SETB CLR SJMP H6: JNC CPL CJNE INC CLR SETB MOV SETB CLR SJMP H2: JNC MOV CJNE SETB SETB CLR SJMP H7: MOV CJNE SETB CLR

SJMP H5: JNC CPL CJNE SETB CLR

INC MOV SETB A, R3 A, #4, H6 P3.6 P3.4 H3 H3 P3.6 A, #0, H3 R6 P3.6 P3.5 R3, #60 P2.4 P2.5 H3 H4 A, R3 A, #40,H7 P3.7 P2.5 P2.4 H3 A, R3 A, #4, H5 P3.6 P3.7 H3 H3 P3.6 A, #0, H3 P3.4 P3.6 R6 R3, #20 P2.5 CLR P2.4 SJMP H3 H4: MOV A, R3 CJNE A, #0, H3 SETB P3.7 CLR P3.5 MOV R6, #0 MOV R3, #40 SETB P2.5 CLR P2.4 H3: RET DISPLAY1:

;顯示東西數(shù)碼管(動(dòng)態(tài)顯示)

MOV A, R2;將R2放到A中 MOV B, #10 DIV AB

;將2位的10進(jìn)制數(shù)的十位和個(gè)位分開(kāi) MOV DPTR, #TABLE;取TABLE表的首地址給DPTR MOVC A, @A+DPTR;把表的第N個(gè)數(shù)據(jù)給A MOV P1, A

;把數(shù)據(jù)送到數(shù)碼管中 SETB P2.0

;顯示數(shù)碼管 LCALL DELAY

;延時(shí) CLR P2.0

;把數(shù)碼管暗掉 MOV A ,B

;把個(gè)位給A MOVC A, @A+DPTR;把表的個(gè)位個(gè)數(shù)給A MOV P1, A

;把數(shù)據(jù)送到數(shù)碼管中 SETB

P2.1

;顯示數(shù)據(jù) LCALL DELAY

;延時(shí) CLR P2.1

;讓數(shù)碼管暗掉 RET DISPLAY2:

;顯示南北數(shù)碼管(顯示函數(shù)和上面一樣,這里注釋就不寫了)

MOV A, R3 MOV B, #10 DIV AB MOV DPTR, #TABLE MOVC A, @A+DPTR MOV P0, A SETB P2.2 LCALL DELAY CLR P2.2 MOV A, B MOVC A, @A+DPTR MOV P0, A SETB P2.3 LCALL DELAY CLR P2.3 RET DELAY:

MOV R0, L1: MOV R1, DJNZ R1, DJNZ R0, RET END

電路的仿真:;延時(shí)函數(shù)

#20 #25 $ L1

第二篇:基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)

P10P11P12P13設(shè)置鍵加鍵減鍵模式鍵P00P01P02P03P04P05P06U18765P134P123P112P101P1.7P1.6P1.5P1.4P1.3P1.2P1.1/T2EXP1.0/T2P3.7/RDP3.6/WRP3.5/T1P3.4/T0P3.3/INT1P3.2/INT0P3.1/TXDP3.0/RXDP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8P0.7/AD7P0.6/AD6P0.5/AD5P0.4/AD4P0.3/AD3P0.2/AD2P0.1/AD1P0.0/AD0******23222***373839P37P36P35P34P22P23P24D7D4P27P26P25P24P23P22P21P20P07P06P05P04P03P02P01P0098765432110KP27LED-REDD92H1HD1D6P25LED-YELLOWD11P26LED-YELLOWLED-GREENLED-REDC31uF313029EAALEPSEND12P26R0100RP1P25LED-GREENLED-GREENC120PF9RSTD5P00P01P02P03P04P05P06LED-YELLOWD3P27LED-REDX1C220PF12M19LED-REDLED-GREENLED-YELLOWP24P23P22XTAL1AT89C51Q1PNPQ2PNPQ3PNPQ4PNPP34P35657U2SCKSDAWP24C02CA0A1A2123R151R1HR251R2HR351R3HR451R4HP36P37P21P00P01P02P03P04P05P0651R51R51R51R2H1HR19R20R21P20R223H4HXTAL2P00P01P02P03P04P05P0618D2D10D83H4H

#include

//調(diào)用單片機(jī)頭文件

#define uchar unsigned char

//宏定義“uchar”代替“unsigned char”。#define uint unsigned int

//宏定義“uint”用來(lái)定義無(wú)符號(hào)整型數(shù)。

//數(shù)碼管段選定義 0

7

uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, //

A B C

D

E

F 不顯示

0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};//斷碼

uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};uchar smg_i = 4;

//顯示數(shù)碼管的個(gè)位數(shù)

//數(shù)碼管位選定義

sbit smg_we1 = P2^0;

//數(shù)碼管位選定義 sbit smg_we2 = P2^1;sbit smg_we3 = P3^6;sbit smg_we4 = P3^7;

char dx_s = 0;//東西

南北 倒計(jì)時(shí)變量 sbit dx_red

= P2^4;

//東西紅燈 sbit dx_green = P2^3;//東西綠燈 sbit dx_yellow = P2^2;//東西黃燈

sbit nb_red

= P2^7;//南北紅燈 sbit nb_green = P2^6;//南北綠燈 sbit nb_yellow = P2^5;//南北黃燈

sbit scl=P3^4;//寫24C02時(shí)鐘

sbit sda=P3^5;//寫24C02數(shù)據(jù)

uchar flag_jtd_mode;//交通燈的模式 根據(jù)時(shí)間

bit flag_1s = 0;bit flag_500ms;bit flag_dx_nb;uchar flag_5m_value;uchar i;//東西南北模式

uchar flag_alarm;//模式

uchar dx_time = 30,nb_time = 20;

//東西、南北的時(shí)間 uchar flag_jdgz;

//交通管制

//---延時(shí)函數(shù)---// void delay(){;;}

void start()//起始信號(hào) { sda=1;delay();scl=1;delay();sda=0;delay();}

void stop()//停止信號(hào) { sda=0;delay();scl=1;delay();sda=1;delay();}

void respons()//應(yīng)答信號(hào) { uchar i;scl=1;delay();while((sda==1)&&(i<250))i++;scl=0;delay();}

void init()//初始狀態(tài),24C02的數(shù)據(jù)和時(shí)鐘線都拉高 { sda=1;delay();scl=1;delay();}

void writebyte(uchar date)//寫24C02 { uchar i,temp;temp=date;for(i=0;i<8;i++){

temp=temp<<1;

scl=0;

delay();

sda=CY;

delay();

scl=1;

delay();} scl=0;delay();sda=1;delay();} uchar readbyte()//讀24C02 { uchar i,k;scl=0;delay();sda=1;delay();

for(i=0;i<8;i++){

scl=1;

delay();

k=(k<<1)|sda;

scl=0;

delay();} return k;}

void writeadd(uchar address,uchar date)//寫24C02 {

start();//起始信號(hào)

writebyte(0xa0);//寫入器件地址寫 respons();

writebyte(address);//寫入存儲(chǔ)單元地址 respons();

writebyte(date);//寫入數(shù)據(jù) respons();

stop();//停止信號(hào) }

uchar readadd(uchar address)//讀24C02 { uchar date;

start();//起始信號(hào)

writebyte(0xa0);//寫入器件地址寫

respons();

writebyte(address);//寫入讀單元地址

respons();

}

start();//起始信號(hào)

writebyte(0xa1);//讀命令 respons();date=readbyte();//讀數(shù)據(jù) stop();//停止信號(hào) return date;/***********************數(shù)碼位選函數(shù)*****************************/ void smg_we_switch(uchar i){ switch(i){

case 0: smg_we1 = 0;smg_we2 = 1;smg_we3 = 1;smg_we4 = 1;break;

case 1: smg_we1 = 1;smg_we2 = 0;smg_we3 = 1;smg_we4 = 1;break;

case 2: smg_we1 = 1;smg_we2 = 1;smg_we3 = 0;smg_we4 = 1;break;

case 3: smg_we1 = 1;smg_we2 = 1;smg_we3 = 1;smg_we4 = 0;break;} }

/******************************************************************** * 名稱 : delay_1ms()* 功能 : 延時(shí)1ms函數(shù) * 輸入 : q * 輸出 : 無(wú)

***********************************************************************/ void delay_1ms(uint q){ uint i,j;for(i=0;i

for(j=0;j<110;j++);}

/******************************************************************** * 名稱 : display()* 功能 : 數(shù)碼管顯示 * 輸入 : 無(wú) * 輸出 : 無(wú) ***********************************************************************/ void display(){ uchar i;for(i=0;i

P0 = 0xff;

//消隱

smg_we_switch(i);

//位選

P0 = dis_smg[i];

//段選

delay_1ms(3);} }

/*********************定時(shí)器0、定時(shí)器1初始化******************/ void time0_init()

{ EA = 1;

//開(kāi)總中斷

TMOD = 0X11;//定時(shí)器0、定時(shí)器1工作方式1 ET0 = 1;

//開(kāi)定時(shí)器0中斷

TR0 = 1;

//允許定時(shí)器0定時(shí)

}

/*********************交通燈處理函數(shù)*********************************/ void jiaotongdeng_dis(){

char dx,nb;

if(flag_dx_nb == 0){ dx=dx_s;nb=dx_s-5;if(nb<=0)nb=dx_s;}

if(flag_dx_nb == 1){ dx=dx_s-5;nb=dx_s;if(dx<=0)dx=dx_s;}

if(flag_1s == 1){ dx_s--;flag_1s = 0;

if(dx_s == 0){

if(flag_dx_nb == 1)

dx_s = nb_time;

//南北時(shí)間

else

dx_s = dx_time;

//東西時(shí)間

flag_dx_nb = ~flag_dx_nb;

}

}

dis_smg[0] = smg_du[dx % 10];dis_smg[1] = smg_du[dx / 10];dis_smg[2] = smg_du[nb % 10];dis_smg[3] = smg_du[nb / 10];

/***********************南北時(shí)間*********************************/

if(flag_dx_nb == 0)

{

if(dx_s > 5)

{

dx_red

= 1;//滅

dx_green = 0;//亮

dx_yellow = 1;//滅

nb_red

= 0;//亮

nb_green = 1;//滅

nb_yellow = 1;//滅

flag_5m_value = 0;

}else if(dx_s <= 5)

//當(dāng)小于5秒時(shí)

黃燈要閃了

{

dx_red

= 1;

//滅

}

} dx_green = 1;

//滅 nb_red

= 0;

//亮 nb_green = 1;

//滅 nb_yellow = 1;

//滅 if(flag_500ms == 0){ dx_yellow = 0;//亮

} else { } dx_yellow = 1;//滅

/***********************東西時(shí)間*********************************/

if(flag_dx_nb == 1)

{

if(dx_s > 5)

{

dx_red

= 0;

//亮

dx_green = 1;

//滅

dx_yellow = 1;

//滅

nb_red

= 1;

//滅

nb_green = 0;

//亮

nb_yellow = 1;

//滅

flag_5m_value = 0;

}else if(dx_s <= 5)

//當(dāng)小于5秒時(shí)

黃燈要閃了

{

dx_red

= 0;

//滅

dx_green = 1;

//滅

dx_yellow = 1;

//滅

nb_red

= 1;

//滅

nb_green = 1;

//滅

if(flag_500ms == 0)

//黃燈閃爍

{

}

}

} nb_yellow = 0;//亮 } else { nb_yellow = 1;//滅 }

/********************獨(dú)立按鍵程序*****************/ uchar key_can;//按鍵值

void key()//獨(dú)立按鍵程序 { static uchar key_new;key_can = 20;

//按鍵值還原

P1 |= 0x1f;

if((P1 & 0x1f)!= 0x1f)//按鍵按下 { delay_1ms(1);

//按鍵消抖動(dòng)

if(((P1 & 0x1f)!= 0x1f)&&(key_new == 1))

{

key_new = 0;switch(P1 & 0x1f){

//確認(rèn)是按鍵按下

case 0x1e: key_can = 1;break;//得到按鍵值

case 0x1d: key_can = 2;break;//得到按鍵值

case 0x1b: key_can = 3;break;//得到按鍵值

case 0x17: key_can = 4;break;//得到按鍵值

}

}

} else

key_new = 1;}

uchar menu_1,flag_s;

/********************設(shè)置函數(shù)*****************/ void key_with(){ if(key_can == 4)

//交通管制按鍵

{

flag_jdgz ++;

if(flag_jdgz > 5)

flag_jdgz = 0;

if(flag_jdgz == 1)// 全部亮紅燈

{

dx_red

= 0;//亮

dx_green = 1;//滅

dx_yellow = 1;//滅

} nb_red

= 0;//亮

nb_green = 1;//滅 nb_yellow = 1;//滅

if(flag_jdgz == 2)// 東西紅燈

南北綠燈

{

dx_red

= 0;//亮

dx_green = 1;//滅

dx_yellow = 1;//滅

nb_red

= 1;//滅

nb_green = 0;//亮

nb_yellow = 1;//滅

} if(flag_jdgz == 3)// 南北紅燈 {

dx_red

= 1;//滅

dx_green = 0;//亮

dx_yellow = 1;//滅

nb_red

= 0;//亮

nb_green = 1;//滅

nb_yellow = 1;//滅

} if(flag_jdgz == 4)// 南北綠燈 {

dx_red

= 1;//滅

dx_green = 0;//亮

dx_yellow = 1;//滅

nb_red

= 1;//滅

nb_green = 0;//亮

nb_yellow = 1;//滅

} if(flag_jdgz == 5)// 南北黃燈 {

dx_red

= 1;//滅

dx_green = 1;//滅

dx_yellow = 0;//亮

nb_red

= 1;//滅

nb_green = 1;//滅

nb_yellow = 0;//亮

} } if(key_can == 1)

//設(shè)置鍵 { menu_1 ++;

東西綠燈 東西綠燈

東西黃燈

if(menu_1 >= 3){

menu_1 = 0;} } if(menu_1 == 1)

//設(shè)置東西的時(shí)間 { if(key_can == 2){

dx_time ++;//加1

if(dx_time > 99)

dx_time = 99;} if(key_can == 3){

dx_time--;//減1

if(dx_time <= 10)

dx_time = 10;} dis_smg[0] = smg_du[10];//顯示為A dis_smg[1] = smg_du[10];//顯示為A dis_smg[2] = smg_du[dx_time % 10];dis_smg[3] = smg_du[dx_time / 10];

writeadd(4,dx_time);//保存數(shù)據(jù)

} if(menu_1 == 2)

//設(shè)置南北的時(shí)間 { if(key_can == 2){

nb_time ++;//加1

if(nb_time > 99)

nb_time = 99;} if(key_can == 3){

nb_time--;//減1

//顯示東西設(shè)置的時(shí)候

if(nb_time <= 10)

nb_time = 10;} dis_smg[0] = smg_du[11];//顯示為B dis_smg[1] = smg_du[11];//顯示為B dis_smg[2] = smg_du[nb_time % 10];dis_smg[3] = smg_du[nb_time / 10];

//顯示東西設(shè)置的時(shí)候

writeadd(2,nb_time);//保存數(shù)據(jù)

} }

/******************************************************************** * 名稱 : main()* 功能 : 實(shí)現(xiàn)燈的閃爍 * 輸入 : 無(wú) * 輸出 : 無(wú)

***********************************************************************/ void main(){ time0_init();

init();//24C02初始化

nb_time=readadd(2);//讀取地址2處一個(gè)字節(jié)給

dx_time=readadd(4);//讀取地址4處一個(gè)字節(jié)給

if(nb_time>99)nb_time=20;

if(dx_time>99)dx_time=30;

dx_s = nb_time;

//東西時(shí)間

while(1){

key();

if(key_can < 20)

key_with();

if((menu_1 == 0)&&(flag_jdgz == 0))

} }

jiaotongdeng_dis();display();/*********************定時(shí)器0中斷服務(wù)程序************************/ void time0_int()interrupt 1

{

} static uchar value;

//定時(shí)10ms中斷一次 TH0 = 0x3c;TL0 = 0xb0;

//50ms value ++;flag_5m_value++;if(flag_5m_value % 10 == 0)flag_500ms = ~flag_500ms;if(value >= 20){ value = 0;flag_1s = 1;}

第三篇:基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)

基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)

摘要:十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機(jī)ATSC51和可編程并行I/O接口芯片8255A為中心器件來(lái)設(shè)計(jì)交通燈控制囂,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過(guò)8051芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮。倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示;車輛闖紅燈報(bào)警;綠燈時(shí)間可檢測(cè)車流量并可通過(guò)雙位數(shù)碼管顯示。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。

關(guān)鍵詞:?jiǎn)纹瑱C(jī);交通燈

單片機(jī)技術(shù)的發(fā)展對(duì)社會(huì)進(jìn)步產(chǎn)生了巨大的影響。今天,單片機(jī)及其應(yīng)用技術(shù)的發(fā)展速度、深度及其廣度,在國(guó)防、科學(xué)研究、政治經(jīng)濟(jì)、教育文化等方面幾乎無(wú)所不及。將之用于交通燈控制系統(tǒng)設(shè)計(jì),對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。

1、單片機(jī)涵義

一臺(tái)能夠工作的計(jì)算機(jī)要有這樣幾個(gè)部份構(gòu)成:CPU(進(jìn)行運(yùn)算、控制)、RAM(數(shù)據(jù)存儲(chǔ))、ROM(程序存儲(chǔ))、輸入,輸出設(shè)備(例如:串行口、并行輸出口等)。在個(gè)人計(jì)算機(jī)上這些部份被分成若干塊芯片,安裝一個(gè)稱之為主板的印刷線路板上。而在單片機(jī)中,這些部份,全部被做到一塊集成電路芯片中了,所以就際=缸單片(單芯片)機(jī),單片機(jī)即微控制器(Microniroller μC)有一些單片機(jī)中除了上述部份外,還集成了其它部份如AID,DIA,定時(shí)計(jì)數(shù)器,RTC,各種串行接口等。

2、MSC-51芯片簡(jiǎn)介

2.1 MSC-51結(jié)構(gòu)

8051是MCS-51系列單片機(jī)的典型產(chǎn)品,8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí),計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線。

2.2 8255芯片簡(jiǎn)介

8255可編程并行接口芯片有三個(gè)輸入輸出端口,即A口、B口和c口,對(duì)應(yīng)于引腳PAT—PA0、PB7-PB0和PC7-PC0。其內(nèi)部還有一個(gè)控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。c口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個(gè)端口包含一個(gè)4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信號(hào)輸入。

8255有兩種控制命令字;一個(gè)是方式選擇控制字;另一個(gè)是c口按位置位/復(fù)位控制字。

2.3 74LS373簡(jiǎn)介

SN74LS373。SN74LS374常用的8d鎖存器。常用作地址鎖存和I/0輸出,可以用74he373代換,74H373是高速CMOS器件,功能與74LS373相同,兩者可以互換。74LS373內(nèi)有8個(gè)相同的D型(三態(tài)同相)鎖存器,由兩個(gè)控制端(11腳c或EN;1腳OUT、CONT、OE)控制。當(dāng)OE接地時(shí),若G為高電平,741Ls373接收由PPU輸出的地址信號(hào);如果G為低電平,則將地址信號(hào)鎖存。

3、系統(tǒng)硬件

3.1 交通管理的方案論證 東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行。綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩千道的公共停車時(shí)問(wèn)。設(shè)東西道比南北道的車流量。

3.2 系統(tǒng)硬件設(shè)計(jì)

選用設(shè)備8031單片機(jī)一片選用設(shè)備:8031彈片機(jī)一片,8255并行通用接口芯片一片,74LS07兩片,MAX692‘看門狗’一片,共陰極的七段數(shù)碼管兩個(gè)雙向晶閘管若干,7805三端穩(wěn)壓電源一個(gè),紅、黃、綠交通燈各兩個(gè)。開(kāi)關(guān)鍵盤、連線若干。

4、控制器的軟件設(shè)計(jì)

4.1 每秒鐘的設(shè)定

延時(shí)方法可以有兩種:一種是利用NCS-51內(nèi)部定時(shí)器才生溢出中斷來(lái)確定1秒的時(shí)間,另一種是采用軟延時(shí)的方法。

4.2 計(jì)數(shù)器硬件延時(shí)

4.2.1 初值計(jì)算

定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值設(shè)定為c和計(jì)數(shù)初值設(shè)定為TC。

4.2.2 1秒的方法

我們采用在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使TO定時(shí)5O毫秒,這樣每當(dāng)TO到50毫秒時(shí)cPu就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,cPu先使軟件計(jì)數(shù)器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時(shí)間顯示程序。

4.3 計(jì)數(shù)器軟件延時(shí)

MCS-51的工作頻率為2-12MHZ,我們選用的8031單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定1秒的時(shí)間。

4.4 時(shí)間及信號(hào)燈的顯示

4.4.1 8051并行口的擴(kuò)展

8051雖然有4個(gè)8位I/0端口,但真正能提供借用的只有Pl口。因?yàn)镻2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8031通常需要擴(kuò)展。由于我們用外部輸入設(shè)定紅綠燈倒計(jì)時(shí)初值、數(shù)碼管的輸出顯示、紅綠黃信號(hào)燈的顯示都要用到一個(gè)I/0端口,顯然8031的端口是不夠,需要擴(kuò)展。

擴(kuò)展的方法有兩種:(1)借用外部RAM地址來(lái)擴(kuò)展I/0端口;(2)采用I/0接口新片來(lái)擴(kuò)充。我們用8255并行接口信片來(lái)擴(kuò)展I/0端口。

4.4.2 8255與8051的連接

用8051的PO口的pO.7連接8255的片選信號(hào),我們用8031的地址采用全譯碼方式,當(dāng)pO.7:0時(shí)片選有效,其他無(wú)效,pO.1用于選擇8255端口。

5、結(jié) 論

本系統(tǒng)就是充分利用了8051和8255芯片的I/O引腳。系統(tǒng)統(tǒng)采用MSC-51系列單片機(jī)Intel8051和可編程并行I/0接口芯片8255A為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過(guò)8031芯片的Pl口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過(guò)PA口輸出,顯示時(shí)間直接通過(guò)8255的PC口輸出至雙位數(shù)碼管);車輛闖紅燈報(bào)警;綠燈時(shí)間可檢測(cè)車流量并可通過(guò)雙位數(shù)碼管顯示。

參考文獻(xiàn):

[1]張毅剛,新編MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M]哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2006

[2]王義軍,單片機(jī)原理及應(yīng)用習(xí)題與實(shí)驗(yàn)指導(dǎo)書(shū)[M],北京:中國(guó)電力出版社,2006

[3]陳明熒8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材[M],北京:清華大學(xué)出版社。2004

第四篇:?jiǎn)纹瑱C(jī):交通燈控制系統(tǒng)設(shè)計(jì)

交通燈控制系統(tǒng)設(shè)計(jì)

摘要:本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、LED 顯示、交通燈演示系統(tǒng)組成。系統(tǒng)包括人行道、左轉(zhuǎn)、右轉(zhuǎn)、以及基本的交通燈的功能。系統(tǒng)除基本交通燈功能外,還具有倒計(jì)時(shí)、時(shí)間設(shè)置、緊急情況處理、分時(shí)段調(diào)整信號(hào)燈的點(diǎn)亮?xí)r間以及根據(jù)具體情況手動(dòng)控制等功能。關(guān)鍵詞:AT89S51,交通規(guī)則

一、方案比較、設(shè)計(jì)與論證 1 電源提供方案

為使模塊穩(wěn)定工作,須有可靠電源。我們考慮了兩種電源方案

方案一:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且可能影響電路電平。方案二:采用單片機(jī)控制模塊提供電源。改方案的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。綜上所述,我們選擇第二種方案。2 顯示界面方案

該系統(tǒng)要求完成倒計(jì)時(shí)、狀態(tài)燈等功能。基于上述原因,我們考慮了三種方案: 方案一:完全采用數(shù)碼管顯示。這種方案只顯示有限的符號(hào)和數(shù)碼字苻,無(wú)法勝任題目要求。

方案二:完全采用點(diǎn)陣式LED 顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。

方案三:采用數(shù)碼管與點(diǎn)陣LED 相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用數(shù)碼管與LED燈分別顯示時(shí)間與提示信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。權(quán)衡利弊,第三種方案可互補(bǔ)一二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。3 輸入方案:

題目要求系統(tǒng)能手動(dòng)設(shè)燈亮?xí)r間、緊急情況處理,我們討論了兩種方案: 方案一:采用8155擴(kuò)展I/O 口及鍵盤,顯示等。該方案的優(yōu)點(diǎn)是:

使用靈活可編程,并且有RAM,及計(jì)數(shù)器。若用該方案,可提供較多I/O 口,但操作起來(lái)稍顯復(fù)雜。

方案二: 直接在IO口線上接上按鍵開(kāi)關(guān)。因?yàn)樵O(shè)計(jì)時(shí)精簡(jiǎn)和優(yōu)化了電路,所以剩余的口資源還比較多,我們使用四個(gè)按鍵,分別是K1、K2、K3、K4。由于該系統(tǒng)對(duì)于交通燈及數(shù)碼管的控制,只用單片機(jī)本身的I/O 口就可實(shí)現(xiàn),且本身的計(jì)數(shù)器及RAM已經(jīng)夠用,故選擇方案二。

二、理論分析與計(jì)算

1.交通燈顯示時(shí)序的理論分析與計(jì)算

對(duì)于一個(gè)交通路口來(lái)說(shuō),能在最短的時(shí)間內(nèi)達(dá)到最大的車流量,就算是達(dá)到了最佳的性能,我們稱在單位時(shí)間內(nèi)多能達(dá)到的最大車流為車流量,用公式:車流量= 車流 / 時(shí)間 來(lái)表示。

先設(shè)定一些標(biāo)號(hào)如圖2-1 所示。

說(shuō)明:此圖為直方圖,上邊為北路口燈,右邊為東路口燈,下邊為南路口燈,左邊為西 路口燈。

圖2-2 所示為一種紅綠燈規(guī)則的狀態(tài)圖,分別設(shè)定為S1、S2、S3、S4,交通燈以這四 的狀態(tài)為一個(gè)周期,循環(huán)執(zhí)行(見(jiàn)圖2-3)。

請(qǐng)注意圖2-1b和圖2-1d,它們?cè)谝粋€(gè)時(shí)間段中四個(gè)方向都可以通車,這種狀態(tài)能在

一定的時(shí)間內(nèi)達(dá)到較大的車流量,效率特別高。

依據(jù)上述的車輛行駛的狀態(tài)圖,可以列出各個(gè)路口燈的邏輯表,由于相向的燈的狀態(tài)圖

是一樣的,所以只需寫出相鄰路口的燈的邏輯表;根據(jù)圖2-3 可以看出,相鄰路口的燈它

們的狀態(tài)在相位上相差180°。因此最終只需寫出一組S1、S2、S3、S4的邏輯狀態(tài)表。

如表2-1 所示。

表中的“×”代表是紅燈亮(也代表邏輯上的0),“√”是代表綠燈亮(也代表邏輯上 的1),依上表,就可以向相應(yīng)的端口送邏輯值。2.交通燈顯示時(shí)間的理論分析與計(jì)算

東西和南北方向的放行時(shí)間的長(zhǎng)短是依據(jù)路口的各個(gè)方向平時(shí)的車流量來(lái)設(shè)定,并且

S1、S2、S3、S4各個(gè)狀態(tài)保持的時(shí)間之有嚴(yán)格的對(duì)應(yīng)關(guān)系,其公式如下所示。T-S1+T-S2=T-S3 T-S2=T-S4 T-S1=T-S3 我們可以依據(jù)上述的標(biāo)準(zhǔn)來(lái)改變車輛的放行時(shí)間。按照一般的規(guī)則,一個(gè)十字路口可分

為主干道和次干道,主干道的放行時(shí)間大于次干道的放行時(shí)間,我們?cè)O(shè)定值時(shí)也應(yīng)以此為參 考。

三、電路圖及設(shè)計(jì)文件 1.燈控制電路設(shè)計(jì)

由于32個(gè)LED 來(lái)實(shí)現(xiàn)紅綠燈狀態(tài),若直接接在單片機(jī)的口線,路口倒計(jì)時(shí)的顯示就不

能實(shí)現(xiàn),所以本次設(shè)計(jì)中采用一種新型的電路如圖3-1 所示。

圖中74LS04的作用是倒相和驅(qū)動(dòng),它輸出的電流大約48mA,實(shí)際測(cè)試發(fā)現(xiàn)足以滿足要

求,而且發(fā)光管也能達(dá)到足夠的亮度。

觀察圖可以看出:兩組發(fā)光管(一組紅、一組綠)由于反相器的作用,其邏輯狀態(tài)恰恰 相反。

圖中和電阻串聯(lián)的二極管的作用是為了分壓,防止因上下兩組發(fā)光管分壓不同導(dǎo)致邏輯 的錯(cuò)誤。

共四組和上述相同的電路分別代表東西南北四個(gè)方向的紅綠燈,使用兩片74LS04 作為 驅(qū)動(dòng)。

2.倒計(jì)時(shí)顯示電路設(shè)計(jì)

前面已經(jīng)分析過(guò)相向的燈的狀態(tài)和倒計(jì)時(shí)都是相同的,所以為了節(jié)省,采用兩組四個(gè)數(shù)碼管

作為倒計(jì)時(shí)的顯示;同時(shí)為了節(jié)省口資源,采用串口顯示的方式驅(qū)動(dòng)數(shù)碼管。見(jiàn)圖3-2 所 示。

四、程序設(shè)計(jì)思路與流程圖 1.主程序流程圖

主程序中主要是一個(gè)死循環(huán),不停的循環(huán)四個(gè)狀態(tài),如圖4-1 所示。

2.按鍵子程序流程圖

它包含倒計(jì)時(shí)調(diào)整和緊急狀態(tài)兩個(gè)狀態(tài)。

主程序中放了一個(gè)按鍵的判斷指令,當(dāng)有按鍵按下的時(shí)候,程序就自動(dòng)的跳轉(zhuǎn)到按鍵子

程序處理。當(dāng)檢測(cè)到K2鍵按下的時(shí)候就自動(dòng)返回到主程序。當(dāng)出現(xiàn)緊急的情況的時(shí)候,按下K3或者K4 就切換到緊急狀態(tài),當(dāng)緊急事件處理完畢 的時(shí)候,按下K2,就可以返回正常狀態(tài)。

五、測(cè)試、數(shù)據(jù)及結(jié)果分析 1.狀態(tài)燈顯示測(cè)試

當(dāng)電路連接完畢后,將寫好的測(cè)試程序刷寫到芯片內(nèi),K1 和K2分別給端口送高電平和

低電平,通電即可檢測(cè)。2.?dāng)?shù)碼管的測(cè)試

將串口的和電路板上的接口連接,將寫好的測(cè)試程序刷寫到芯片內(nèi),開(kāi)電源即可測(cè)試。

3.整體電路測(cè)試

系統(tǒng)上電,刷寫好程序即可開(kāi)始測(cè)試,觀測(cè)一個(gè)周期(共計(jì)S1~S4四個(gè)狀態(tài),默認(rèn)140 秒)燈的顯示狀態(tài)是否正常,同時(shí)觀察倒計(jì)的計(jì)數(shù)是否正常。

六、總結(jié)

由于使用的是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。

但是在我們?cè)O(shè)計(jì)和調(diào)試的過(guò)程中,也發(fā)現(xiàn)了一些問(wèn)題,譬如紅燈和綠燈的切換還不夠迅

速,紅綠燈規(guī)則不效率還不是很高等等,這需要在實(shí)踐中進(jìn)一步完善。附錄 系統(tǒng)總體電路圖

1.滿足南北向紅綠燈亮,東西向紅燈亮,占25秒——南北向黃燈亮,東西向紅燈亮,占5秒——南北向紅燈亮,東西向綠燈亮,占25秒——南北向紅燈亮,東西向黃燈亮,占5秒。如此循環(huán),周而復(fù)始。2.十字路口要有數(shù)字顯示,提示行人把握時(shí)間:當(dāng)某方向綠燈亮?xí)r,置顯示器為24,然后以每秒減1計(jì)數(shù)方式工作,直到減為0,綠燈滅,黃燈亮。黃燈滅,紅燈亮?xí)r,再次置顯示器為29,并開(kāi)始減計(jì)數(shù),直到為0,十字路口紅綠燈交換,完成一次工作循環(huán)。

3.可手動(dòng)調(diào)整和自動(dòng)調(diào)整,夜間為黃燈閃耀。下面是一個(gè)單片機(jī)交通燈程序 /*

****************************************************************************************** * *

* Keil C 89S51 交通信號(hào)控制程序 * *(C)版權(quán)所有 Dai_Weis@hotmail.com * * *

****************************************************************************************** */

#include “reg51.h” #define UINT unsigned int #define ULONG unsigned long #define UCHAR unsigned char /*

信號(hào)燈變量

南北方向綠燈

sbit n_bike_g = P1^0;//自行車

sbit n_right_g = P1^1;//右轉(zhuǎn)

sbit n_up_g = P1^2;//直行

sbit n_left_g = P1^3;//左轉(zhuǎn) 調(diào)頭

南北方向紅燈

sbit n_bike_r = P1^4;//自行車

sbit n_right_r = P1^5;//右轉(zhuǎn)

sbit n_up_r = P1^6;//直行

sbit n_left_r = P1^7;//左轉(zhuǎn) 調(diào)頭 南北方向黃燈

sbit n_bike_y = P3^0;//自行車

sbit n_right_y = P3^1;//右轉(zhuǎn)

sbit n_up_y = P3^2;//直行

sbit n_left_y = P3^3;//左轉(zhuǎn) 調(diào)頭

東西方向綠燈

sbit e_bike_g = P2^0;//自行車

sbit e_right_g = P2^1;//右轉(zhuǎn)

sbit e_up_g = P2^2;//直行

東西方向紅燈

sbit e_bike_r = P2^4;//自行車

sbit e_right_r = P2^5;//右轉(zhuǎn)

sbit e_up_r = P2^6;//直行

東西方向黃燈

sbit e_bike_y = P3^4;//自行車

sbit e_right_y = P3^5;//右轉(zhuǎn)

sbit e_up_y = P3^6;//直行

*/ //延時(shí)

void delay(UINT t, UINT s){ while(t){ UINT i;

for(i = 0;i < s;i++){ } t--;} }

//信號(hào)燈狀態(tài)

void time_x(UCHAR P_P1, UCHAR P_P2, UCHAR P_P3){

P1 = P_P1;P2 = P_P2;P3 = P_P3;delay(150, 65535);}

void time_s(UCHAR P_P1, UCHAR P_P2, UCHAR P_P3, UCHAR P_P11, UCHAR P_P22){ UINT i;

for(i = 0;i < 3;i ++){

P1 = P_P1;P2 = P_P2;delay(5, 65535);P1 = P_P11;P2 = P_P22;delay(5, 65535);}

P1 = P_P1;P2 = P_P2;P3 = P_P3;delay(10, 65535);} //主程序

void main(){

P1 = P2 = P3 = 0x0;while(1){

time_x(0xA5, 0x38, 0x0);

time_s(0xA4, 0x38, 0x1, 0xA5, 0x38);time_x(0x96, 0x52, 0x0);

time_s(0x92, 0x52, 0x4, 0x96, 0x52);time_x(0x5A, 0x52, 0x0);

time_s(0x50, 0x50, 0x2A, 0x5A, 0x52);time_x(0xF0, 0x25, 0x0);

time_s(0xF0, 0x24, 0x20, 0xF0, 0x25);time_x(0xD2, 0x16, 0x0);

time_s(0xD0, 0x10, 0x62, 0xD2, 0x16);} }

給你一個(gè)定時(shí)控制的信號(hào)系統(tǒng),我只做的簡(jiǎn)單的測(cè)試,至于延時(shí)我用的軟件,你自己想辦法。^_^

Dai_Weis 于 2005-5-4 13:43:23 重新給你說(shuō)明

/*

*********************************************************************************** * *

* Keil C AT89S51 交通信號(hào)控制程序 * *(C)版權(quán)所有 Dai_Weis@hotmail.com * * *

*********************************************************************************** 開(kāi)發(fā)說(shuō)明:

固定時(shí)間信號(hào)變換,南北設(shè)置調(diào)頭、左傳、直行、右轉(zhuǎn)、自行車。

東西設(shè)置左傳、直行、右轉(zhuǎn)、自行車。

時(shí)序狀態(tài):

紅 綠 紅 綠

序號(hào) 左 前 右 自 左 前 右 自 前 右 自 前 右 自1 0 1 0 0 1 0 1 1 1 1 0 0 0 2 1 0 0 1 0 1 1 0 1 0 1 0 1 0 3 0 1 0 1 1 0 1 0 1 0 1 0 1 0 4 1 1 1 1 0 0 0 0 0 1 0 1 0 1 5 1 1 0 1 0 0 1 0 0 0 1 1 1 0 */

另外修正個(gè)錯(cuò)誤

while(1){

time_x(0xA5, 0x70, 0x0);time_s(0xA4, 0x70, 0x1, 0xA5, 0x70);

材料: 1、89S51 11.0592M 晶振

1K電阻、10UF電容

12個(gè)燈,紅、黃、綠各四個(gè),12個(gè)1K電阻

,十字路口嘛。蜂鳴器一個(gè)。

按鍵一個(gè),按鍵復(fù)位

采用AT89s51型號(hào)的單片機(jī),由于交通十字路口的對(duì)稱性,所以一個(gè)引腳可以同時(shí)控制兩個(gè)燈,將發(fā)光二極管分別接到P1各個(gè)引腳,在其中加入一個(gè)時(shí)振蕩當(dāng)電路,來(lái)控制時(shí)間,在P3.0引腳接入蜂鳴器只黃燈亮的時(shí)候發(fā)出聲響,這里我們讓每次黃燈亮的時(shí)候發(fā)出六聲響,通過(guò)C程序的控制就可以實(shí)現(xiàn),每次循環(huán)是10秒。2、9cm*15cm萬(wàn)用板 1片 單片機(jī)及IC座 1套 12M晶振 1只 22P電容 2只 10uF電容 1只 10K電阻 1只 1K排阻 1只 兩位一體數(shù)碼管 2只 DC座 1只 自鎖開(kāi)關(guān) 1只

發(fā)光二極管紅綠黃

各4只 按鍵 7只 USB電源線 1條 導(dǎo)線

若干

1、基于51系列單片機(jī)(型號(hào):STC89C52、AT89C51/C52、AT89S51/S52,隨機(jī)選擇,如有特

殊要求請(qǐng)與店主討論)設(shè)計(jì)實(shí)現(xiàn)。(以上幾種單片機(jī)全部為51系列單片機(jī),除了名字不一樣外,功能及應(yīng)用完全一樣,互相

兼容)

2、兩個(gè)兩位一體數(shù)碼管顯示東西、南北方向時(shí)間。

3、四方向各有紅綠黃三顆燈。

4、七個(gè)按鍵操作,分別是:禁止通行、東西通行、南北通行、時(shí)間加、時(shí)間減、切換方向、確認(rèn)。

第五篇:畢業(yè)論文---智能交通燈控制系統(tǒng)設(shè)計(jì)

目 錄

摘 要...........................................................2 第一章 概述.....................................................3 1.1交通燈的發(fā)展及現(xiàn)狀...........................................3 1.2 單片機(jī)說(shuō)明.................................................3 第二章 智能交通燈的設(shè)計(jì)原理.....................................6 2.1 智能交通燈的設(shè)計(jì)框圖........................................6 2.2智能交通燈的設(shè)計(jì)方案及改進(jìn)措施...............................6 第三章 智能交通燈電路設(shè)計(jì).......................................6 3.1控制器的系統(tǒng)框圖.............................................7 3.2智能交通燈控制系統(tǒng)電路圖.....................錯(cuò)誤!未定義書(shū)簽。3.3工作原理....................................................8 第四章 智能交通燈軟件系統(tǒng)設(shè)計(jì)..................................14 4.1 智能交通燈的軟件設(shè)計(jì)流程圖.................................14 4.2 程序源代碼.................................................14 第五章 智能交通燈方案的仿真....................................14 小結(jié)...........................................................18 致謝詞.........................................................18 參考文獻(xiàn).......................................................18 附 錄..........................................................21 附錄A:智能交通燈控制程序:....................................21

摘 要

本文介紹的是一個(gè)基于PROTEUS的智能交通燈控制系統(tǒng)的設(shè)計(jì)與仿真,系統(tǒng)根據(jù)交通十字路口雙車道車流量的情況控制交通信號(hào)燈按特定的規(guī)律變化。

本文首先對(duì)智能交通燈的研究意義和智能交通燈的研究現(xiàn)狀進(jìn)行了分析,指出了現(xiàn)狀交通燈存在的缺點(diǎn),并提出了改進(jìn)方法。智能交通燈控制系統(tǒng)通常要實(shí)現(xiàn)自動(dòng)控制和在緊急情況下能夠手動(dòng)切換信號(hào)燈讓特殊車輛優(yōu)先通行。本文還對(duì)AT89C51單片機(jī)的結(jié)構(gòu)特點(diǎn)和重要引腳功能進(jìn)行了介紹,同時(shí)對(duì)智能交通燈控制系統(tǒng)的設(shè)計(jì)進(jìn)行了詳細(xì)的分析。最后利用PROTEUS軟件,通過(guò)其平臺(tái)對(duì)交通燈控制系統(tǒng)進(jìn)行了仿真,仿真結(jié)果表明系統(tǒng)工作性能良好。

關(guān) 鍵 詞:PROTEUS、AT89C51單片機(jī)、智能交通燈;

第一章 概述

1.1交通燈的發(fā)展及現(xiàn)狀

中國(guó)車輛數(shù)量不斷增加,交通管制的工作量越來(lái)越大,利用計(jì)算機(jī)代替人進(jìn)行高效交通管理是必然的發(fā)展趨勢(shì),而讓計(jì)算機(jī)控制的交通燈擁有類似人類的感知智能,具有很強(qiáng)的現(xiàn)實(shí)意義,比如通過(guò)攝像機(jī)讓交通燈控制系統(tǒng)獲得視覺(jué)感知功能,就可以代替人類的眼睛,使系統(tǒng)根據(jù)所“看到”交通情況自適應(yīng)改變管制策略,提高了交通管理的自動(dòng)化水平,使得交通更高效、更順暢。

目前設(shè)計(jì)交通燈的方案有很多,有應(yīng)用CPLD設(shè)計(jì)實(shí)現(xiàn)交通信號(hào)燈控制器方法;有應(yīng)用PLC實(shí)現(xiàn)對(duì)交通燈控制系統(tǒng)的設(shè)計(jì);有應(yīng)用單片機(jī)實(shí)現(xiàn)對(duì)交通信號(hào)燈設(shè)計(jì)的方法。目前,國(guó)內(nèi)的交通燈一般設(shè)在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來(lái)控制行車。對(duì)于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實(shí)際行車過(guò)程中出現(xiàn)的情況,還存在以下缺點(diǎn):1.兩車道的車輛輪流放行時(shí)間相同且固定,在十字路口,經(jīng)常一個(gè)車道為主干道,車輛較多,放行時(shí)間應(yīng)該長(zhǎng)些;另一車道為副干道,車輛較少,放行時(shí)間應(yīng)該短些。2.沒(méi)有考慮緊急車通過(guò)時(shí),兩車道應(yīng)采取的措施,臂如,消防車執(zhí)行緊急任務(wù)通過(guò)時(shí),兩車道的車都應(yīng)停止,讓緊急車通過(guò)。

1.2 單片機(jī)說(shuō)明

按照單片機(jī)系統(tǒng)擴(kuò)展與系統(tǒng)配置狀況,單片機(jī)應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT89C51單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),具有豐富的內(nèi)部資源:4kB閃存、128BRAM、32根I/O口線、2個(gè)16位定時(shí)/計(jì)數(shù)器、5個(gè)向量?jī)杉?jí)中斷結(jié)構(gòu)、2個(gè)全雙工的串行口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機(jī)時(shí)無(wú)須外擴(kuò)存儲(chǔ)器。因此,本流水燈實(shí)際上就是一個(gè)帶有八個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個(gè)單片機(jī)。

1.2.1 AT89C51單片機(jī)硬件結(jié)構(gòu)

AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的單片機(jī)芯片,它采用靜態(tài)CMOS 工藝制造8位微處理器,最高工作頻率位24MHZ。AT89C5外形及引腳排列如圖1所示:

圖1

1.2.2管腳說(shuō)明

RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。

P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。

P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸 入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。

P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。

P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。

ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。

PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。

EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。

XTAL1和XTAL2:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。

第二章 智能交通燈的設(shè)計(jì)原理

2.1 智能交通燈的設(shè)計(jì)框圖

2.2智能交通燈的設(shè)計(jì)方案及改進(jìn)措施

交通燈系統(tǒng)由四部分組成:車檢測(cè)電路,信號(hào)燈電路,時(shí)間顯示電路,緊急轉(zhuǎn)換開(kāi)關(guān)。

針對(duì)道路交通擁擠,交叉路口經(jīng)常出現(xiàn)擁堵的情況利用單片機(jī)控制技術(shù)提出了軟件和硬件設(shè)計(jì)方案及兩點(diǎn)改進(jìn)措施。

1、根據(jù)各道路路口車流量的大小自動(dòng)調(diào)節(jié)通行時(shí)間。

2、考慮特殊車輛通行情況,設(shè)計(jì)緊急切換開(kāi)關(guān)。

AT89S51單片機(jī)有2計(jì)數(shù)器,6個(gè)中斷源,能滿足系統(tǒng)的設(shè)計(jì)要求。用其設(shè)計(jì)的交通燈也滿足了要求,所以本文采用單片機(jī)設(shè)計(jì)交通燈。

第三章 智能交通燈電路設(shè)計(jì)

根據(jù)設(shè)計(jì)任務(wù)和要求,可畫出該控制器的原理框圖, 為確保十字路口的交通安全,往往都采用交通燈自動(dòng)控制系統(tǒng)來(lái)控制交通信號(hào)。其中紅燈(R)亮,表示禁止通行;黃燈(Y)亮表示暫停;綠燈(G)亮表示允許通行。

3.1控制器的系統(tǒng)框圖如圖3所示

圖3

3.2智能交通燈控制系統(tǒng)電路圖 智能交通燈電路圖如圖4所示:

圖4

交通燈系統(tǒng)由四部分組成:車檢測(cè)電路,信號(hào)燈電路,時(shí)間顯示電路,緊急轉(zhuǎn)換開(kāi)關(guān)。

3.3工作原理

綠燈的放行時(shí)間與車輛通過(guò)數(shù)量不成正比。比如說(shuō)20秒內(nèi)每車道可以通過(guò)20輛車,40秒內(nèi)每車道卻可以通過(guò)45輛車。因?yàn)檫@有一個(gè)起步的問(wèn)題,還有一個(gè)黃燈等待問(wèn)題。也就是說(shuō),綠燈放行時(shí)間越長(zhǎng),單位時(shí)間通過(guò)車輛的數(shù)量就越多。我們來(lái)計(jì)算一下,每車道通行20秒內(nèi)可以通過(guò)20輛車,一個(gè)紅綠燈循環(huán)是40秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈5秒(一個(gè)循環(huán)要兩次轉(zhuǎn)換),即一個(gè)紅綠黃燈循環(huán)要50秒,即50秒內(nèi)通行的車輛為40輛。通過(guò)一輛車的平均時(shí)間是1.25秒。如果每次車輛通行的時(shí)間改為40秒,40秒內(nèi)每車道可以通過(guò)45輛,一個(gè)紅綠燈循環(huán)是80秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈5秒(一個(gè)循環(huán)要兩次轉(zhuǎn)換),即一個(gè)紅綠黃燈循環(huán)要90秒,即90秒內(nèi)通行的車輛為90輛。通過(guò)一輛車的平均時(shí)間只需1秒。顯然在車輛擁擠的情況下綠燈的通行時(shí)間越長(zhǎng),單位時(shí)間內(nèi)通行的車輛越多,可以有效緩解車輛擁堵問(wèn)題。我設(shè)定了綠燈通行時(shí)間的上限為40秒。在非擁擠時(shí)段綠燈的通行時(shí)間的下限為20秒,當(dāng)交叉路口雙方車輛較少時(shí)通行時(shí)間設(shè)為20秒,這樣可以大大縮短車輛在紅燈面前的等待時(shí)間。當(dāng)交叉路口雙方車輛較多時(shí)通行時(shí)間設(shè)為40秒。3.3.1車檢測(cè)電路

用來(lái)判斷各方向車輛狀況,比如:20秒內(nèi)可以通過(guò)的車輛為20輛,當(dāng)20秒內(nèi)南往北方向車輛通過(guò)車輛達(dá)不到20輛時(shí),判斷該方向?yàn)樯佘嚕?dāng)20秒內(nèi)北往南方向車輛通過(guò)車輛也達(dá)不到20輛時(shí),判斷該方向也為少車,下一次通行仍為20秒,當(dāng)20秒時(shí)間內(nèi)南往北或北往南任意一個(gè)方向通過(guò)的車輛達(dá)20輛時(shí)證明該狀態(tài)車輛較多,下一次該方向綠燈放行時(shí)間改為40秒,當(dāng)40秒內(nèi)通過(guò)的車輛數(shù)達(dá)45輛時(shí)車輛判斷為擁擠,下一次綠燈放行時(shí)間改仍為40秒,當(dāng)40秒車輛上通過(guò)車輛達(dá)不到45輛時(shí),判斷為少車,下次綠燈放行時(shí)間改為20秒,依此類推。綠燈下限時(shí)間為20秒,上限值為40秒,初始時(shí)間為20秒。這樣檢測(cè),某次可能不準(zhǔn)確,但下次肯定能彌補(bǔ)回來(lái),累積計(jì)算是很準(zhǔn)確的,這就是人們常說(shuō)的“模糊控制”。因?yàn)槁飞系能嚥豢赡芡蝗辉龆啵嚩加幸粋€(gè)累積過(guò)程。這樣控制可以把不斷增多的車輛一步一步消化,雖然最后由于每個(gè)路口的綠燈放行時(shí)間延長(zhǎng)而使等候的時(shí)間變長(zhǎng),但比塞車等候的時(shí)間短得多。本系統(tǒng)的特點(diǎn)是成本低,控制準(zhǔn)確。十字路口車輛通行順序如圖5所示:

圖5十字路口車輛通行順序

由于南往北,北往南時(shí)間顯示相同,所以只要一個(gè)方向多車,下次時(shí)間就要加長(zhǎng)東往西,西往東也一樣,顯示時(shí)間選擇如表1。

表1 顯示時(shí)間選擇

車輛情況

本次該方向通行時(shí)間 20秒 20秒 20秒 20秒 20秒 20秒 20秒 20秒

下次該方向通行時(shí)間 20秒 40秒 40秒 40秒 20秒 40秒 40秒 40秒

本次該方向通行時(shí)

間 40秒 40秒 40秒 40秒 40秒 40秒 40秒 40秒

本次該方向通行時(shí)間 20秒 40秒 40秒 40秒 20秒 40秒 40秒 40秒 南往北少車,北往南少車

南往北少車,北往南多車

南往北多車,北往南少車

南往北多車,北往南多車

東往西少車,西往東少車

東往西少車,西往東多車

東往西多車,西往東少車

東往西多車,西往東多車

3.3.2信號(hào)燈電路

信號(hào)燈用來(lái)顯示車輛通行狀況,下面以一個(gè)十字路口為例,說(shuō)明一個(gè)交通燈的四種狀態(tài)見(jiàn)圖6。每個(gè)路口的信號(hào)的的轉(zhuǎn)換順序?yàn)椋壕G—>黃—>紅 綠燈表示允許通行,黃燈表示禁止通行,但已經(jīng)駛過(guò)安全線的車輛可以繼續(xù)通行,是綠燈過(guò)渡到紅燈提示燈。紅燈表示禁止通行。綠燈的最短時(shí)間為20秒,最長(zhǎng)時(shí)間為40秒,紅紅最短時(shí)間為25秒,最長(zhǎng)時(shí)間為45秒,黃燈時(shí)間為5秒。

圖6交通信號(hào)燈運(yùn)行狀態(tài)

3.3.3時(shí)間顯示電路

在交通信號(hào)燈的正上方安裝一個(gè)可以顯示綠燈通行時(shí)間,紅燈等待時(shí)間的顯示電路,采用數(shù)碼管顯示電路是一種很好的方法。由于東往西方向和西往東方向顯示的時(shí)間相同,南往北方向和北往南方向顯示的時(shí)間也相同,所以只需要考慮四位數(shù)碼管顯示電路,其中東西方向兩位,南北方向兩位,兩位數(shù)碼管可以時(shí)間的時(shí)間為0-99秒完全可以滿足系統(tǒng)的要求,數(shù)碼管連接方法如圖7所示。

圖7 數(shù)碼管連接方法

下面我們用這種方法顯示交通燈的時(shí)間,南北方向要顯示20秒,東西方向要顯示25秒,那么我們先給P0口送2的共陰極碼即5BH,讓第一位2要顯示的 位碼GND段為低電平,其它三位的控制端都接高電平,那么第一位就顯示2,其它三位不亮。讓其顯示1MS后再給P0口送0的共陰極碼即3FH,讓第二位要顯示0的位碼GND段為低電平,其它三位的控制端都接高電平,那么第二位就顯示0,其它三位不亮。依此類推分別送完第一位2,第二位0,第三位2,第四位5,每一位點(diǎn)亮1MS一個(gè)掃描周期為4MS,一秒時(shí)間就要掃描250次其程序如下: MOV R6,#250;顯掃描次數(shù) LOOP:

MOV P0,#5BH;送2的共陰極碼 CLR P2.0;第一位顯示2 ACALL D1MS;延時(shí)1MS SETB P2.0;滅第一位

MOV P0,#3FH;送0的共陰極碼 CLR P2.1;第二位顯示0 ACALL D1MS;延時(shí)1MS SETB P2.1;滅第二位

MOV P0,#5BH;送2的共陰極碼 CLR P2.2;第三位顯示2 ACALL D1MS;延時(shí)1MS SETB P2.2;滅第三位

MOV P0,#6DH;送5的共陰極碼 CLR P2.3;第四位顯示5 ACALL D1MS;延時(shí)1MS SETB P2.3;滅第四位

DJNZ R7,LOOP;不夠一秒,繼續(xù)掃描 NEXTNUMBER;到一秒顯示下一個(gè)數(shù) D1MS:;1MS延時(shí)程序

STAT1:MOV R4,#2 MOV R3,#250 DJNZ R3,$ DJNZ R4,STAT1 RET

3.3.4緊急轉(zhuǎn)換開(kāi)關(guān)電路

一般情況下交通燈按照車流量大小合理分配通行時(shí)間,按一定規(guī)律變化,但考慮緊急車通行車況,設(shè)計(jì)緊急通行開(kāi)關(guān),下面簡(jiǎn)述單片機(jī)的中斷原理。

1、Mcs—51的中斷源

8051有5個(gè)中斷源,它們是兩個(gè)外中斷INT0(P3.2)和INT1(P3.3)、兩個(gè)片內(nèi)定時(shí)/計(jì)數(shù)器溢出中斷TF0和TF1,一個(gè)是片內(nèi)串行口中斷TI或RI,這幾個(gè)中斷源由TCON和SCON兩個(gè)特殊功能寄存器進(jìn)行控制,其中5個(gè)中斷源的程序 11 入口地址如表2所示:

表2 中斷源程序入口 中斷源的服務(wù)程序入口地址 中斷源 外中斷0 定時(shí)/計(jì)數(shù)器0 外中斷1 定時(shí)/計(jì)數(shù)器0 串行口中斷

2、中斷的處理流程

CPU響應(yīng)中斷請(qǐng)求后,就立即轉(zhuǎn)入執(zhí)行中斷服務(wù)程序。不同的中斷源、不同的中斷要求可能有不同的中斷處理方法,但它們的處理流程一般都如下所述:

1)現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù):

中斷是在執(zhí)行其它任務(wù)的過(guò)程中轉(zhuǎn)去執(zhí)行臨時(shí)的任務(wù),為了在執(zhí)行完中斷服務(wù)程序后,回頭執(zhí)行原先的程序時(shí),知道程序原來(lái)在何處打斷的,各有關(guān)寄存器的內(nèi)容如何,就必須在轉(zhuǎn)入執(zhí)行中斷服務(wù)程序前,將這些內(nèi)容和狀態(tài)進(jìn)行備份——即保護(hù)現(xiàn)場(chǎng)。中斷開(kāi)始前需將有關(guān)寄存器的內(nèi)容壓入堆棧進(jìn)行保存,以便在恢復(fù)原來(lái)程序時(shí)使用。中斷服務(wù)程序完成后,繼續(xù)執(zhí)行原先的程序,就需把保存的現(xiàn)場(chǎng)內(nèi)容從堆棧中彈出,恢復(fù)積存器和存儲(chǔ)單元的原有內(nèi)容,這就是現(xiàn)場(chǎng)恢復(fù)。如果在執(zhí)行中斷服務(wù)時(shí)不是按上述方法進(jìn)行現(xiàn)場(chǎng)保護(hù)和恢復(fù)現(xiàn)場(chǎng),就會(huì)是程序運(yùn)行紊亂,單片機(jī)不能正常工作。

2)中斷打開(kāi)和中斷關(guān)閉:

在中斷處理進(jìn)行過(guò)程中,可能又有新的中斷請(qǐng)求到來(lái),這里規(guī)定,現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)的操作是不允許打擾的,否則保護(hù)和恢復(fù)的過(guò)程就可能使數(shù)據(jù)出錯(cuò),為此在進(jìn)行現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)的過(guò)程中,必須關(guān)閉總中斷,屏蔽其它所有的中斷,待這個(gè)操作完成后再打開(kāi)總中斷,以便實(shí)現(xiàn)中斷嵌套。

3)中斷服務(wù)程序:

既然有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體內(nèi)容,一般以子程序的形式出現(xiàn),所有的中斷都要轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,進(jìn)行中斷服務(wù)。

4)中斷返回:

入口地址 0003H 000BH 0013H 001BH 0023H 執(zhí)行完中斷服務(wù)程序后,必然要返回,中斷返回就是被程序運(yùn)行從中斷服務(wù)程序轉(zhuǎn)回到原工作程序上來(lái)。在MCS-51單片機(jī)中,中斷返回是通過(guò)一條專門的指令實(shí)現(xiàn)的,自然這條指令是中斷服務(wù)程序的最后一條指令。

5)交通燈中的中斷處理流程:(1)現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù):

有特殊車輛要通過(guò)時(shí)就要進(jìn)行中斷,在中斷之前,先將交通燈中斷前情況保護(hù)好,當(dāng)中斷執(zhí)行后再恢復(fù)現(xiàn)場(chǎng),包括信號(hào)燈和時(shí)間顯示電路。

(2)中斷打開(kāi)和中斷關(guān)閉:

為了使特殊車輛通行按一下打開(kāi)中斷開(kāi)關(guān)就可以打開(kāi)中斷,關(guān)閉中斷開(kāi)關(guān)就關(guān)閉中斷。

(3)中斷服務(wù)程序:

有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體內(nèi)容:即如果南北方向有特殊車輛要求通過(guò),南北方向轉(zhuǎn)換為綠燈,東西方向?yàn)榧t燈;如果東西方向有特殊車輛要求通過(guò),東西方向轉(zhuǎn)換為綠燈,南北方向?yàn)榧t燈。

(4)中斷返回:

執(zhí)行完中斷服務(wù)程序后,必然要返回,即回交通燈信號(hào)回到中斷前狀態(tài),顯示時(shí)間也和中斷前一樣。

第四章 智能交通燈軟件系統(tǒng)設(shè)計(jì)

4.1 智能交通燈的軟件設(shè)計(jì)流程圖

智能交通燈的軟件設(shè)計(jì)流程圖如圖8所示:

圖8交通燈的軟件設(shè)計(jì)流程圖

4.2 程序源代碼

見(jiàn)附錄

第五章 智能交通燈方案的仿真

PROTEUS嵌入式系統(tǒng)仿真軟件在設(shè)計(jì)時(shí)已經(jīng)注意到和單片機(jī)各種編譯程序的整合了,如它可以和Keil ,Wave6000等編譯模擬軟件結(jié)合使用。由于Wave6000使用方便,具備強(qiáng)大的軟件仿真和硬件仿真功能。把Proteus和Wave6000結(jié)合起來(lái)調(diào)試硬件就方便多了,這里就是采用“Proteus+Wave6000”的仿真方法,具體步驟如下:

1)首先運(yùn)行PROTEUS VSM 的ISIS,選擇Source→Define Code Generation Tool 菜單項(xiàng),將出現(xiàn)如圖8所示定義代碼生成工具對(duì)話框。

圖9 定義代碼生成工具對(duì)話框

在Tool下拉列表框中選擇代碼生成工具,在這一示例中,電路中的微處理器為8051系列單片機(jī),因此選擇ASEM51, 單擊Browse按鈕,選取Wave6000的安裝路徑。單擊OK按鈕,結(jié)束代碼生成工具的定義。

選擇Source→Add/Remove Source File 菜單項(xiàng),將出現(xiàn)Add/Remove Source Code Files對(duì)話框,如圖10所示:

圖10添加/刪除源文件對(duì)話框

2)在Code Generation Tool 選項(xiàng)區(qū),單擊下三角按鈕,選擇ASEM51工具 單擊New按鈕,將出現(xiàn)如圖11所示對(duì)話框。

圖11 創(chuàng)建源代碼對(duì)話框

選擇用Wave6000創(chuàng)建好的AA.ASM文件,即完成了文件的創(chuàng)建。就這樣當(dāng)用Wave6000對(duì)AA.ASM 文件進(jìn)行更改時(shí)每一次運(yùn)行PROTEUS VSM 的ISIS對(duì)電路進(jìn)行仿真時(shí)Wave6000都會(huì)對(duì)AA.ASM進(jìn)行編譯,AA.HEX文件也會(huì)隨時(shí)更新。

電路圖繪制完成后, 再添加AT89C51 的應(yīng)用程序。將鼠標(biāo)移至AT89C51 上, 單擊鼠標(biāo)右鍵使之處于選中狀態(tài), 在該器件上單擊左鍵, 打開(kāi)如圖12所示的對(duì)話框。在 Program File 欄添加編譯好的十六進(jìn)制格式的程序文件AA.hex(可以接受3 種格式的文件),給AT89C51輸入晶振頻率,此處默認(rèn)為12MHZ,單擊OK 按鈕完成程序添加工作, 下面就可以進(jìn)行系統(tǒng)仿真了。單擊主界面下方的按鈕開(kāi)始系統(tǒng)仿真。PROTEUS VSM 所進(jìn)行的是一種交互式仿真, 在仿真進(jìn)行中可以對(duì)各控制按鈕、開(kāi)關(guān)等進(jìn)行操作, 系統(tǒng)對(duì)輸入的響應(yīng)會(huì)被真實(shí)的反映出來(lái)如圖13。

圖12 AT89C51添加程序文件

圖13 交通燈仿真界面

結(jié)

在畢業(yè)設(shè)計(jì)的整個(gè)過(guò)程中,我深切地體會(huì)到:實(shí)踐是理論運(yùn)用的最好檢驗(yàn)。畢業(yè)設(shè)計(jì)是對(duì)我們3年所學(xué)知識(shí)的一次綜合性測(cè)試和考驗(yàn),無(wú)論是在動(dòng)手能力方面還是理論知識(shí)的運(yùn)用能力方面,都使得我有了很大的提高。

經(jīng)過(guò)總結(jié)和分析,我意識(shí)到在設(shè)計(jì)程序之前,對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過(guò)程中遇到問(wèn)題是很正常,但我們應(yīng)該將每次遇到的問(wèn)題記錄下來(lái),并分析清楚,以免下次再碰到同樣的問(wèn)題。本次畢業(yè)設(shè)計(jì)為我的大學(xué)生活畫上了圓滿的句號(hào),為我即將的工作和生活奠定了堅(jiān)實(shí)的基礎(chǔ)。

致謝詞

在整個(gè)畢業(yè)設(shè)計(jì)中,我得到了學(xué)校電子實(shí)驗(yàn)室的大力支持,為我提供了各種所需的儀器設(shè)備。感謝學(xué)校為我們安排了本次畢業(yè)設(shè)計(jì),讓我們的理論知識(shí)和實(shí)際操作經(jīng)驗(yàn)更加緊密的結(jié)合了在一起;同時(shí)又拓展了我們的知識(shí)面。同時(shí)十分感激夏老師對(duì)我的悉心指導(dǎo)和幫助,使我能夠順利的完成此次畢業(yè)設(shè)計(jì)。此次畢業(yè)設(shè)計(jì)讓我從中受益匪淺,最后再次感謝老師對(duì)我的培養(yǎng)和教育!

參考文獻(xiàn)

[1] 徐愛(ài)鈞 《智能化測(cè)量控制儀表原理與設(shè)計(jì)》(第二版)[M].北京:北京航空航天大學(xué)出版社,2004年;

[2] 吳金戌、沈慶陽(yáng)、郭庭吉 《8051單片機(jī)實(shí)踐與應(yīng)用》[M].北京:清華大學(xué)出版社,2002年;

[3] 謝自美 《電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試》(第三版)[M].武漢:華中科技大學(xué)出版社,2006年;

[4] 謝維成、楊加國(guó) 主編 《單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)》[M].北京:清華大學(xué)出版社,2006年;

[5] 楊立、鄧振杰、荊淑霞 《微型計(jì)算機(jī)原理與接口技術(shù)》[M].中國(guó)鐵道出版社,2006年;

[6] 黃智偉 《全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽技能訓(xùn)練》 [M].北京:北京航空航天大學(xué)出版社,2007年 [7] 高峰,《單片微型計(jì)算機(jī)與接口技術(shù)》[M].北京:科學(xué)出版社,2003; [8] 華成英、童詩(shī)白 主編,《模擬電子技術(shù)基礎(chǔ)》(第四版)[M].高等教育出版社,2006年.[9] 黃海萍、陳用昌 編 《微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)》[M].北京:國(guó)防工業(yè)出版社,2004年

[10] 黃智偉: 《凌陽(yáng)單片機(jī)設(shè)計(jì)指導(dǎo)》,北京: 北京航空航天大學(xué)出版社,2007年

附 錄

附錄A:智能交通燈控制程序:

ORG 0000H A_BIT EQU 20H;用于存放南北十位數(shù) B_BIT EQU 21H;用于存放南北十位數(shù) C_BIT EQU 22H;用于存放東西十位數(shù) D_BIT EQU 23H;用于存放東西位數(shù)

TEMP1 EQU 24H;用于存放第一二南北狀態(tài)要顯示的時(shí)間 TEMP2 EQU 25H;用于存放第一二東西狀態(tài)要顯示的時(shí)間 TEMP3 EQU 26H;用于存放第三第四南北狀態(tài)要顯示的時(shí)間 TEMP4 EQU 27H;用于存放第三第四南北狀態(tài)要顯示的時(shí)間 LJMP MAIN ORG 0003H;外部中斷0入口 LJMP INT0;跳轉(zhuǎn)到外部0中斷 ORG 0013H;外部中斷1入口 LJMP INT1;跳轉(zhuǎn)到外部1中斷 INT0: MOV A,P1;外部0中斷 PUSH ACC MOV A,P2;中斷保護(hù) PUSH ACC MOV P1,#0FFH;清除先前狀態(tài) MOV P2,#0FFH CLR P1.0 CLR P1.4;南北通行,東西禁止通行 CLR P1.6 CLR P2.3 JNB P3.2 ,$;判斷是否還在中斷狀態(tài) POP ACC MOV P2,A;返回中斷前狀態(tài) POP ACC MOV P1,ACC RETI;中斷返回 INT1:MOV A,P1;外部1中斷 PUSH ACC;中斷保護(hù) MOV A,P2 PUSH ACC MOV P1,#0FFH;清除先前狀態(tài) MOV P2,#0FFH CLR P1.2 CLR P2.1 CLR P1.3;東西通行,南北禁止通行 CLR P1.5 JNB P3.3 ,$;判斷是否還在中斷狀態(tài) POP ACC MOV P2,A;返回中斷前狀態(tài) POP ACC MOV P1,A RETI;中斷返回 MAIN: ORG 0100H;初始情況 MOV P1,#0FFH MOV P2,#0FFH;滅所有燈

MOV TMOD,#55H;計(jì)數(shù)方式方式1 MOV IE,#85H;開(kāi)中斷 MOV TEMP1,#20;MOV TEMP2,#25 MOV TEMP3,#25 MOV TEMP4,#20 STAR: MOV P1,#0FFH MOV P2,#0FFH;滅所有燈 MOV A,24H;將顯示時(shí)間送A CJNE A,#20,T40T;判斷時(shí)間,選初始值

T20T:;南北通行要顯示的時(shí)間為20的計(jì)數(shù)器初始值 CLR TF0;清TF0 CLR TF1;清TF1 MOV TH1 ,#0FFH;送20秒時(shí)的初始值

MOV TL1 ,#0FCH;在些設(shè)計(jì)20秒6輛為多車 MOV TH0 ,#0FFH MOV TL0 ,#0FCH LJMP TEMP20;跳到20秒

T40T:;南北通行要顯示的時(shí)間為40的計(jì)數(shù)器初始值 CLR TF0;清TF0 CLR TF1;清TF1 MOV TH1,#0FFH;送40秒時(shí)的初始值

MOV TL1 ,#0F8H;在些設(shè)計(jì)40秒8輛為多車 MOV TH0 ,#0FFH MOV TL0 ,#0F8H LJMP TEMP40;跳到40秒 TEMP20:;TEMP1=20情況 SETB TR0;開(kāi)始計(jì)數(shù) SETB TR1 CLR P1.2 CLR P2.1;南北通行,東西禁止通行 CLR P1.3 CLR P1.5 MOV TEMP1,#20;南北要顯示的時(shí)間,MOV TEMP2,#25;東西要顯示的時(shí)間 STLOP: ACALL DISPLAY1;調(diào)用顯示

DEC TEMP1;時(shí)間夠一秒顯示時(shí)間減1 DEC TEMP2 MOV A,TEMP1 CJNE A,#0,NEXT;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài) LJMP STAR2;若顯示時(shí)間為 0跳到第二狀態(tài) NEXT: LJMP STLOP STAR2:;狀態(tài)1 SETB P1.2 CLR P1.1;南北黃燈,東西禁止通行 SETB P1.3 CLR P1.4 MOV TEMP1,#05;南北要顯示的時(shí)間,MOV TEMP2,#05;東西要顯示的時(shí)間,STLOP2: ACALL DISPLAY1;調(diào)用顯示

DEC TEMP1;時(shí)間夠一秒顯示時(shí)間減1 DEC TEMP2 MOV A,TEMP1 CJNE A,#0,NEXT2;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài) JB TF1 ,T40;判斷南北是否多車 JB TF0 ,T40;判斷北南是否多車

MOV TEMP1,#20;少車下次顯示時(shí)間為20秒 LJMP STAR3;跳到狀態(tài)3 T40: MOV TEMP1,#40;多車下次顯示時(shí)間為40秒 LJMP STAR3;若顯示時(shí)間為 0跳到第三狀態(tài) NEXT2:LJMP STLOP2 TEMP40:;TEM=40 程序 SETB TR0;開(kāi)始計(jì)數(shù) SETB TR1 CLR P1.2 CLR P2.1;南北通行,東西禁止通行 CLR P1.3 CLR P1.5 MOV TEMP1,#40;南北要顯示的時(shí)間,MOV TEMP2,#45;東西要顯示的時(shí)間 STLOP11: ACALL DISPLAY1;調(diào)用顯示

DEC TEMP1;時(shí)間夠一秒顯示時(shí)間減1 DEC TEMP2 MOV A,TEMP1 CJNE A,#0,NEXT11;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài) LJMP STAR22;若顯示時(shí)間為 0跳到第二狀態(tài) NEXT11: LJMP STLOP11 STAR22:;狀態(tài)1 SETB P1.2 CLR P1.1;南北黃燈,東西禁止通行 SETB P1.3 CLR P1.4 MOV TEMP1,#05;南北要顯示的時(shí)間,MOV TEMP2,#05;東西要顯示的時(shí)間,STLOP22: ACALL DISPLAY1;調(diào)用顯示

DEC TEMP1;時(shí)間夠一秒顯示時(shí)間減1 DEC TEMP2 MOV A,TEMP1 CJNE A,#0,NEXT22;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài) JB TF1 ,T401;判斷是否多車 JB TF0 ,T401 MOV TEMP1,#20;少車下次顯示時(shí)間為20秒 LJMP STAR3 T401:MOV TEMP1,#40;多車下次顯示時(shí)間為40秒 LJMP STAR3;若顯示時(shí)間為 0跳到第三狀態(tài) NEXT22:LJMP STLOP22 STAR3: MOV A,26H CJNE A,#25,T40T1;判斷時(shí)間,選初始值

T20T1:;南北通行要顯示的時(shí)間為20的計(jì)數(shù)器初始值 CLR TF0;清溢出位 CLR TF1 MOV TH1 ,#0FFH;給初值 MOV TL1 ,#0FCH MOV TH0 ,#0FFH MOV TL0 ,#0FCH LJMP TEMP320 T40T1:;南北通行要顯示的時(shí)間為40的計(jì)數(shù)器初始值 CLR TF0;CLR TF1 MOV TH1,#0FFH;給初值 MOV TL1 ,#0F8H MOV TH0 ,#0FFH MOV TL0 ,#0F8H LJMP TEMP340 TEMP320:;狀態(tài)三

SETB TR1;南北停止計(jì)數(shù) SETB TR0;東西開(kāi)始計(jì)數(shù)

SETB P1.1;東西通行,南北禁止通行 CLR P1.0 SETB P1.1 CLR P1.0 SETB P1.5 CLR P1.6 SETB P2.1 CLR P2.3 MOV TEMP3,#25;南北要顯示的時(shí)間,MOV TEMP4,#20;東西要顯示的時(shí)間,STLOP33: ACALL DISPLAY;調(diào)用顯示

DEC TEMP3;時(shí)間夠一秒顯示時(shí)間減1 DEC TEMP4 MOV A,TEMP4 CJNE A,#0,NEXT33;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài) LJMP STAR34;若顯示時(shí)間為 0跳到第四狀態(tài) NEXT33:LJMP STLOP33 STAR34:;狀態(tài)四 SETB P2.3 CLR P2.2 SETB P1.6;東西黃燈,南北禁止通行 CLR P1.5 MOV TEMP3,#05;南北要顯示的時(shí)間,MOV TEMP4,#05;東西要顯示的時(shí)間,STLOP34: ACALL DISPLAY;調(diào)用顯示

DEC TEMP3;時(shí)間夠一秒顯示時(shí)間減1 DEC TEMP4 MOV A,TEMP4 CJNE A,#0,NEXT34;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài) JB TF1 ,T402 JB TF0 ,T402 MOV TEMP3,#25 LJMP STAR T402: MOV TEMP3,#45 LJMP STAR NEXT34: LJMP STLOP34 TEMP340 : SETB TR1;南北停止計(jì)數(shù) SETB TR0;東西開(kāi)始計(jì)數(shù)

SETB P1.1;東西通行,南北禁止通行 CLR P1.0 SETB P1.1 CLR P1.0 SETB P1.5 CLR P1.6 SETB P2.1 CLR P2.3 MOV TEMP3,#45;南北要顯示的時(shí)間,MOV TEMP4,#40;東西要顯示的時(shí)間,STLOP43: ACALL DISPLAY;調(diào)用顯示

DEC TEMP3;時(shí)間夠一秒顯示時(shí)間減1 DEC TEMP4 MOV A,TEMP4 CJNE A,#0,NEXT43;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài) LJMP STAR44;若顯示時(shí)間為 0跳到第四狀態(tài) NEXT43:LJMP STLOP43 STAR44:;狀態(tài)四 SETB P2.3 CLR P2.2 SETB P1.6;東西黃燈,南北禁止通行 CLR P1.5 MOV TEMP3,#05;南北要顯示的時(shí)間,MOV TEMP4,#05;東西要顯示的時(shí)間,STLOP44: ACALL DISPLAY;調(diào)用顯示

DEC TEMP3;時(shí)間夠一秒顯示時(shí)間減1 DEC TEMP4 MOV A,TEMP3 CJNE A,#0,NEXT44;若顯示時(shí)間不為0保持現(xiàn)在狀態(tài) JB TF1 ,T403 JB TF0 ,T403 MOV TEMP3,#25 LJMP STAR T403: MOV TEMP3,#45 LJMP STAR NEXT44: LJMP STLOP44;顯示 DISPLAY1: MOV A,TEMP1;將南北要顯示的數(shù)存放到A MOV B,#10;B=10 DIV AB;A除以B商存A,余數(shù)B MOV B_BIT,A;將A放到20H MOV A_BIT,B;將B放到21H MOV A,TEMP2;將東西要顯示的數(shù)存放到A MOV B,#10;B=10 DIV AB;A除以B商存A,余數(shù)B MOV C_BIT,A;將A放到22H MOV D_BIT,B;將B放到23H MOV DPTR ,#NUMT;MOV R0,#2;R0=2 DPL11: MOV R1,#250;R1=250 DPLOP1: MOV A,A_BIT;將南北要顯示的10位數(shù)送A MOVC A,@A+DPTR;查表

MOV P0,A;顯示南北10位數(shù) CLR P2.7 ACALL D1MS;延時(shí)1MS SETB P2.7;滅南北10位數(shù)

MOV A,B_BIT;將南北要顯示的個(gè)位數(shù)送A MOVC A,@A+DPTR;查表

MOV P0,A;顯示南北個(gè)位數(shù) CLR P2.6 ACALL D1MS;延時(shí)1MS SETB P2.6;滅南北個(gè)位數(shù)

MOV A,C_BIT;將東西要顯示的10位數(shù)送A MOVC A,@A+DPTR;查表

MOV P0,A;顯示東西10位數(shù) CLR P2.5 ACALL D1MS;延時(shí)1MS SETB P2.5;滅東西10位數(shù)

MOV A,D_BIT;將東西要顯示的個(gè)位數(shù)送A MOVC A,@A+DPTR;查表

MOV P0,A;顯示東西東西位數(shù) CLR P2.4 ACALL D1MS;延時(shí)1MS SETB P2.4;滅東西個(gè)位數(shù) DJNZ R1,DPLOP;循環(huán)掃描 DJNZ R0,DPL1 RET;;等待1秒返回 顯示 DISPLAY: MOV A,TEMP3;將南北要顯示的數(shù)存放到A MOV B,#10;B=10 DIV AB;A除以B商存A,余數(shù)B MOV B_BIT,A;將A放到20H MOV A_BIT,B;將B放到21H MOV A,TEMP4;將東西要顯示的數(shù)存放到A MOV B,#10;B=10 DIV AB;A除以B商存A,余數(shù)B MOV C_BIT,A;將A放到22H MOV D_BIT,B;將B放到23H MOV DPTR ,#NUMT;MOV R0,#2;R0=2 DPL1: MOV R1,#250;R1=250 DPLOP: MOV A,A_BIT;將南北要顯示的10位數(shù)送A MOVC A,@A+DPTR;查表 MOV P0,A;顯示南北10位數(shù) CLR P2.7 ACALL D1MS;延時(shí)1MS SETB P2.7;滅南北10位數(shù)

MOV A,B_BIT;將南北要顯示的個(gè)位數(shù)送A MOVC A,@A+DPTR;查表

MOV P0,A;顯示南北個(gè)位數(shù) CLR P2.6 ACALL D1MS;延時(shí)1MS SETB P2.6;滅南北個(gè)位數(shù)

MOV A,C_BIT;將東西要顯示的10位數(shù)送A MOVC A,@A+DPTR;查表

MOV P0,A;顯示東西10位數(shù) CLR P2.5 ACALL D1MS;延時(shí)1MS SETB P2.5;滅東西10位數(shù)

MOV A,D_BIT;將東西要顯示的個(gè)位數(shù)送A MOVC A,@A+DPTR;查表

MOV P0,A;顯示東西東西位數(shù) CLR P2.4 ACALL D1MS;延時(shí)1MS SETB P2.4;滅東西個(gè)位數(shù) DJNZ R1,DPLOP;循環(huán)掃描 DJNZ R0,DPL1 RET;等待1秒返回

D1MS: MOV R7,#250;1MS延時(shí)程序 DJNZ R7,$ RET;

1到10對(duì)應(yīng)電路圖數(shù)碼管表

NUMT: DB 7EH,48H,67H,6BH,59H DB 3BH,3FH,68H,7FH,7BH

中英文摘要---目錄---引言----研究現(xiàn)狀---背景----思路---整體原理---部分電路介紹--程序介紹----總結(jié)---------------謝詞==參考文獻(xiàn)===附件 可以聯(lián)系我,有程序。仿真,原理圖,等

.南北方向綠燈和東西方向綠燈不能同時(shí)亮,如果同時(shí)亮,則立刻關(guān)閉信號(hào)燈系統(tǒng),并報(bào)警。同理,東西向綠燈與南北向轉(zhuǎn)彎燈也不能同時(shí)亮。

2.南北及南北轉(zhuǎn)彎紅燈亮并保持40秒,同時(shí)東西綠燈亮,但只保持35秒,到35秒時(shí)東西綠燈閃3次(每周期為1秒)后熄滅,繼而東西黃燈亮,并保持2秒,到2秒后,東西黃燈滅,東西紅燈亮,同時(shí)南北紅燈熄滅和南北綠燈亮;南北轉(zhuǎn)彎紅燈繼續(xù)亮著。

3.東西及南北轉(zhuǎn)彎紅燈亮并保持30秒,同時(shí)南北綠燈亮,但只保持25秒,到25秒時(shí)南北綠燈閃亮3次(每周期1秒)后熄滅,繼而南北黃燈亮,并保持2秒,到2秒后,南北黃燈滅,南北紅燈亮,同時(shí)南北向轉(zhuǎn)彎紅燈滅,綠燈亮。

4.南北向轉(zhuǎn)彎綠燈亮25秒,同時(shí)南北向和東西向紅燈亮并保持25秒,待南北向轉(zhuǎn)彎綠燈亮25秒后,紅燈亮起,東西向紅燈滅,綠燈亮,并保持35秒,南北向紅燈繼續(xù)亮著,后接2.中繼續(xù)循環(huán)。

5.各燈能手動(dòng)控制也能自動(dòng)轉(zhuǎn)換,并且能周而復(fù)始的進(jìn)行工作。緒論

1.1 道路交通控制的發(fā)展背景

隨著經(jīng)濟(jì)發(fā)展,城市化速度加快,機(jī)動(dòng)車輛占有量急劇增加,由此引發(fā)出日益嚴(yán)重的交通問(wèn)題:交通擁擠甚至堵塞,交通事故頻繁,空氣和噪聲污染嚴(yán)重,公共運(yùn)輸系統(tǒng)效率下降等。解決這一問(wèn)題通常有兩種辦法,一種是修路造橋,這對(duì)道路交通狀況的改善是一種最直接的辦法,但它需要巨額的投資,且在城市中心區(qū)受拆遷的限制,很難實(shí)施.另一種是在現(xiàn)有的道路交通條件下,實(shí)施交通控制和管理,充分發(fā)揮現(xiàn)有道路的通行能力,大量事實(shí)已經(jīng)證明這種方法的有效性。

通常,一個(gè)經(jīng)驗(yàn)豐富的交通警察能在極短的時(shí)間內(nèi)把一個(gè)交叉路口的交通阻塞緩解或解除,但他的作用范圍往往局限于單個(gè)交叉路口。而現(xiàn)代的道路交通非常復(fù)雜,常常是幾個(gè)或幾十個(gè)甚至是成百上千個(gè)路口互相關(guān)聯(lián),在這種情況下,任何一個(gè)經(jīng)驗(yàn)豐富的交通警察都無(wú)能為力了.因此,人們?cè)絹?lái)越關(guān)注把先進(jìn)的科學(xué)技術(shù)用于交通管理,從而促進(jìn)了交通自動(dòng)控制技術(shù)的不斷發(fā)展。

1.2 道路交通控制的目的和作用

道路交通控制的目的可定義為:在確定的行政規(guī)定約束下,采用合適的營(yíng)運(yùn) 方法來(lái)確保公共和私人運(yùn)輸方式具有最佳的交通運(yùn)行狀態(tài)。圍繞這一目的研制出的道路交通控制系統(tǒng),把受控對(duì)象看成一個(gè)整體,采用對(duì)交通流科學(xué)地時(shí)間分割的方法,最大限度地保證交通流運(yùn)動(dòng)的連續(xù)性,使受控區(qū)域的交通流減少?zèng)_突,同時(shí)平穩(wěn)地、有規(guī)則地運(yùn)動(dòng)。道路交通控制的作用主要表現(xiàn)為以下幾個(gè)方面:

(1)改善交通秩序,增加交通安全。

(2)減少交通延誤,提高經(jīng)濟(jì)效益。

(3)降低污染程度,保護(hù)生態(tài)環(huán)境。(4)節(jié)省能源和土地消耗。

1.3 我國(guó)城市交通特點(diǎn)分析

人、車、路是構(gòu)成城市交通的三大要素,要探討我國(guó)城市交通特點(diǎn),必須從分析這三大要素的基本特點(diǎn)著手。

1.3.1 人的交通素質(zhì)

人是交通的主體,與世界發(fā)達(dá)國(guó)家相比,我國(guó)人的社會(huì)交通意識(shí)還沒(méi)有真正形成,少數(shù)領(lǐng)導(dǎo)部門交通觀念淡薄,對(duì)城市交通建設(shè)在國(guó)民經(jīng)濟(jì)建設(shè)中的重要性認(rèn)識(shí)不足,交通政策時(shí)有失誤。機(jī)動(dòng)車駕駛員文化水平低,又缺乏系統(tǒng)訓(xùn)練,尤其缺乏心理素質(zhì),感知能力和判斷能力的培養(yǎng),因而,對(duì)人,車的運(yùn)動(dòng)特征不能很好掌握。行人與非機(jī)動(dòng)車駕駛員普遍不懂,甚至漠視交通法規(guī)。交通管理人員交通工程和心理學(xué)知識(shí)貧乏,感知,分析交通信息和處理特發(fā)性事件的能力不強(qiáng)。總的來(lái)看,我國(guó)人的交通素質(zhì)距離現(xiàn)代化城市交通要求還相差甚遠(yuǎn),而交通與人密切相關(guān),城市交通中出現(xiàn)的問(wèn)題幾乎都離不開(kāi)人的因素,因此,想方設(shè)法提高全社會(huì)的文化素質(zhì),健全交通法規(guī),加強(qiáng)交通宣傳教育,增強(qiáng)人的社會(huì)交通意識(shí),培養(yǎng)良好的交通習(xí)慣,使參與交通的每個(gè)人都認(rèn)識(shí)到交通的重要性,自覺(jué)順應(yīng)交通規(guī)律,是建立我國(guó)城市交通控制系統(tǒng),使之有效運(yùn)行的前提條件。

1.3.2 城市道路狀況

路是交通的物質(zhì)基礎(chǔ),有路才能通車,行人。我國(guó)是一個(gè)文明古國(guó),許多城市已有上千年的歷史,城市布局和道路結(jié)構(gòu)是在漫長(zhǎng)的歷史進(jìn)程中逐步形成的,近幾年雖然作了些改建和擴(kuò)建,但畢竟還難以沖破原來(lái)的基本格局。我國(guó)城市道路普遍存在的弊端是:

(1)路網(wǎng)密度低

(2)交通干道少

(3)路口平面交叉

1.3.3 我國(guó)城市交通的特殊性

道路狀況與車輛狀況的綜合作用形成了我國(guó)城市交通的特殊性,主要表現(xiàn)是:

城市路網(wǎng)稀,干道少,間距大,市區(qū)人口稠密,出行需求集中,迫使車輛集中于少數(shù)干道上行駛。至于中小城市,干道特征更為明顯,往往只有一兩條干道貫穿全市,而其他支路上交通量極小。從流量變化情況來(lái)看,除外圍過(guò)境干道外,都是有一定規(guī)律的,高峰小時(shí)基本上都集中在幾個(gè)時(shí)段內(nèi)。

我國(guó)城市機(jī)動(dòng)車車種繁雜,從50年代的老式車到80年代的新型車,從大貨車到小轎車 30 都在一個(gè)平面上行駛,不少城市拖拉機(jī)還是一種主要運(yùn)輸工具,前面一輛舊車擋道,尾隨的新型車只能跟著爬行,過(guò)交叉口時(shí)經(jīng)常出現(xiàn)啟動(dòng)慢的車擋住啟動(dòng)快的車,使交通工程師精心設(shè)計(jì)的交通配時(shí)方案不能很好發(fā)揮效益。

1.4 我國(guó)城市交通控制策略探討

本著不盲目照搬現(xiàn)成系統(tǒng)的經(jīng)驗(yàn),或一味追求控制策略與原理的新穎性,而是根據(jù)我國(guó)城市交通的實(shí)際情況,從簡(jiǎn)從易,逐步完善的原則,我國(guó)城市交通控制策略宜采取:

(1)根據(jù)干道特征明顯的特點(diǎn),系統(tǒng)以線控制為主。

(2)根據(jù)干線上交通流有規(guī)律可循的特點(diǎn),系統(tǒng)以定時(shí)控制為主。

(3)根據(jù)車種混雜和路網(wǎng)稀,路口間距相差懸殊,難以建立精確交通預(yù)測(cè)模型的特點(diǎn),系統(tǒng)應(yīng)加強(qiáng)路口應(yīng)變能力,強(qiáng)化感應(yīng)控制功能。

(4)根據(jù)機(jī)非混合交通特點(diǎn),系統(tǒng)要處理好自行車交通,常用的方法有: 1)實(shí)現(xiàn)自行車與機(jī)動(dòng)車的分離

自行車與機(jī)動(dòng)車的突出矛盾在于混行,要在我國(guó)現(xiàn)有道路基礎(chǔ)上,開(kāi)辟出規(guī)模龐大的自行車道路網(wǎng)是不現(xiàn)實(shí)的,但各城市確有許多小街小巷可利用,對(duì)它們進(jìn)行合理規(guī)劃,造成自行車專用道,消除或減少自行車與機(jī)動(dòng)車的相互干擾是可能的。

2)增設(shè)左轉(zhuǎn)相位

對(duì)機(jī)動(dòng)車干擾最大的是 左 轉(zhuǎn)自行車,在自行車高峰時(shí),對(duì)左 轉(zhuǎn)自行車流較大的路口增設(shè) 左 轉(zhuǎn)相位,時(shí)間不需很長(zhǎng)便可利用自行車啟動(dòng),疏散快的特點(diǎn),使左轉(zhuǎn)自行車基本通過(guò)。

3)控制信號(hào)分時(shí)使用

自行車與機(jī)動(dòng)車高峰出現(xiàn)時(shí)間是交錯(cuò)的,在自行車高峰期間,自行車是構(gòu)成交通流的主體,系統(tǒng)進(jìn)行信號(hào)配時(shí)優(yōu)化時(shí),可優(yōu)先考慮自行車。

(5)可能的系統(tǒng)結(jié)構(gòu)

確定系統(tǒng)的硬件結(jié)構(gòu)主要是依據(jù)系統(tǒng)控制策略要求,系統(tǒng)成本分析和城市的財(cái)政承受能力,同時(shí)也要受到系統(tǒng)管理維護(hù)人員技術(shù)水平的制約。縱合考慮,我國(guó)城市采用兩級(jí)控制結(jié)構(gòu)為宜,即由中心計(jì)算機(jī)和終端——交通信號(hào)控制器組成,信號(hào)配時(shí)方案存于終端中,終端將處理好的檢測(cè)器數(shù)據(jù)和交叉口工作狀態(tài)數(shù)據(jù)定時(shí)傳送至中心計(jì)算機(jī),中心計(jì)算機(jī)經(jīng)優(yōu)化計(jì)算后給出下一個(gè)配時(shí)方案指令,由交通信號(hào)控制器執(zhí)行。這種結(jié)構(gòu)形式的突出優(yōu)點(diǎn)是:

1)減少數(shù)據(jù)傳輸量,控制中心與終端間只需低容量傳輸系統(tǒng)即可有效地進(jìn)行數(shù)據(jù)通信。

2)主要控制和處理功能由終端——交通信號(hào)控制器完成,大大減輕了中心計(jì)算機(jī)的負(fù)擔(dān),只要配置功能稍強(qiáng)的微機(jī)系統(tǒng)即可建成一個(gè)相當(dāng)規(guī)模的控制系統(tǒng)。

按上述設(shè)想建立起來(lái)的將是一個(gè)旨在解決機(jī)非混合交通問(wèn)題,以線控制為主,方案選擇型實(shí)時(shí)自適應(yīng)城市交通控制系統(tǒng)。

(6)可能出現(xiàn)的動(dòng)向

1)系統(tǒng)功能的縮小

我國(guó)建制市370多個(gè),絕大多數(shù)還難以投入足夠的資金建立一個(gè)功能齊備的控制系統(tǒng),從幾個(gè)引進(jìn)系統(tǒng)的實(shí)施情況來(lái)看,并不需要,實(shí)際上也沒(méi)有用到這些系統(tǒng)的全部功能,因此,系統(tǒng)發(fā)展的一個(gè)可能趨勢(shì)是系統(tǒng)功能的縮小,國(guó)外也提出了基本系統(tǒng)的概念,基本系統(tǒng)不以交通應(yīng)答作為基本設(shè)計(jì)依據(jù),只是按照一天內(nèi)劃分的時(shí)段或根據(jù)控制中心的人工干預(yù)執(zhí)行簡(jiǎn)單的時(shí)間表,因而不需車輛檢測(cè)器和大量的數(shù)據(jù)處理。功能縮小后的系統(tǒng)不需配置動(dòng)態(tài)地圖顯示板等外圍設(shè)備,便于控制中心主機(jī)微機(jī)化,耗資少,使用方便,對(duì)我國(guó)大中城市有很吸引力。

2)交通信號(hào)控制器微機(jī)化、系列化

我國(guó)有2000多個(gè)縣,每個(gè)縣都有幾個(gè)城鎮(zhèn),計(jì)算機(jī)區(qū)域控制目前對(duì)這些小城市來(lái)說(shuō)是不現(xiàn)實(shí)的,以微機(jī)為基礎(chǔ)的交通信號(hào)控制器功能靈活,便于實(shí)現(xiàn)無(wú)電纜協(xié)調(diào)控制,必將成為小城市交通控制的主體。大中小城市對(duì)信號(hào)控制器的使用要求不同,對(duì)交通信號(hào)控制器的微機(jī)化,系列化勢(shì)在必行。

本論文正是以此為出發(fā)點(diǎn),對(duì)單片機(jī)控制的交通信號(hào)燈模型作了較詳盡的介紹。

下載基于AT89C51的交通燈控制系統(tǒng)設(shè)計(jì)范文合集word格式文檔
下載基于AT89C51的交通燈控制系統(tǒng)設(shè)計(jì)范文合集.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    智能交通燈控制系統(tǒng)設(shè)計(jì)文獻(xiàn)綜述

    石河子大學(xué)信息科學(xué)與技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)文獻(xiàn)綜述 課題名稱: 智能交通燈控制系統(tǒng)設(shè)計(jì) 學(xué)生姓名: 學(xué) 號(hào): 學(xué) 院: 信息科學(xué)與技術(shù)學(xué)院 專業(yè)年級(jí): 電子信息工程 指導(dǎo)教師: 職......

    基于單片機(jī)的交通燈控制系統(tǒng)

    單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告基于單片機(jī)的交通燈控制系統(tǒng) 1 引言 單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、......

    智能交通燈控制系統(tǒng) 畢業(yè)設(shè)計(jì)總結(jié)

    無(wú)錫職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)總結(jié) 畢業(yè)設(shè)計(jì)總結(jié) 本次畢業(yè)設(shè)計(jì),我的指導(dǎo)老師是李麗老師,首先,我們進(jìn)行總體規(guī)劃,包括控制系統(tǒng)組成、控制系統(tǒng)工作過(guò)程、控制系統(tǒng)功能、控制系統(tǒng)技術(shù)......

    基于FPGA的交通燈控制系統(tǒng)

    基于FPGA的交通燈控制系統(tǒng) 摘 要:針對(duì)現(xiàn)實(shí)中越來(lái)越嚴(yán)重的城市交通擁堵現(xiàn)象,提出了一種城市十字路口 交通信號(hào)燈控制與FPGA實(shí)現(xiàn)的新方法。利用超高速硬件描述語(yǔ)言VHDL設(shè)計(jì)十字......

    基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 目的:本文以AT89S51 單片機(jī)為核心器件,設(shè)計(jì)了多功能交通燈控制系統(tǒng)。 軟件仿真和硬件實(shí)現(xiàn)的結(jié)果表明該系統(tǒng)具有紅綠燈顯示功能、時(shí)間......

    基于WSN的智能交通燈控制系統(tǒng)設(shè)計(jì)概要

    收稿日期:2009-06-16 作者簡(jiǎn)介:田豐(1958—,男,遼寧沈陽(yáng)人,工學(xué)博士,教授,碩士生導(dǎo)師,主要研究方向?yàn)橛?jì)算機(jī)測(cè)控技術(shù)、無(wú)線傳感器網(wǎng)絡(luò)等;杜富瑞(1981—,男,山東濱州人,碩士......

    單片機(jī)控制的交通燈控制系統(tǒng)設(shè)計(jì)[5篇范文]

    摘要 本設(shè)計(jì)是單片機(jī)控制的交通燈控制系統(tǒng)設(shè)計(jì)。由單片機(jī)系統(tǒng)、LED顯示、交通燈演示系統(tǒng)、鍵盤電路及其控制電路組成。該系統(tǒng)除基本交通燈功能外,還具有倒計(jì)時(shí)、緊急情況處理......

    基于AT89S51單片機(jī)多功能交通燈控制系統(tǒng)設(shè)計(jì)下載

    交通燈控制系統(tǒng)設(shè)計(jì) 摘要:本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、LED 顯示、交通燈演示系統(tǒng)組成。系統(tǒng)包括人行道、左轉(zhuǎn)、右轉(zhuǎn)、以及基本的交通燈的功能。系統(tǒng)除基本交通燈功能外,還具有......

主站蜘蛛池模板: 国产成人综合野草| 久久久久九九精品影院| 暖暖免费 高清 日本社区在线观看| 亚洲成在人线av中文字幕喷水| 日本爽快片100色毛片| 久久婷婷五月综合色中文字幕| 自拍偷自拍亚洲精品情侣| 在线观看无码不卡av| 天堂网www在线资源| 丰满人妻中伦妇伦精品app| 无码纯肉动漫在线观看| 精品无码久久久久久久久水蜜桃| 色窝窝无码一区二区三区| 亚洲欧洲自拍拍偷精品 美利坚| 精品精品自在现拍国产2021| 丁香六月久久婷婷开心| 亚洲色婷婷综合久久| 人妻聚色窝窝人体www一区| 亚洲人成小说网站色| 99热精这里只有精品| 永久免费观看国产裸体美女| 成人影片麻豆国产影片免费观看| 亚洲自偷自拍另类12p| 亚洲鲁丝片一区二区三区| 特级做a爰片毛片免费看108| 丁香五月欧美成人| 国产福利在线永久视频| 久久婷婷五月综合色欧美蜜芽| 国产午夜成人免费看片app| 亚洲小说乱欧美另类| 亚洲精品久久久口爆吞精| 国产区精品福利在线社区| 爆乳喷奶水无码正在播放| 少妇被粗大猛进去69影院| 欧美乱妇狂野欧美在线视频| 激性欧美激情在线| 国产白丝jk捆绑束缚调教视频| 免费无码又爽又刺激动态图| 亚洲一区在线日韩在线深爱| 亚洲国产欧美一区点击进入| 韩国19禁主播深夜福利视频|