第一篇:智能交通燈實(shí)習(xí)小結(jié)
小總結(jié)
實(shí)習(xí)期小結(jié)
一:學(xué)習(xí)小總結(jié)
在實(shí)習(xí)的五天時(shí)間里,老師給我們講了很多關(guān)于單片機(jī)的很多知識(shí),例如:?jiǎn)纹瑱C(jī)基礎(chǔ)知識(shí)加強(qiáng)、常見(jiàn)電子元器件的認(rèn)識(shí)、開(kāi)發(fā)環(huán)境最小系統(tǒng)搭建、單片機(jī)C語(yǔ)言的了解、keil軟件的使用、閃爍報(bào)警燈設(shè)計(jì)、數(shù)碼管結(jié)構(gòu)原理、移位寄存器原理及控制方法、中斷系統(tǒng)應(yīng)用、定時(shí)器設(shè)計(jì)等。又時(shí)也給我們穿插一些關(guān)于嵌入式的講座,增進(jìn)我們與現(xiàn)代社會(huì)的接觸。每位老師都講的很好,我也學(xué)到了不少知識(shí),對(duì)自己的專業(yè)前景也有了更深的了解。
二:具體內(nèi)容分析
1.最小系統(tǒng)的搭建和硬件電路的組成 1)51系列單片機(jī)
對(duì)51系列單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路.2)注意事項(xiàng)
a)電烙鐵的安全使用。
b)先要觀察通用板大小,合理布局,插件,最后焊接。c)烙鐵頭不能在實(shí)驗(yàn)板和引腳接觸很長(zhǎng)時(shí)間,會(huì)損壞元件。
3)原理圖
小總結(jié)
4)應(yīng)用此電路實(shí)現(xiàn)的一些功能:
a)流水燈
b)流水燈和蜂鳴器一起工作 c)4位數(shù)碼管依次顯示 d)數(shù)碼管計(jì)數(shù)
e)流水燈蜂鳴器數(shù)碼管一起工作
5)單片機(jī)復(fù)位
單片機(jī)復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機(jī),按下重啟按鈕電腦內(nèi)部的程序從頭開(kāi)始執(zhí)行。單片機(jī)也一樣,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開(kāi)始執(zhí)行。
6)單片機(jī)復(fù)位電路如下圖:
2、閃爍報(bào)警燈的設(shè)計(jì) 1)閃爍報(bào)警燈組成
閃爍報(bào)警電路由電源電路、發(fā)光器件、輸出驅(qū)動(dòng)、單片機(jī)控制電路等組成
2)原理分析
發(fā)光二極管正極與一個(gè)限流電阻串聯(lián),電阻另一端連接電源電壓+5v,發(fā)光二極管負(fù)極
小總結(jié)
連接單片機(jī)P0.x口,當(dāng)P0.x口為低電平時(shí)二極管導(dǎo)通發(fā)光,當(dāng)P0.x口為高電平是不發(fā)光,通過(guò)程序控制P0.x為0或1來(lái)控制發(fā)光二極管的亮滅。
3)閃爍報(bào)警燈硬件環(huán)境搭建
C122pF+5VC222pF+5VX11912MHzU1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD*********617D1D2D3D4D5D6D7D8R1470SW1C320uF1k18R2470XTAL2R34704709RSTR4R5470+5V293031PSENALEEAAT89C52R9R6R***P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7R8470 4)蜂鳴器
蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。;蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。
5)蜂鳴器在單片機(jī)上的應(yīng)用
在單片機(jī)應(yīng)用的設(shè)計(jì)上,很多方案都會(huì)用到蜂鳴器,大部分都是使用蜂鳴器來(lái)做提示或報(bào)警,比如按鍵按下、開(kāi)始工作、工作結(jié)束或是故障等等。
小總結(jié)
6)這里對(duì)單片機(jī)在蜂鳴器驅(qū)動(dòng)上的設(shè)計(jì)圖
3、數(shù)碼管結(jié)構(gòu)、原理控制方法,了解蜂鳴器的使用 1)七段數(shù)碼管
七段數(shù)碼管是數(shù)碼管的一種是半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。
2)七段數(shù)碼管應(yīng)用
數(shù)碼管是一類價(jià)格便宜 使用簡(jiǎn)單,通過(guò)對(duì)其不同的管腳輸入相對(duì)的電流,使其發(fā)亮,從而顯示出數(shù)字能夠顯示 時(shí)間、日期、溫度等所有可用數(shù)字表示的參數(shù)的器件。在電器特別是家電領(lǐng)域應(yīng)用極為廣泛,如顯示屏、空調(diào)、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管,其他家電也用液晶屏與熒光屏。
3)數(shù)碼管結(jié)構(gòu)
小總結(jié)
4)4連排8段數(shù)碼管
5)數(shù)字對(duì)應(yīng)數(shù)碼管顯示控制轉(zhuǎn)換字節(jié)
(共陰編碼)
顯示--HGFE,DCBA--編碼
0 -- 0011,1111--0x3F;1 -- 0000,0110--0x06;2 -- 0101,1011--0x5B;3 -- 0100,1111--0x4F;4 -- 0110,0110--0x66;5 -- 0110,1101--0x6D;6 -- 0111,1101--0x7D;7 -- 0000,0111--0x07;8 -- 0111,1111--0x7F;9 -- 0110,1111--0x6F;
6)動(dòng)態(tài)顯示驅(qū)動(dòng)
是將所有數(shù)碼管通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯
小總結(jié)
示。將所有數(shù)碼管的8個(gè)顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。
7)蜂鳴器簡(jiǎn)介:
蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。;蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。
a)有源 b)無(wú)源
從圖a、b外觀上看,兩種蜂鳴器好像一樣,但仔細(xì)看,兩者的高度略有區(qū)別,有源蜂鳴器a,高度為9mm,而無(wú)源蜂鳴器b的高度為8mm。如將兩種蜂鳴器的引腳都朝上放置時(shí),可以看出有綠色電路板的一種是無(wú)源蜂鳴器,沒(méi)有電路板而用黑膠封閉的一種是有源蜂鳴器。
進(jìn)一步判斷有源蜂鳴器和無(wú)源蜂鳴器,還可以用萬(wàn)用表電阻檔Rxl檔測(cè)試:用黑表筆接蜂鳴器 “-”引腳,紅表筆在另一引腳上來(lái)回碰觸,如果觸發(fā)出咔、咔聲的且電阻只有8Ω(或16Ω)的是無(wú)源蜂鳴器;如果能發(fā)出持續(xù)聲音的,且電阻在幾百歐以上的,是有源蜂鳴器。
有源蜂鳴器直接接上額定電源(新的蜂鳴器在標(biāo)簽上都有注明)就可連續(xù)發(fā)聲;而無(wú)源蜂鳴器則和電磁揚(yáng)聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。
在單片機(jī)應(yīng)用的設(shè)計(jì)上,很多方案都會(huì)用到蜂鳴器,大部分都是使用蜂鳴器來(lái)做提示或報(bào)警,比如按鍵按下、開(kāi)始工作、工作結(jié)束或是故障等等。這里對(duì)單片機(jī)在蜂鳴器驅(qū)動(dòng)上的應(yīng)用作一下描述。
利用I/O 軟件定時(shí)翻轉(zhuǎn)電平利用定時(shí)器定時(shí)翻轉(zhuǎn)電平
比如為2500Hz 的蜂鳴器的驅(qū)動(dòng),可以知道周期為400μs,這樣只需要驅(qū)動(dòng)蜂鳴器的I/O 口每200μs 翻轉(zhuǎn)一次電平就可以產(chǎn)生一個(gè)頻率為2500Hz,占空比為1/2duty 的方波,再通過(guò)三極管放大就可以驅(qū)動(dòng)這個(gè)蜂鳴器了。
小總結(jié)
4、中斷和定時(shí)應(yīng)用 1)中斷概念
CPU正 在執(zhí)行原程序,突然,被意外事情打斷,轉(zhuǎn)去執(zhí)行新程序。CPU執(zhí)行新程序結(jié)束后,又回到原程序中繼續(xù)執(zhí)行。這樣的過(guò)程就叫中斷。
2)中斷的作用
對(duì)突發(fā)事故,做出緊急處理。
根據(jù)現(xiàn)場(chǎng)隨時(shí)變化的各種參數(shù)、信息,做出實(shí)時(shí)監(jiān)控。
CPU與外部設(shè)備并行工作,以中斷方式相聯(lián)系,提高工作效率。解決快速CPU與慢速外設(shè)之間的矛盾。
在多項(xiàng)外部設(shè)備同時(shí)提出中斷請(qǐng)求情況下,CPU能根據(jù)輕重緩急響應(yīng)外設(shè)的中斷請(qǐng)求。
3)89C51中斷結(jié)構(gòu)及中斷控制
小總結(jié)
4)89C51中斷系統(tǒng)的五個(gè)中斷源為
① INT0——外部中斷0請(qǐng)求,低電平有效。通過(guò) P3.2引腳輸入。
② INT1——外部中斷1請(qǐng)求,低電平有效。通過(guò) P3.3引腳輸入。
③ T0 —— 定時(shí)器/計(jì)數(shù)器0溢出中斷請(qǐng)求。
④ T1 —— 定時(shí)器/計(jì)數(shù)器1溢出中斷請(qǐng)求。
⑤ TXD/RXD ——串行口中斷請(qǐng)求。
每個(gè)中斷源都對(duì)應(yīng)一個(gè)中斷請(qǐng)求標(biāo)志位,他們?cè)O(shè)置在特殊功能寄存器TCON和SCON中。當(dāng)這些中斷源請(qǐng)求中斷時(shí),相應(yīng)的標(biāo)志分別由TCON和SCON中的相應(yīng)位來(lái)鎖存。
5)工作模式寄存器—TMOD(89H)
TMOD用于控制T0和T1的工作模式,其各位的定義格式如圖所示。
工作模式寄存器TMOD的位定義
其中,低4位用于T0。高4位用于T1。
6)M1,M0控制的四種工作模式
M1 M0 工作模式 功能描述 0 0 模式0 13位計(jì)數(shù)器 0 1 模式1 16位計(jì)數(shù)器 0 模式2 自動(dòng)裝入8位計(jì)數(shù)器 1 模式3 定時(shí)器0:分成兩個(gè)8位計(jì)數(shù)器
定時(shí)器1:停止計(jì)數(shù)
三附錄:
小總結(jié)
流水燈
#include
for(j=0;j<5;j++)for(k=0;k<256;k++);}
main()
{
int n, D;
while(1)//發(fā)光二極管依次顯示
{
D=0X01;
P1=~D;
delay();
D=0X03;
P1=~D;
delay();
D=0X07;
P1=~D;
delay();
D=0X0F;
P1=~D;
delay();
D=0X1F;
P1=~D;
delay();
D=0X3F;
P1=~D;
delay();
D=0X7F;
P1=~D;
delay();
D=0X00;
P1=D;
delay();} }
流水燈和蜂鳴器
小總結(jié)
#include
} void senddata(unsigned char num){
} void main(){
unsigned i,s,g,b,q,first,second,third,fourth,t;while(1){
for(t=0;t<10000;t++){
g=t%10;//個(gè)位 s=(t/10)%10;//十位 b=(t/100)%10;//百位 q=t/1000;//千位 first=SZ[g];//個(gè)位數(shù)碼管 second=SZ[s];//十位數(shù)碼管 third=SZ[b];//百位數(shù)碼管 unsigned char i;for(i=0;i<8;i++){
} CLK=0;AB=num&0x01;num>>=1;CLK=1;unsigned char i,j,k;for(i=1;i>0;i--)
for(j=2;j>0;j--)for(k=222;k>0;k--);10
小總結(jié)
} 四位計(jì)數(shù)器
#include
fourth=SZ[q];//千位數(shù)碼管 for(i=0;i<100;i++)
{
} SG=0;SS=1;SB=1;SQ=1;delay();SG=1;SS=0;SB=1;SQ=1;delay();SG=1;SS=1;SB=0;SQ=1;delay();SG=1;SS=1;SB=1;SQ=0;delay();senddata(first);//個(gè)位控制位
senddata(second);//十位控制位
senddata(third);//百位控制位
senddata(fourth);//千位控制位
P1=0X00;delay();fmq=0;delay();fmq=1;delay();} } 11
小總結(jié)
sbit SS=P2^3;sbit SB=P2^4;sbit SQ=P2^5;sbit fmq=P3^1;sbit F=P2^7;unsigned char SZ[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(){ unsigned char i,j,k;for(i=1;i>0;i--)
for(j=2;j>0;j--)
for(k=222;k>0;k--);} void senddata(unsigned char num){ unsigned char i;for(i=0;i<8;i++){
CLK=0;
AB=num&0x01;
num>>=1;
CLK=1;} } void main(){ unsigned i,s,g,b,q,first,second,third,fourth,t;while(1){
for(t=0;t<10000;t++)
{
g=t%10;
s=(t/10)%10;
b=(t/100)%10;
q=t/1000;
first=SZ[g];
second=SZ[s];
third=SZ[b];
fourth=SZ[q];
//F=~F;
for(i=0;i<100;i++)
{ SG=0;12
小總結(jié)
}
} } }
計(jì)時(shí)器計(jì)數(shù)
#include
sbit F=P2^7;sbit led1=P1^0;unsigned char SZ[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(){ unsigned char i,j,k;for(i=1;i>0;i--)
for(j=2;j>0;j--)
for(k=222;k>0;k--);} void senddata(unsigned int num){ unsigned char i;for(i=0;i<8;i++){
CLK=0;
AB=num&0x01;
num>>=1;
CLK=1;} } void main(){ unsigned num,i,s,g,b,q,first,second,third,fourth,t;TMOD=0X00;TH0=(65536-50000)/256;TL0=(65536-50000)%256;//EA=1;//ET0=1;TR0=1;while(1){ if(TF0==1)
{
num++;if(num==0)
{
i++;
P1=0X00;
delay();
fmq=0;
delay();fmq=1;
小總結(jié)
delay();}
TF0=0;//定時(shí)器方式0
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;} for(t=0;t<10000;t++){
g=t%10;
s=(t/10)%10;
b=(t/100)%10;
q=t/1000;
first=SZ[g];
second=SZ[s];
third=SZ[b];
fourth=SZ[q];
for(i=0;i<100;i++)
{
SG=0;
SS=1;
SB=1;
SQ=1;
senddata(first);delay();
SG=1;
SS=0;
SB=1;
SQ=1;
senddata(second);
delay();
SG=1;
SS=1;
SB=0;
SQ=1;
senddata(third);delay();
SG=1;
SS=1;
SB=1;SQ=0;
小總結(jié)
senddata(fourth);
delay();
}
P1=0X00;
delay();
fmq=0;
delay();
fmq=1;
delay();
}
}
}
閃爍報(bào)警 #include
for(j=0;j<5;j++)for(k=0;k<256;k++);} void delay1(){ int i,j,k;for(i=0;i<30;i++)
for(j=0;j<1;j++)for(k=0;k<256;k++);}
main()
{
int n;
while(1){
P1=0XE7;delay();fmq=0;delay();fmq=1;16
小總結(jié)
for(n=0;n<20;n++){ P1=0X00;delay1();fmq=0;delay1();fmq=1;delay1();P1=0XFF;delay1();} } } delay();delay();fmq=0;delay();fmq=1;delay();P1=0X00;delay();fmq=0;delay();fmq=1;delay();P1=0XFF;delay();
P1=0XA5;中斷實(shí)現(xiàn)計(jì)數(shù) #include
小總結(jié)
{ unsigned char i,j,k;for(i=1;i>0;i--)
for(j=2;j>0;j--)
for(k=222;k>0;k--);} void senddata(unsigned int num){ unsigned char i;for(i=0;i<8;i++){
CLK=0;
AB=num&0x01;
num>>=1;
CLK=1;} } void main(){ unsigned i,s,g,b,q,first,second,third,fourth,t;TMOD=0X00;TH0=(65536-50000)/256;TL0=(65536-50000)%256;//中斷請(qǐng)求 EA=1;ET0=1;TR0=1;while(1)//數(shù)碼管依次計(jì)數(shù) {
for(t=0;t<10000;t++)
{ g=t%10;
s=(t/10)%10;
b=(t/100)%10;
q=t/1000;
first=SZ[g];
second=SZ[s];
third=SZ[b];
fourth=SZ[q];
for(i=0;i<100;i++){ SG=0;18
小總結(jié)
SS=1;
SB=1;
SQ=1;
senddata(first);delay();
SG=1;
SS=0;
SB=1;
SQ=1;
senddata(second);
delay();
SG=1;
SS=1;
SB=0;
SQ=1;
senddata(third);delay();
SG=1;
SS=1;
SB=1;
SQ=0;
senddata(fourth);
delay();
}
P1=0X00;
delay();
fmq=0;
delay();
fmq=1;
delay();
}
} } void T0_time()interrupt 1 { //定時(shí)器
TH0=(65536-50000)/256;TL0=(65536-50000)%256;num++;
if(num==20)19
小總結(jié)
{
num=0;
} }
第二篇:基于FPGA的智能交通燈
設(shè)計(jì)題目: 基于FPGA的交通燈控制系統(tǒng)設(shè)計(jì)
專 業(yè):
學(xué)生姓名: 學(xué) 號(hào):
起迄日期: 2014.8.22.--2014.9.22.指導(dǎo)教師: 教研室主任:
目錄
1.緒論..............................................................1 2.課題研究背景及意義................................................1 3.設(shè)計(jì)要求..........................................................1 4.設(shè)計(jì)方案..........................................................1 4.1方案比較....................................錯(cuò)誤!未定義書(shū)簽。4.2 方案說(shuō)明...................................錯(cuò)誤!未定義書(shū)簽。5.VHDL語(yǔ)言介紹...................................錯(cuò)誤!未定義書(shū)簽。6.系統(tǒng)仿真..........................................................3 6.1 系統(tǒng)電路框圖................................................4 6.2設(shè)計(jì)結(jié)果仿真.................................................4 7.心得體會(huì)..........................................................5 8.參考文獻(xiàn)..........................................................6 7.附件..............................................................6
摘要:針對(duì)現(xiàn)實(shí)中越來(lái)越嚴(yán)重的城市交通擁堵現(xiàn)象,提出了一種城市十字路口交通信號(hào)燈控制與FPGA實(shí)現(xiàn)的新方法。設(shè)計(jì)的智能交通控制系統(tǒng)利用對(duì)相向車(chē)道采用不同步的紅綠燈信號(hào)控制方法,能夠減少交通資源浪費(fèi),大幅提高十字路口的車(chē)輛通行效率。利用超高速硬件描述語(yǔ)言VHDL設(shè)計(jì)十字路口交通信號(hào)燈控制器,實(shí)現(xiàn)主干道和支干道的交通控制功能,并通過(guò)Quartus II完成綜合、仿真、進(jìn)行管腳分配、繪出仿真波形及原理圖。
關(guān)鍵字:硬件描述語(yǔ)言VHDL;交通信號(hào)燈;智能控制
1.緒論
智能的交通燈指揮著人們和各種車(chē)輛的安全運(yùn)行,實(shí)現(xiàn)紅、黃、綠燈的自動(dòng)指揮是城鄉(xiāng)交通管理現(xiàn)代化的重要課題。在城鄉(xiāng)街道的十字交叉路口,為了保證交通秩序和行人的安全,一般在每條街道上各有一組紅、黃、綠交通信號(hào)燈,其中紅燈亮,表示該條道禁止通行;黃燈亮該條道路上未過(guò)停車(chē)線的停止通行,已過(guò)停車(chē)線的車(chē)輛繼續(xù)通行;綠燈亮,表示該條道路允許通行。交通燈自動(dòng)控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各種車(chē)輛和行人安全通行。實(shí)現(xiàn)十字路口交通管理自動(dòng)化。
DEA技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,在電子信息,通信,自動(dòng),控制及計(jì)算機(jī)應(yīng)用等領(lǐng)域的重要性日益突出,因此本論文研究基于FPGA的交通燈設(shè)計(jì)。FPGA中有大量實(shí)現(xiàn)組合邏輯的資源,可以完成較大規(guī)模的組合邏輯電路設(shè)計(jì),而其中相當(dāng)數(shù)量的存儲(chǔ)電路(觸發(fā)器)又可完成復(fù)雜的時(shí)序邏輯電路設(shè)計(jì)。通過(guò)使用各種EDA工具,用原理圖或硬件描述語(yǔ)言,可以很方便地將復(fù)雜的電路在FPGA中實(shí)現(xiàn)。像典型的數(shù)字系統(tǒng)分頻器,數(shù)字鐘,數(shù)字頻率計(jì)等等都可用FPGA完成。本文以QuartusII 軟件為開(kāi)發(fā)平臺(tái),通過(guò)VHDL硬件描述語(yǔ)言以及原理圖的輸入方式來(lái)設(shè)計(jì)交通燈。
2.課題研究背景及意義
隨著公路交通運(yùn)輸?shù)陌l(fā)展,交通擁擠、道路阻塞和交通事故頻繁發(fā)生等問(wèn)題越來(lái)越嚴(yán)重地困擾著世界各大城市。相對(duì)于交通運(yùn)輸工具的飛速發(fā)展,我國(guó)交通配套設(shè)施建設(shè)明顯滯后,道路安全網(wǎng)絡(luò)、道路標(biāo)識(shí)、交通指揮中心仍然不足。單獨(dú)從車(chē)輛方面或道路方面考慮,均很難有效地解決交通問(wèn)題。通過(guò)采用信息通信技術(shù)、電子技術(shù)以及其他科學(xué)技術(shù)把它們聯(lián)系起來(lái),并實(shí)現(xiàn)智能化的交通控制才能解決根本問(wèn)題,交通信息化需要融合科技力量才能使目前的交通問(wèn)題得到改善。
在現(xiàn)代文明高速發(fā)展的社會(huì),道路的高度發(fā)達(dá)使得整個(gè)社會(huì)進(jìn)步的速度進(jìn)一步的加快,交通燈的出現(xiàn)是社會(huì)發(fā)展的必然產(chǎn)物。交通燈在道路事業(yè)中占有舉足輕重的地位,它直接影響到公路以及市區(qū)內(nèi)的通車(chē)質(zhì)量。所以,智能交通燈的研究具有重大意義。
3.設(shè)計(jì)要求
主干道綠燈亮支干道紅燈亮?xí)r間是50秒,接下來(lái)黃燈閃爍5秒,此時(shí)主干道的綠燈和支干道的紅燈繼續(xù)亮;然后是主干道紅燈亮支干道綠燈亮,時(shí)間為20秒,再黃燈閃5秒同時(shí)主干道的紅燈和支干道的綠燈也繼續(xù)亮。
4.設(shè)計(jì)方案
首先根據(jù)系統(tǒng)的需要進(jìn)行分析。系統(tǒng)要求主干道綠燈亮支干道紅燈亮?xí)r間是50秒,接下來(lái)黃燈閃爍5秒,此時(shí)主干道的綠燈和支干道的紅燈繼續(xù)亮,然后是 主干道紅燈亮支干道綠燈亮?xí)r間為20秒,再黃燈閃5秒同時(shí)主干道的紅燈和支干道的綠燈也繼續(xù)亮。
因此將整個(gè)系統(tǒng)分為計(jì)時(shí)模塊和控制模塊組成。計(jì)時(shí)模塊中秒模塊主要將50MHZ的時(shí)鐘進(jìn)行分頻得到20ns的時(shí)鐘信號(hào),再將信號(hào)50000000倍得到秒信號(hào)。控制模塊由交通燈控制模塊以及黃燈閃爍模塊構(gòu)成。
Verilog HDL語(yǔ)言介紹 5.1 Verilog HDL特點(diǎn)
Verilog HDL語(yǔ)言不僅定義了語(yǔ)法,而且對(duì)每個(gè)語(yǔ)法結(jié)構(gòu)都定義了清晰地模擬、仿真語(yǔ)義。使用這種語(yǔ)言編寫(xiě)的模型可以方便地使用Verilog仿真器進(jìn)行驗(yàn)證。Verilog HDL從C語(yǔ)言繼承了多種操作符和結(jié)構(gòu)。Verilog HDL提供了擴(kuò)展的建模能力和擴(kuò)展模塊。
Verilog HDL之所以成為和VHDL并駕齊驅(qū)的描述語(yǔ)言,以為它有如下特點(diǎn):
(1)基本邏輯門(mén),例如and、or和nand等都內(nèi)置在語(yǔ)言中。
(2)用戶定義原語(yǔ)(UDP)創(chuàng)建的靈活性。用戶定義的原語(yǔ)既可以是組合邏輯原語(yǔ),也可以是時(shí)序邏輯原語(yǔ)。
(3)開(kāi)關(guān)級(jí)基本結(jié)構(gòu)模型,例如pmos 和nmos等也被內(nèi)置在語(yǔ)言中。(4)提供顯式語(yǔ)言結(jié)構(gòu)指定設(shè)計(jì)中的端口到端口的時(shí)延及路徑時(shí)延和設(shè)計(jì)的時(shí)序檢查。
(5)可采用三種不同方式或混合方式對(duì)設(shè)計(jì)建模。這些方式包括:行為描述方式—使用過(guò)程化結(jié)構(gòu)建模;數(shù)據(jù)流方式—使用連續(xù)賦值語(yǔ)句方式建模;結(jié)構(gòu)化方式—使用門(mén)和模塊實(shí)例語(yǔ)句描述建模。
(6)Verilog HDL中有兩類數(shù)據(jù)類型:線網(wǎng)數(shù)據(jù)類型和寄存器數(shù)據(jù)類型。線網(wǎng)類型表示構(gòu)件間的物理連線,而寄存器類型表示抽象的數(shù)據(jù)存儲(chǔ)元件。
(7)能夠描述層次設(shè)計(jì),可使用模塊實(shí)例結(jié)構(gòu)描述任何層次。設(shè)計(jì)能夠在多個(gè)層次上加以描述,從開(kāi)關(guān)級(jí)、門(mén)級(jí)、寄存器傳送級(jí)(RTL)到算法級(jí)。
(8)設(shè)計(jì)的規(guī)模可以是任意的;語(yǔ)言不對(duì)設(shè)計(jì)的規(guī)模(大小)施加任何限制。Verilog HDL不再是某些公司的專有語(yǔ)言而是IEEE標(biāo)準(zhǔn)。人和機(jī)器都可閱讀Verilog 語(yǔ)言,因此它可作為EDA的工具和設(shè)計(jì)者之間的交互語(yǔ)言。
5.2Verilog HDL程序基本結(jié)構(gòu)
模塊是Verilog HDL的基本描述單位,描述某個(gè)設(shè)計(jì)的功能或結(jié)構(gòu)及與其他模塊通信的外部端口。一個(gè)模塊的基本語(yǔ)法如下:
module module_name//模塊名稱
(port_list);//輸入輸出信號(hào)列表//說(shuō)明 reg//寄存器 wire//線網(wǎng)
parameter//參數(shù) input//輸入信號(hào) output//輸出信號(hào) inout//輸入輸出信號(hào) function//函數(shù) task//任務(wù) …//語(yǔ)句
Initial statement Always statement Module instantiation// Gate instantiation// UDP instantiation// Continuous assignment// Endmodule 說(shuō)明部分用于定義不同的項(xiàng),例如模塊描述中使用寄存器和參數(shù)、語(yǔ)句定義設(shè)計(jì)的功能和結(jié)構(gòu)。說(shuō)明部分和語(yǔ)句可以放置在模塊的任何地方,但是變量、寄存器、線網(wǎng)和參數(shù)等的說(shuō)明部分必須在使用前出現(xiàn)。為了使模塊描述清晰和具有良好的可讀性,最好將所有的說(shuō)明部分放在語(yǔ)句前。
6.系統(tǒng)仿真
本文的仿真是在QuartuslI上進(jìn)行的。QuartuslI 是 Altera 提供的 FPGA/CPLD 開(kāi)發(fā)集成環(huán)境,Altera 是世界上最大的可編程邏輯器件供應(yīng)商之一。QimrtiisII在21世紀(jì) 初推出,是Altera前一代FPGA/CPLD集成開(kāi)發(fā)環(huán)境MAX+plusII的更 新?lián)Q代產(chǎn)品,其界面友好,使用便捷。QuartiisII提供了一種與結(jié)構(gòu) 無(wú)關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件 編程。
Altera的QuartusII提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿足各 種特定設(shè)計(jì)的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán) 境和SOPC開(kāi)發(fā)的基本設(shè)計(jì)工具,并為Altera DSP開(kāi)發(fā)包進(jìn)行系統(tǒng)模 型設(shè)計(jì)提供了集成綜合環(huán)境。
QuartusII包括模塊化的編輯器。編輯器包括的功能模塊有分析 /綜合器、適配器、裝配器、時(shí)序分析器、設(shè)計(jì)輔助模塊、EDA網(wǎng)表 文件生成器、編輯數(shù)據(jù)接口等。可以通過(guò)選擇Start Compilation來(lái)運(yùn)行所有的編輯器模塊,也可以選擇單獨(dú)運(yùn)行各個(gè)模塊。
基于Quartus II的設(shè)計(jì)流程:
(1)建立工作庫(kù)文件夾和編輯設(shè)計(jì)文件(2)創(chuàng)建工程;(3)全程編譯工程;(4)時(shí)序仿真;(5)引腳鎖定;
(6)下載至硬件系統(tǒng)驗(yàn)證。
6.1 系統(tǒng)電路框圖
系統(tǒng)整體電路設(shè)計(jì)采用原理圖輸入法,將各個(gè)模塊包括子模塊進(jìn)行連接,得到系統(tǒng)的電路框圖如下圖所示。
圖三 系統(tǒng)整體電路圖
6.2設(shè)計(jì)結(jié)果仿真
利用Quartus II軟件對(duì)本設(shè)計(jì)的程序進(jìn)行編譯,得到系統(tǒng)的仿真圖。
交通燈運(yùn)行時(shí)時(shí)序仿真圖1
交通燈運(yùn)行時(shí)時(shí)序仿真圖1
7.心得體會(huì)
在這次課程設(shè)計(jì)中,我再一次的體驗(yàn)到了細(xì)心對(duì)一個(gè)編程者的重要性,和程序的規(guī)范性對(duì)于程序的重要性,這些平時(shí)我們忽略的問(wèn)題,其實(shí)有時(shí)候關(guān)乎著我們編程的成功與否的。
在verilog語(yǔ)言中,我們必須注意其與C語(yǔ)言的異同,比如格式和變量定義,還有模塊的調(diào)用,和時(shí)鐘信號(hào)的應(yīng)用。我覺(jué)得需要在以后多加練習(xí),可以對(duì)以后的學(xué)習(xí)和工作帶來(lái)莫大的幫助。這次的
課程設(shè)計(jì)相對(duì)以前的較難,其實(shí)就是對(duì)我們的一次考核,也是一次考驗(yàn),它培養(yǎng)了學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。然而從理論到實(shí)踐的轉(zhuǎn)化過(guò)程,我在做課程設(shè)計(jì)的近一個(gè)月時(shí)間里,有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)知識(shí)要重在實(shí)踐,要通過(guò)不斷的實(shí)際操作才能更好地學(xué)習(xí)。
通過(guò)這次課程設(shè)計(jì),我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能
力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,遇到了各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知解得不夠深刻,掌握得不夠牢固。實(shí)踐出真知,通過(guò)親自動(dòng)手制作,使我們掌握的知識(shí)不再是紙上談兵。
8.參考文獻(xiàn)
(1)程云長(zhǎng).可編程邏輯器件與VHDL語(yǔ)言[M].北京:科學(xué)出版社,2005(2)黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2006(3)黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽電路設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2006(4)黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽 常用電路模塊制作[M].北京:北京航空航天大學(xué)出版社,2010(5)黃智偉等.基于NI multisim的電子電路計(jì)算機(jī)仿真設(shè)計(jì)與分析[M].北京:電子工業(yè)出版社,2007(6)黃智偉.印制電路板(PCB)設(shè)計(jì)技術(shù)與實(shí)踐[M].北京:電子工業(yè)出版社,2009(7)高吉祥等.電子技術(shù)基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì)[M].北京:電子工業(yè)出版社,2002(8)潘松.EDA技術(shù)實(shí)用教程[M].科學(xué)出版社.2005
7.附件 原程序
`timescale 100ms / 1us //程序中的時(shí)間單位和仿真精度。module signal_led(clk, rst_n, traffic_signal_master_red, traffic_signal_master_green, traffic_signal_master_yellow, traffic_signal_slave_red, traffic_signal_slave_green, traffic_signal_slave_yellow);input clk;input rst_n;output reg
traffic_signal_master_red;// 交通信號(hào)燈主干道紅燈
output reg
traffic_signal_master_green;// 交通信號(hào)燈主干道綠燈
output reg
traffic_signal_master_yellow;// 交通信號(hào)燈主干道黃燈 output reg
traffic_signal_slave_red;// 交通信號(hào)燈次干道紅燈
output reg
traffic_signal_slave_green;// 交通信號(hào)燈次干道綠燈
output reg
traffic_signal_slave_yellow;// 交通信號(hào)燈次干道黃燈
reg signal_red_led;reg signal_green_led;reg signal_yellow_led;reg [31:0] traffic_signal_cnt;parameter
LED_ON
= 1'b0;// 1亮
parameter
LED_OFF
= 1'b1;// 0滅
parameter
TIME_CELL
= 32'd50000000;// 時(shí)間單元時(shí)間 = Time_cell * 20ns(50MHz主頻)parameter START = 32'd0;parameter MASTER_GREEN = TIME_CELL * 20;parameter MASTER_YELLOW_1 = TIME_CELL * 20 + TIME_CELL;parameter MASTER_YELLOW_2 = TIME_CELL * 20 + 2 * TIME_CELL;parameter MASTER_YELLOW_3 = TIME_CELL * 20 + 3 * TIME_CELL;parameter MASTER_YELLOW_4 = TIME_CELL * 20 + 4 * TIME_CELL;parameter MASTER_YELLOW_5 = TIME_CELL * 20 + 5 * TIME_CELL;parameter SLAVE_GREEN = TIME_CELL * 20 + 5 * TIME_CELL + TIME_CELL * 20;parameter SLAVE_YELLOW_1 = TIME_CELL * 20 + 5 * TIME_CELL + TIME_CELL * 20 + TIME_CELL;parameter SLAVE_YELLOW_2 = TIME_CELL * 20 + 5 * TIME_CELL + TIME_CELL * 20 + 2 * TIME_CELL;parameter SLAVE_YELLOW_3 = TIME_CELL * 20 + 5 * TIME_CELL + TIME_CELL * 20 + 3 * TIME_CELL;parameter SLAVE_YELLOW_4 = TIME_CELL * 20 + 5 * TIME_CELL + TIME_CELL * 20 + 4 * TIME_CELL;parameter TOTAL_TIME = TIME_CELL * 20 + 5 * TIME_CELL + TIME_CELL * 20 + 5 * TIME_CELL;
//******************************************************************* // 模塊名稱:時(shí)間計(jì)數(shù)種子 // 功能描述
//******************************************************************* always @(posedge clk or negedge rst_n)begin if(!rst_n)traffic_signal_cnt <= 32'h0;else if(traffic_signal_cnt == TOTAL_TIME)traffic_signal_cnt <= START;else traffic_signal_cnt <= traffic_signal_cnt+1;end //******************************************************************* // 模塊名稱:LED燈閃爍控制 // 功能描述
//******************************************************************* always @(posedge clk or negedge rst_n)begin if(!rst_n)
begin signal_red_led <= LED_OFF;signal_green_led <= LED_OFF;signal_yellow_led <= LED_OFF;end else begin case(traffic_signal_cnt)START
:
begin signal_red_led <= LED_OFF;signal_green_led <= LED_ON;signal_yellow_led <= LED_OFF;end MASTER_GREEN
:
begin signal_red_led <= LED_OFF;signal_green_led <= LED_ON;signal_yellow_led <= LED_ON;end MASTER_YELLOW_1 :
begin signal_red_led <= LED_OFF;signal_green_led <= LED_ON;signal_yellow_led <= LED_OFF;end MASTER_YELLOW_2 :
begin signal_red_led <= LED_OFF;signal_green_led <= LED_ON;signal_yellow_led <= LED_ON;end MASTER_YELLOW_3 :
begin signal_red_led <= LED_OFF;signal_green_led <= LED_ON;signal_yellow_led <= LED_OFF;end MASTER_YELLOW_4 :
begin signal_red_led <= LED_OFF;signal_green_led <= LED_ON;signal_yellow_led <= LED_ON;end MASTER_YELLOW_5 :
begin signal_red_led <= LED_ON;signal_green_led <= LED_OFF;signal_yellow_led <= LED_OFF;end SLAVE_GREEN
:
begin signal_red_led <= LED_ON;signal_green_led <= LED_OFF;signal_yellow_led <= LED_OFF;end SLAVE_YELLOW_1 :
begin signal_red_led <= LED_ON;signal_green_led <= LED_OFF;signal_yellow_led <= LED_ON;end SLAVE_YELLOW_2 :
begin signal_red_led <= LED_ON;signal_green_led <= LED_OFF;signal_yellow_led <= LED_OFF;end SLAVE_YELLOW_3 :
begin signal_red_led <= LED_ON;signal_green_led <= LED_OFF;signal_yellow_led <= LED_ON;end SLAVE_YELLOW_4 :
begin signal_red_led <= LED_ON;signal_green_led <= LED_OFF;signal_yellow_led <= LED_OFF;end endcase end end //******************************************************************* // 模塊名稱:主從LED輸出 // 功能描述:
//******************************************************************* always @(posedge clk or negedge rst_n)begin if(!rst_n)begin traffic_signal_master_red <= LED_OFF;traffic_signal_master_green <= LED_OFF;traffic_signal_master_yellow <= LED_OFF;traffic_signal_slave_red <= LED_OFF;traffic_signal_slave_green <= LED_OFF;traffic_signal_slave_yellow <= LED_OFF;end else begin traffic_signal_master_red <= signal_red_led;traffic_signal_master_green <= signal_green_led;traffic_signal_master_yellow <= signal_yellow_led;traffic_signal_slave_red <= ~signal_red_led;traffic_signal_slave_green <= ~signal_green_led;traffic_signal_slave_yellow <= signal_yellow_led;end end endmodule
第三篇:智能交通燈控制系統(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ù)指標(biāo);之后,進(jìn)行了硬件系統(tǒng)設(shè)計(jì),學(xué)習(xí)單片機(jī)原理與接口技術(shù),網(wǎng)上搜索下載AT89C51、數(shù)碼顯示管、點(diǎn)亮LED技術(shù)資料,并學(xué)習(xí)消化,設(shè)計(jì)硬件控制原理,用Protel繪圖軟件設(shè)計(jì)出控制器原理圖,并對(duì)控制器硬件進(jìn)行了調(diào)試;接著,研究設(shè)計(jì)六線四相步進(jìn)電機(jī)控制方式和方法;而后,規(guī)劃出了控制軟件結(jié)構(gòu)圖,設(shè)計(jì)出了主控模塊程序流程圖、各功能模塊程序流程圖,并逐功能模塊編輯、編譯、連接、測(cè)試控制程序,在編程過(guò)程中,我一邊學(xué)習(xí)C51程序設(shè)計(jì),一邊熟悉Keil C51開(kāi)發(fā)平臺(tái),一邊編程設(shè)計(jì)控制程序;最后,對(duì)控制程序進(jìn)行了測(cè)試和修改完善。
本次畢業(yè)設(shè)計(jì)創(chuàng)新點(diǎn)一是提出了六線四相步進(jìn)電機(jī)啟動(dòng)加速控制技術(shù)方案,二是研究了六線四相步進(jìn)電機(jī)各種運(yùn)行控制方式。
本次畢業(yè)設(shè)計(jì)體會(huì)一是深刻認(rèn)識(shí)到專業(yè)理論對(duì)指導(dǎo)實(shí)踐工作的重要性,上學(xué)期間,專業(yè)理論學(xué)的不夠扎實(shí),不夠深入、不夠全面、不懂用途;二是現(xiàn)有的技能不能勝任實(shí)際工作,實(shí)際動(dòng)手能力欠缺;三是不知道如何進(jìn)行課題需求分析、課題總體規(guī)劃;四是不知道如何進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì);五是實(shí)際編程經(jīng)驗(yàn)欠缺,缺少排除故障能力。所以,我們即將畢業(yè)的大學(xué)生需要與時(shí)俱進(jìn),克服不足,勤學(xué)苦練,迎接挑戰(zhàn),為國(guó)爭(zhēng)光。
在該課題后續(xù)研究設(shè)計(jì)時(shí),應(yīng)重視步進(jìn)電機(jī)特性研究,重視控制方法、控制方式研究;增加聯(lián)網(wǎng)控制功能;增加LCD數(shù)據(jù)顯示功能。
在這篇畢業(yè)設(shè)計(jì)論文即將完成的時(shí)候,我突然意識(shí)到自己的校園生活即將畫(huà)上一個(gè)句號(hào)。當(dāng)我踏上工作崗位的時(shí)候即將面對(duì)的是完全不同于之前十幾年校園生活的新的旅程。如果說(shuō)之前的日子是學(xué)會(huì)如何做人、如何做事、如何認(rèn)識(shí)和理解世界、如何學(xué)會(huì)感恩,那么,今后的日子,我將真正成為一個(gè)有用的人,一個(gè)能與別人合作或者獨(dú)立完成任務(wù)的人,一個(gè)真正懂得世界、懂得感恩并真正付出的人。
我要感謝我存在的這個(gè)世界賦予我的認(rèn)知和理解,感謝父母給了我機(jī)會(huì)認(rèn)識(shí)并引導(dǎo)撫育我這個(gè)世界,感謝二十幾年來(lái)成百上千的老師與朋友讓我能夠在正確的道路上走得更遠(yuǎn)并且激勵(lì)我成為一個(gè)堅(jiān)定信念不做讓自己后悔事情的人。
“窮則獨(dú)善其身,達(dá)則兼濟(jì)天下”,古訓(xùn)教導(dǎo)我們不做自私人,懂得盡己所能,知恩圖報(bào)。一切來(lái)之不易,珍惜且能盡其用,算是在自己能力有限的時(shí)候?qū)ι鐣?huì),對(duì)生活最大的慰藉和回報(bào)。今年的二月份,在經(jīng)歷了將近一年的苦苦尋覓之后,我終于遇到了一個(gè)適合自己發(fā)展的崗位,也終于能夠?qū)⑷康木ν度氲竭@次畢業(yè)設(shè)計(jì)之中。首先我非常感謝我的導(dǎo)師李老師對(duì)我的支持和寬容,因?yàn)檫@次畢設(shè)的題目來(lái)源于我在生活的靈感,并且有著強(qiáng)烈的愿望,期望它能夠成為現(xiàn)實(shí),期望在離開(kāi)校園之前見(jiàn)證自己所學(xué)是有用的學(xué)問(wèn)。李老師在我的畢設(shè)過(guò)程中給予我鼎力的支持,因而有機(jī)會(huì)實(shí)現(xiàn)這個(gè)愿望。同時(shí),在漫長(zhǎng)的設(shè)計(jì)和實(shí)踐過(guò)程中,身邊的同學(xué)和朋友都給了我很多支持和幫助,這也證明了即便是一個(gè)人的任務(wù)也需要集體的力量,慶幸自己在離開(kāi)校園之前學(xué)到了很多今后可能及其重要的東西。
回顧自己的學(xué)習(xí)歷程,感覺(jué)今天的生活與狀態(tài)是由一系列的偶然與必然串聯(lián)成的結(jié)果。在這個(gè)過(guò)程中自己承受了比別人更多的挫折,但也學(xué)到了更多的感悟,獲得了比別人更大的成就。我體會(huì)了人生的正弦曲線,知道很多情況下結(jié)果是之前很長(zhǎng)時(shí)間的累積,很有趣的是,我的這些感悟在大學(xué)的專業(yè)課學(xué)習(xí)的時(shí)候得到
/ 2
無(wú)
錫
職
業(yè)
技
術(shù)
學(xué)
院
畢業(yè)設(shè)計(jì)總結(jié)
了理論上描述的一致。因?yàn)槲业拿恳淮纬晒Φ墨@得都比別人晚了許多,但也都是在最關(guān)鍵的時(shí)候比別人得到了更多的收獲,也比別人體會(huì)到更多的付出后的充實(shí)。很慶幸自己在過(guò)去歲月中每一次困難抉擇中做出的選擇,以及在不斷地激勵(lì)中為目標(biāo)而不斷奮斗的堅(jiān)持。
“來(lái)到社會(huì)做什么?畢業(yè)后做一個(gè)怎樣的人?”雖然即將畢業(yè),但是這兩個(gè)問(wèn)題將常伴左右。第一個(gè)問(wèn)題的答案已經(jīng)深深寫(xiě)在自己三年大學(xué)生活的美好回憶之中,而第二個(gè)問(wèn)題,將是我今后不斷反省自我并思考未來(lái)的信條。
學(xué)無(wú)止境,無(wú)論每天往返于公司和住所,還是奔走于實(shí)驗(yàn)室與宿舍之間,作為一個(gè)職員或者學(xué)生,無(wú)時(shí)無(wú)刻不在接受新的知識(shí)、觀點(diǎn)、理念。即便是創(chuàng)造社會(huì)價(jià)值,也仍需要不斷補(bǔ)給養(yǎng)分。于此,作為剛剛走出校園的人,我將牢記于心。
最后,真誠(chéng)期望每一個(gè)已經(jīng)出現(xiàn)在或是即將出現(xiàn)在我不同人生階段卻是同一條生活軌跡的師長(zhǎng)、親友、戰(zhàn)友們,能夠始終擁有美好幸福的生活狀態(tài)、以及一顆熱忱于探索未知和真理的心,同時(shí)也是對(duì)自己未來(lái)生活的期冀。
第四篇:基于機(jī)器視覺(jué)智能交通燈控制系統(tǒng)
機(jī)器視覺(jué)的論述作業(yè)
題
目 :
基于機(jī)器視覺(jué)智能交通燈控制系統(tǒng)
學(xué)院名稱 :
電氣工程學(xué)院
專業(yè)班級(jí) :
姓
名 : 學(xué)
號(hào) :
時(shí) 間 : 緒論.........................................................3 2 基于機(jī)器視覺(jué)的智能交通燈系統(tǒng)設(shè)計(jì).............................3 3 智能交通燈控制策略...........................................5 3.1 模糊控制...............................................5 3.2 智能交通燈模糊控制策略.................................5 3.3 解模糊化算法...........................................6 4 系統(tǒng)硬件設(shè)計(jì).................................................6 4.1 攝像頭的安裝和特性.....................................6 4.2 視頻采集模塊設(shè)計(jì).......................................8 4.3 DSP控制處理模塊設(shè)計(jì)...................................9 4.4 信號(hào)燈驅(qū)動(dòng)模塊設(shè)計(jì).....................................9 4.5 電源模塊設(shè)計(jì)..........................................10 5 系統(tǒng)軟件設(shè)計(jì)及調(diào)試..........................................11 5.1 軟件總體設(shè)計(jì)方案......................................11 5.2 視頻采集模塊的軟件設(shè)計(jì)................................12 5.3 系統(tǒng)調(diào)試..............................................13 6 總結(jié)........................................................13 7 參考文獻(xiàn)........................................................................................................13 緒論
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市車(chē)輛數(shù)量迅速增長(zhǎng),交通擁擠日益嚴(yán)重,造成的交通事故和環(huán)境污染等負(fù)面效應(yīng)也日益突出。城市交通問(wèn)題直接制約著城市的建設(shè)和經(jīng)濟(jì)的增長(zhǎng),與人們的日常生活密切相關(guān)。通常交通阻塞大都是由于城市路口實(shí)際通行能力不足所造成的,路口交通問(wèn)題逐步成為經(jīng)濟(jì)和社會(huì)發(fā)展中的重大問(wèn)題,為此世界大多數(shù)國(guó)家都在進(jìn)行智能交通燈控制系統(tǒng)的研究。
本文的目的是對(duì)基于機(jī)器視覺(jué)的智能交通燈控制系統(tǒng)進(jìn)行了研究。基于機(jī)器視覺(jué)的智能交通燈控制系統(tǒng)對(duì)路口交通燈進(jìn)行智能控制,根據(jù)各相位車(chē)流量大小,智能分配紅綠燈時(shí)間,徹底改變了傳統(tǒng)交通燈控制方式的不足。目前由于城市路口交通信號(hào)燈的控制策略不理想,導(dǎo)致了路口實(shí)際通行能力下降,停車(chē)次數(shù)比較多,車(chē)輛通過(guò)路口的延誤時(shí)間較長(zhǎng),容易造成不必要的擁堵。改善交通燈控制策略,來(lái)提高路口的實(shí)際通行能力,這是城市交通控制中需要解決的主要問(wèn)題。自從計(jì)算機(jī)控制系統(tǒng)應(yīng)用于交通燈控制以來(lái),硬件設(shè)備的不斷更新和改進(jìn),智能化和集成化成為城市道路交通信號(hào)控制系統(tǒng)的研究趨勢(shì),而路口交通燈控制系統(tǒng)是智能交通系統(tǒng)中的關(guān)鍵點(diǎn)和突破口。基于機(jī)器視覺(jué)的智能交通燈系統(tǒng)設(shè)計(jì)
基于機(jī)器視覺(jué)的智能交通燈控制系統(tǒng)是由攝像機(jī)、視頻采集模塊、DSP控制處理模塊、信號(hào)燈驅(qū)動(dòng)模塊、電源模塊、時(shí)鐘模塊、復(fù)位模塊和信號(hào)燈組等組成,其組成框圖如2.1圖所示
圖2.1系統(tǒng)組成框圖
系統(tǒng)中攝像機(jī)是用來(lái)拍攝路口車(chē)輛視頻,是路口車(chē)流量獲取的基礎(chǔ)設(shè)備,其
拍攝的視頻圖像質(zhì)量高低直接影響到系統(tǒng)對(duì)交通燈控制的精度。攝像機(jī)的選擇決定著視頻的質(zhì)量,所以一般要選擇穩(wěn)定性高,分辨率符合系統(tǒng)要求的攝像機(jī)。目前攝像機(jī)主要分為兩種,一種是電荷耦合器件_℃CD圖像傳感器;一種是互補(bǔ)性氧化金屬半導(dǎo)體—CMoS圖像傳感器。CCD圖像傳感器是由很多感光單位組成的,其表面受到光線照射時(shí),產(chǎn)生的電荷將由感光單位反映在組件上,所有感光單位產(chǎn)生的電信號(hào)組合在一起,就能夠形成一幅完整的圖畫(huà)。而CMOS圖像傳感器的制造技術(shù)與工藝和制造普通計(jì)算機(jī)芯片的技術(shù)非常類似,CMOS中同時(shí)存在著N級(jí)和P級(jí)半導(dǎo)體,這兩個(gè)半導(dǎo)體之間互補(bǔ)效應(yīng)能夠產(chǎn)生的電流信號(hào),能夠被處理芯片記錄,同時(shí)將其解讀成影像,形成一幅圖畫(huà)。畫(huà)。比較CCD和CMOS的結(jié)構(gòu),ADC(放大兼類比數(shù)字信號(hào)轉(zhuǎn)換器)的位置和數(shù)量是最大的不同。通常CCD攝像頭每曝光一次,當(dāng)快門(mén)關(guān)閉之后立即進(jìn)行像素的轉(zhuǎn)移處理,將其每一行中的每一個(gè)像素的電信號(hào)依次送到“緩沖器"中,再輸入到放大器中進(jìn)行放大,然后串聯(lián)ADC輸出;而CMOS的設(shè)計(jì)中每個(gè)像素旁直接連著ADC,對(duì)電信號(hào)進(jìn)行放大同時(shí)轉(zhuǎn)換成數(shù)字信號(hào)。CCD與CMOS的特性比較如下表2-1 表2-1 CCD和CMOS的比較
通過(guò)對(duì)CCD和CMOS的特性進(jìn)行比較,以及視頻處理系統(tǒng)對(duì)視頻圖像的要求,本文采用CCD攝像機(jī)JAB.55 15EB作為視頻輸入部分的圖像傳感器。智能交通燈控制策略
3.1 模糊控制
模糊控制是將模糊理論引入控制領(lǐng)域,將人的經(jīng)驗(yàn)形式化模型化,采用模糊邏輯的近似推理方法,通過(guò)計(jì)算機(jī)系統(tǒng)代替人對(duì)被控對(duì)象進(jìn)行有效的實(shí)時(shí)控制。模糊控制系統(tǒng)是由模糊規(guī)則基、模糊推理、模糊化算子和解模糊化算子組成,其組成框圖如圖3.1所示。
圖3.1 模糊控制的組成框圖
模糊化是對(duì)系統(tǒng)的輸入量進(jìn)行論域變換,將精確量轉(zhuǎn)化成模糊輸入信息的過(guò)程。由于實(shí)際過(guò)程中的輸入值通常為連續(xù)變化的,必須將其范圍分成有限個(gè)模糊集,并與輸入量相對(duì)應(yīng),然后通過(guò)隸屬函數(shù)求出輸入量對(duì)各模糊集合的隸屬度,將普通變量轉(zhuǎn)化為模糊變量,完成了模糊化工作。
3.2 智能交通燈模糊控制策略
模糊控制過(guò)程是將實(shí)際檢測(cè)的當(dāng)前方向車(chē)輛排隊(duì)長(zhǎng)度進(jìn)行模糊量化處理,映射到輸入論域的模糊集合,根據(jù)實(shí)踐經(jīng)驗(yàn)確定模糊控制規(guī)則,進(jìn)行模糊推理,再經(jīng)清晰化處理轉(zhuǎn)為綠燈延長(zhǎng)時(shí)間的精確量,實(shí)現(xiàn)交通燈智能控制。通常情況下,在某一方向紅燈時(shí)間內(nèi)該車(chē)道的車(chē)流量在停車(chē)線后的排隊(duì)長(zhǎng)度越長(zhǎng)而綠燈方向車(chē)流量不多,為了保證下一周期車(chē)輛通行最大化,就得適當(dāng)延長(zhǎng)下一周期的綠燈時(shí)間。反之,當(dāng)前綠燈方向的車(chē)流量較多而當(dāng)前紅燈方向車(chē)道的車(chē)流量在停車(chē)線
后的排隊(duì)長(zhǎng)度較短,就得適當(dāng)減少下一周期的綠燈時(shí)間,以確保路口車(chē)輛通行量的最大化。考慮到司機(jī)和行人心理承受能力,不至于在其等待過(guò)程中產(chǎn)生焦急煩躁的情緒,路口的紅綠燈周期不能過(guò)長(zhǎng),通常可以設(shè)置一個(gè)最大綠燈時(shí)間,比如120S。如果系統(tǒng)已經(jīng)執(zhí)行了最大綠燈過(guò),立即進(jìn)行相位切換,當(dāng)前方向綠燈進(jìn)入黃閃狀態(tài),一般設(shè)定為3秒,然后執(zhí)行紅燈狀態(tài)。當(dāng)路口的車(chē)流量較小時(shí),信號(hào)周期則比較短,但一般也要設(shè)定一個(gè)最小綠燈時(shí)間,女1:120S,否則車(chē)輛和行人由于來(lái)不及通過(guò)路VI而影響交通安全n時(shí)間,不考慮當(dāng)前方向還有多少輛車(chē)等待通過(guò)。
3.3 解模糊化算法
通過(guò)對(duì)被控制量的模糊化,根據(jù)模糊控制規(guī)則進(jìn)行推理,做出模糊決策,得到模糊控制的輸出量,這個(gè)輸出量為模糊量,而被控對(duì)象最終只能接受精確的控制量,所以必須將輸出的模糊量轉(zhuǎn)化為精確的控制量,將其轉(zhuǎn)化為精確量的過(guò)程通常稱之為解模糊化。也就是從模糊量變?yōu)榍逦康倪^(guò)程,即把通過(guò)模糊推理得到的輸出量的模糊集合,一一映射到輸出量的普通集合。解模糊的方法有通常有最大隸屬度法、平均最大隸屬度法、取中位數(shù)法以及加權(quán)平均法。系統(tǒng)硬件設(shè)計(jì)
4.1 攝像頭的安裝和特性
(1)所采集車(chē)輛視頻圖像質(zhì)量的高低將直接影響到系統(tǒng)對(duì)交通燈控制的精度,而決定視頻質(zhì)量的關(guān)鍵因素在于CCD攝像頭的選擇和安裝。本文采用CCD攝像機(jī)JAB-5515EB,可以在室外惡劣環(huán)境下全天候工作,其性能如表4-表4-1 JAB-5515EB攝像頭的特性
(2)攝像頭的安裝直接影響到視頻采集的過(guò)程,而且安裝攝像頭的位置既要不能對(duì)交通產(chǎn)生任何影響,又要滿足視頻采集模塊的需求。圖4.1為兩相位路口示意圖,攝像頭的安裝位置應(yīng)在圖中A、B、C、D點(diǎn)的上方高于7米為宜。視頻圖像處理只針對(duì)車(chē)道,所以可視角度只需滿足橫向覆蓋整個(gè)車(chē)道,縱向能夠覆蓋車(chē)輛排隊(duì)信息的長(zhǎng)度即可。
圖4.1 城市路口示意圖
4.2 視頻采集模塊設(shè)計(jì)
本設(shè)計(jì)中的視頻采集模塊主要分為視頻輸入和視頻處理兩個(gè)部分,其功能是利用圖像傳感器將物體的光信號(hào)轉(zhuǎn)換成模擬的視頻電信號(hào),然后利用視頻解碼芯片將視頻模擬信號(hào)轉(zhuǎn)化成數(shù)字視頻信號(hào)輸入到DSP的視頻處理前端。模擬視頻信號(hào)主要分為PAL和NTSC兩種制式,在將模擬視頻信號(hào)直接轉(zhuǎn)換成數(shù)字信號(hào)的時(shí)
候,通常需要用到視頻解碼芯片,本設(shè)計(jì)中選擇TI公司的TVP5150視頻解碼芯片來(lái)主要用來(lái)完成模擬視頻信號(hào)到數(shù)字視頻信號(hào)的轉(zhuǎn)換以及對(duì)圖像亮度、色度的預(yù)處理等。
4.3 DSP控制處理模塊設(shè)計(jì)
DSP控制處理模塊作為系統(tǒng)的主控模塊,以TMS320DM6437為核心,由視頻處理前端、DDR2存儲(chǔ)器、EMIF接121電路、以太網(wǎng)接口電路、12C總線和JTAG接口電路組成,其設(shè)計(jì)框圖如圖4.2所示
圖4.2 DSP控制處理模塊設(shè)計(jì)框圖
視頻處理前端用來(lái)接收TVP5150發(fā)送的數(shù)字視頻信號(hào),DDR2存儲(chǔ)器用來(lái)存儲(chǔ)程序和數(shù)據(jù),EMIF接口電路可以外接NAND Flash用于固化程序和數(shù)據(jù),以太網(wǎng)接口電路用于DM6437與外接設(shè)備之間的通信,I2C總線對(duì)TVP5150內(nèi)部存器進(jìn)行初始化設(shè)置,JTAG接121電路主要用來(lái)連接DSP仿真器,進(jìn)行程序的載和系統(tǒng)的調(diào)試與仿真。芯片DM6437用于控制各個(gè)外圍功能芯片及完成算法處理。
4.4 信號(hào)燈驅(qū)動(dòng)模塊設(shè)計(jì)
LED交通信號(hào)燈驅(qū)動(dòng)模塊設(shè)計(jì)以LM3407芯片核心,其輸入電壓范圍4.5V-30V,并且能夠提供精準(zhǔn)的恒定電流輸出,本文所需電壓為24V,電流為350mA,以驅(qū)動(dòng)高功率發(fā)光二極管(LED)。常用LED交通燈的燈盤(pán)內(nèi)LED數(shù)量約在100-200個(gè)
之間,本文采用119個(gè)LED燈通過(guò)串并聯(lián)結(jié)合的方式進(jìn)行連接。每個(gè)LED工作電壓為3.3V,工作電流為20mA,結(jié)合驅(qū)動(dòng)芯片參數(shù)和燈盤(pán)的規(guī)格,采用并聯(lián)17組,每組串聯(lián)7個(gè)LED燈的方式,對(duì)交通信號(hào)燈進(jìn)行驅(qū)動(dòng)。交通燈連接方式如圖4.4所示。
圖4.4 LED交通燈連接圖
4.5 電源模塊設(shè)計(jì)
整個(gè)系統(tǒng)的硬件平臺(tái)采用+5V外接電壓進(jìn)行供電,但是根據(jù)各個(gè)模塊對(duì)電源電壓需求各有不同,因此對(duì)整個(gè)硬件平臺(tái)的供電設(shè)計(jì)很重要。DM6437內(nèi)核使用1.05V1.20V兩種工作電壓,當(dāng)其工作頻率為600MHz/500MHz/400MH時(shí)要求供電電壓為1.20V,當(dāng)工作頻率為400MHz時(shí)要求供電電壓為1.05V。設(shè)計(jì)中的內(nèi)核工作頻率為600MHz,故而采用1.2V的內(nèi)核供電電壓。而系統(tǒng)中TVP5150視頻解碼芯片的內(nèi)核和外接的以太網(wǎng)物理層芯片等均是采用1.5V電源進(jìn)行供電,其他則供電電壓為3.3V。在給系統(tǒng)上電的過(guò)程中,首先應(yīng)當(dāng)確內(nèi)核電源先上電。關(guān)閉電源的時(shí)候,同樣先進(jìn)行內(nèi)核電源的關(guān)閉,然后再關(guān)閉I/O電源等。若只對(duì)CPU內(nèi)核進(jìn)行供電,而對(duì)周?chē)鶬/O沒(méi)有進(jìn)行供電,則不會(huì)對(duì)芯片產(chǎn)生任何損害。假如周?chē)腎/O均獲得供電而對(duì)CPU內(nèi)核沒(méi)有進(jìn)行供電,導(dǎo)致芯片緩沖/驅(qū)動(dòng)部分的晶體管在未知狀態(tài)下進(jìn)行工作,對(duì)系統(tǒng)會(huì)產(chǎn)生一定的損害。電源模塊設(shè)計(jì)功能框
圖如圖4.5所示。
圖4.5 電源模塊功能框圖 系統(tǒng)軟件設(shè)計(jì)及調(diào)試
5.1 軟件總體設(shè)計(jì)方案
基于機(jī)器視覺(jué)的智能交通燈控制系統(tǒng)的功能主要通過(guò)C語(yǔ)言進(jìn)行軟件編程來(lái)實(shí)現(xiàn)的,其軟件設(shè)計(jì)部分主要包括視頻采集模塊軟件、DSP控制處理模塊軟件以及交通燈智能控制軟件。其軟件總體設(shè)計(jì)框圖如圖5.1所示。視頻采集模塊以TVP5150芯片為核心,接收來(lái)自攝像頭的視頻,進(jìn)行和亮度等預(yù)處理,然后將模擬視頻信號(hào)轉(zhuǎn)換為數(shù)字視頻信號(hào),其軟件設(shè)計(jì)主要包括TVP5150芯片的配置、芯片的工作過(guò)程;DSP控制處理模塊要對(duì)車(chē)輛視頻進(jìn)行圖像處理,計(jì)算出精確的車(chē)流量,根據(jù)模糊控制算法智能控制紅綠燈時(shí)間。DSP控制處理模塊軟件設(shè)計(jì)主要包括模塊主要寄存器配置、CACHE大小配置及存儲(chǔ)器映射、EMIF接口初始化設(shè)計(jì)
和DSP代碼優(yōu)化原則;交通燈智能控制軟件主要通過(guò)交通燈智能控制策略,根據(jù)車(chē)流量大小,對(duì)綠燈時(shí)間進(jìn)行自動(dòng)控制。
圖5.1 軟件總體設(shè)計(jì)框圖
5.2 視頻采集模塊的軟件設(shè)計(jì)
視頻采集模塊開(kāi)始工作時(shí),首先讀取跳線設(shè)置,進(jìn)行視頻捕捉參數(shù)的更新,然后建立視頻輸入通道,同時(shí)為將要獲取的視頻信息分配內(nèi)存緩沖區(qū),再將獲取的每一個(gè)視頻幀發(fā)送給視頻解碼芯片TVP5150。當(dāng)TVP5150發(fā)送結(jié)束信號(hào),表示視頻采集過(guò)程結(jié)束。在本文中,CCD攝像頭為PAL制式,輸入的寬度是704,輸入高度是576,幀速是25幀/秒。所以將JPI設(shè)置成PAL制式,輸入的視頻數(shù)據(jù)像素為704x 576。設(shè)計(jì)中將幀間間隔設(shè)置為25,故最大的幀速是每秒25幀。其每個(gè)像素點(diǎn)的大小是2Bit,因此一幀數(shù)據(jù)大小為792KB。再進(jìn)行視頻輸入通道的創(chuàng)建,創(chuàng)建過(guò)程是通過(guò)DSP/BIOS系統(tǒng)創(chuàng)建視頻前端微型驅(qū)動(dòng)的管道對(duì)象,采用
擴(kuò)展的GIO函數(shù)FVID-create()來(lái)進(jìn)行創(chuàng)建。
5.3 系統(tǒng)調(diào)試
電源、時(shí)鐘和復(fù)位模塊屬于整個(gè)系統(tǒng)的最小系統(tǒng)部分,是硬件電路的基礎(chǔ),所以首先對(duì)其進(jìn)行調(diào)試,以保證其正常工作。電源模塊的調(diào)試主要通過(guò)萬(wàn)用表進(jìn)行測(cè)量,當(dāng)電源電路上電后,測(cè)試其輸出端口電壓是否符合系統(tǒng)的要求,分別為3.3V、1.8V和1.2V。時(shí)鐘模塊在調(diào)試過(guò)程中采用邏輯分析儀進(jìn)行觀測(cè)輸時(shí)鐘頻率,確定其是否滿足系統(tǒng)所需時(shí)鐘頻率的要求,視頻解碼芯片TVP5150所需的時(shí)鐘輸入頻率為14.31818MHz,CPU核所需的時(shí)鐘輸入為27MHz。復(fù)位模塊也采用萬(wàn)用表進(jìn)行測(cè)量,當(dāng)按下復(fù)位鍵輸出為低電平有效,否則輸出為高電平。總結(jié)
本文根據(jù)國(guó)內(nèi)外交通燈控制系統(tǒng)的研究現(xiàn)狀,分析研究了目前常用的交通燈控制策略,提出了一種基于機(jī)器視覺(jué)的智能交通燈控制系統(tǒng)的設(shè)計(jì)方案,將模糊控制理論引入交通燈控制系統(tǒng)中,提出了智能交通燈控制策略。采用了TI公司推出的TMS320C6000系列中性能較高的TMS320DM6437芯片,結(jié)合其它外圍電路,設(shè)計(jì)了智能交通燈控制系統(tǒng)的硬件,并進(jìn)行了相應(yīng)的軟件設(shè)計(jì)。最后進(jìn)行了實(shí)驗(yàn)和調(diào)試。
基于機(jī)器視覺(jué)的智能交通燈控制系統(tǒng)涉及的領(lǐng)域很多,技術(shù)手段較為復(fù)雜。由于作者知識(shí)有限以及相關(guān)條件的限制,有些方面研究不夠深入,還有待于進(jìn)一步改進(jìn)與完善。參考文獻(xiàn)
【1】劉智勇.智能交通控制理論及其應(yīng)用【M】.北京:科學(xué)出版社,2003.
【2】高海軍.城市交通信號(hào)控制研究[D】.北京:中國(guó)科學(xué)院自動(dòng)化研究所,2005.
【3】陳俊.基于DSP的汽車(chē)視覺(jué)系統(tǒng)研究【D】.武漢:武漢理工大學(xué),2009.
【4】王史春.基于模糊控制算法實(shí)現(xiàn)信號(hào)燈智能化研究【J】.電子科技.2009 【5】李玉.交通信號(hào)燈的模糊控制[D】.遼寧:遼寧科技大學(xué),2008.
第五篇:畢業(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ù)交通十字路口雙車(chē)道車(chē)流量的情況控制交通信號(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)燈讓特殊車(chē)輛優(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ó)車(chē)輛數(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è)在十字路門(mén),在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來(lái)控制行車(chē)。對(duì)于一般情況下的安全行車(chē),車(chē)輛分流尚能發(fā)揮作用,但根據(jù)實(shí)際行車(chē)過(guò)程中出現(xiàn)的情況,還存在以下缺點(diǎn):1.兩車(chē)道的車(chē)輛輪流放行時(shí)間相同且固定,在十字路口,經(jīng)常一個(gè)車(chē)道為主干道,車(chē)輛較多,放行時(shí)間應(yīng)該長(zhǎng)些;另一車(chē)道為副干道,車(chē)輛較少,放行時(shí)間應(yīng)該短些。2.沒(méi)有考慮緊急車(chē)通過(guò)時(shí),兩車(chē)道應(yīng)采取的措施,臂如,消防車(chē)執(zhí)行緊急任務(wù)通過(guò)時(shí),兩車(chē)道的車(chē)都應(yīng)停止,讓緊急車(chē)通過(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門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)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門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸 入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“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)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“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)由四部分組成:車(chē)檢測(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ù)各道路路口車(chē)流量的大小自動(dòng)調(diào)節(jié)通行時(shí)間。
2、考慮特殊車(chē)輛通行情況,設(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ù)和要求,可畫(huà)出該控制器的原理框圖, 為確保十字路口的交通安全,往往都采用交通燈自動(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)由四部分組成:車(chē)檢測(cè)電路,信號(hào)燈電路,時(shí)間顯示電路,緊急轉(zhuǎn)換開(kāi)關(guān)。
3.3工作原理
綠燈的放行時(shí)間與車(chē)輛通過(guò)數(shù)量不成正比。比如說(shuō)20秒內(nèi)每車(chē)道可以通過(guò)20輛車(chē),40秒內(nèi)每車(chē)道卻可以通過(guò)45輛車(chē)。因?yàn)檫@有一個(gè)起步的問(wèn)題,還有一個(gè)黃燈等待問(wèn)題。也就是說(shuō),綠燈放行時(shí)間越長(zhǎng),單位時(shí)間通過(guò)車(chē)輛的數(shù)量就越多。我們來(lái)計(jì)算一下,每車(chē)道通行20秒內(nèi)可以通過(guò)20輛車(chē),一個(gè)紅綠燈循環(huán)是40秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈5秒(一個(gè)循環(huán)要兩次轉(zhuǎn)換),即一個(gè)紅綠黃燈循環(huán)要50秒,即50秒內(nèi)通行的車(chē)輛為40輛。通過(guò)一輛車(chē)的平均時(shí)間是1.25秒。如果每次車(chē)輛通行的時(shí)間改為40秒,40秒內(nèi)每車(chē)道可以通過(guò)45輛,一個(gè)紅綠燈循環(huán)是80秒(單交叉路口),加上每次狀態(tài)轉(zhuǎn)換的黃燈5秒(一個(gè)循環(huán)要兩次轉(zhuǎn)換),即一個(gè)紅綠黃燈循環(huán)要90秒,即90秒內(nèi)通行的車(chē)輛為90輛。通過(guò)一輛車(chē)的平均時(shí)間只需1秒。顯然在車(chē)輛擁擠的情況下綠燈的通行時(shí)間越長(zhǎng),單位時(shí)間內(nèi)通行的車(chē)輛越多,可以有效緩解車(chē)輛擁堵問(wèn)題。我設(shè)定了綠燈通行時(shí)間的上限為40秒。在非擁擠時(shí)段綠燈的通行時(shí)間的下限為20秒,當(dāng)交叉路口雙方車(chē)輛較少時(shí)通行時(shí)間設(shè)為20秒,這樣可以大大縮短車(chē)輛在紅燈面前的等待時(shí)間。當(dāng)交叉路口雙方車(chē)輛較多時(shí)通行時(shí)間設(shè)為40秒。3.3.1車(chē)檢測(cè)電路
用來(lái)判斷各方向車(chē)輛狀況,比如:20秒內(nèi)可以通過(guò)的車(chē)輛為20輛,當(dāng)20秒內(nèi)南往北方向車(chē)輛通過(guò)車(chē)輛達(dá)不到20輛時(shí),判斷該方向?yàn)樯佘?chē),當(dāng)20秒內(nèi)北往南方向車(chē)輛通過(guò)車(chē)輛也達(dá)不到20輛時(shí),判斷該方向也為少車(chē),下一次通行仍為20秒,當(dāng)20秒時(shí)間內(nèi)南往北或北往南任意一個(gè)方向通過(guò)的車(chē)輛達(dá)20輛時(shí)證明該狀態(tài)車(chē)輛較多,下一次該方向綠燈放行時(shí)間改為40秒,當(dāng)40秒內(nèi)通過(guò)的車(chē)輛數(shù)達(dá)45輛時(shí)車(chē)輛判斷為擁擠,下一次綠燈放行時(shí)間改仍為40秒,當(dāng)40秒車(chē)輛上通過(guò)車(chē)輛達(dá)不到45輛時(shí),判斷為少車(chē),下次綠燈放行時(shí)間改為20秒,依此類推。綠燈下限時(shí)間為20秒,上限值為40秒,初始時(shí)間為20秒。這樣檢測(cè),某次可能不準(zhǔn)確,但下次肯定能彌補(bǔ)回來(lái),累積計(jì)算是很準(zhǔn)確的,這就是人們常說(shuō)的“模糊控制”。因?yàn)槁飞系能?chē)不可能突然增多,塞車(chē)都有一個(gè)累積過(guò)程。這樣控制可以把不斷增多的車(chē)輛一步一步消化,雖然最后由于每個(gè)路口的綠燈放行時(shí)間延長(zhǎng)而使等候的時(shí)間變長(zhǎng),但比塞車(chē)等候的時(shí)間短得多。本系統(tǒng)的特點(diǎn)是成本低,控制準(zhǔn)確。十字路口車(chē)輛通行順序如圖5所示:
圖5十字路口車(chē)輛通行順序
由于南往北,北往南時(shí)間顯示相同,所以只要一個(gè)方向多車(chē),下次時(shí)間就要加長(zhǎng)東往西,西往東也一樣,顯示時(shí)間選擇如表1。
表1 顯示時(shí)間選擇
車(chē)輛情況
本次該方向通行時(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秒 南往北少車(chē),北往南少車(chē)
南往北少車(chē),北往南多車(chē)
南往北多車(chē),北往南少車(chē)
南往北多車(chē),北往南多車(chē)
東往西少車(chē),西往東少車(chē)
東往西少車(chē),西往東多車(chē)
東往西多車(chē),西往東少車(chē)
東往西多車(chē),西往東多車(chē)
3.3.2信號(hào)燈電路
信號(hào)燈用來(lái)顯示車(chē)輛通行狀況,下面以一個(gè)十字路口為例,說(shuō)明一個(gè)交通燈的四種狀態(tài)見(jiàn)圖6。每個(gè)路口的信號(hào)的的轉(zhuǎn)換順序?yàn)椋壕G—>黃—>紅 綠燈表示允許通行,黃燈表示禁止通行,但已經(jīng)駛過(guò)安全線的車(chē)輛可以繼續(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)電路
一般情況下交通燈按照車(chē)流量大小合理分配通行時(shí)間,按一定規(guī)律變化,但考慮緊急車(chē)通行車(chē)況,設(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ò)一條專門(mén)的指令實(shí)現(xiàn)的,自然這條指令是中斷服務(wù)程序的最后一條指令。
5)交通燈中的中斷處理流程:(1)現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù):
有特殊車(chē)輛要通過(guò)時(shí)就要進(jìn)行中斷,在中斷之前,先將交通燈中斷前情況保護(hù)好,當(dāng)中斷執(zhí)行后再恢復(fù)現(xiàn)場(chǎng),包括信號(hào)燈和時(shí)間顯示電路。
(2)中斷打開(kāi)和中斷關(guān)閉:
為了使特殊車(chē)輛通行按一下打開(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)容:即如果南北方向有特殊車(chē)輛要求通過(guò),南北方向轉(zhuǎn)換為綠燈,東西方向?yàn)榧t燈;如果東西方向有特殊車(chē)輛要求通過(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é)生活畫(huà)上了圓滿的句號(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輛為多車(chē) 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輛為多車(chē) 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;判斷南北是否多車(chē) JB TF0 ,T40;判斷北南是否多車(chē)
MOV TEMP1,#20;少車(chē)下次顯示時(shí)間為20秒 LJMP STAR3;跳到狀態(tài)3 T40: MOV TEMP1,#40;多車(chē)下次顯示時(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;判斷是否多車(chē) JB TF0 ,T401 MOV TEMP1,#20;少車(chē)下次顯示時(shí)間為20秒 LJMP STAR3 T401:MOV TEMP1,#40;多車(chē)下次顯示時(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)車(chē)輛占有量急劇增加,由此引發(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)分析
人、車(chē)、路是構(gòu)成城市交通的三大要素,要探討我國(guó)城市交通特點(diǎn),必須從分析這三大要素的基本特點(diǎn)著手。
1.3.1 人的交通素質(zhì)
人是交通的主體,與世界發(fā)達(dá)國(guó)家相比,我國(guó)人的社會(huì)交通意識(shí)還沒(méi)有真正形成,少數(shù)領(lǐng)導(dǎo)部門(mén)交通觀念淡薄,對(duì)城市交通建設(shè)在國(guó)民經(jīng)濟(jì)建設(shè)中的重要性認(rèn)識(shí)不足,交通政策時(shí)有失誤。機(jī)動(dòng)車(chē)駕駛員文化水平低,又缺乏系統(tǒng)訓(xùn)練,尤其缺乏心理素質(zhì),感知能力和判斷能力的培養(yǎng),因而,對(duì)人,車(chē)的運(yùn)動(dòng)特征不能很好掌握。行人與非機(jī)動(dòng)車(chē)駕駛員普遍不懂,甚至漠視交通法規(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ǔ),有路才能通車(chē),行人。我國(guó)是一個(gè)文明古國(guó),許多城市已有上千年的歷史,城市布局和道路結(jié)構(gòu)是在漫長(zhǎng)的歷史進(jìn)程中逐步形成的,近幾年雖然作了些改建和擴(kuò)建,但畢竟還難以沖破原來(lái)的基本格局。我國(guó)城市道路普遍存在的弊端是:
(1)路網(wǎng)密度低
(2)交通干道少
(3)路口平面交叉
1.3.3 我國(guó)城市交通的特殊性
道路狀況與車(chē)輛狀況的綜合作用形成了我國(guó)城市交通的特殊性,主要表現(xiàn)是:
城市路網(wǎng)稀,干道少,間距大,市區(qū)人口稠密,出行需求集中,迫使車(chē)輛集中于少數(shù)干道上行駛。至于中小城市,干道特征更為明顯,往往只有一兩條干道貫穿全市,而其他支路上交通量極小。從流量變化情況來(lái)看,除外圍過(guò)境干道外,都是有一定規(guī)律的,高峰小時(shí)基本上都集中在幾個(gè)時(shí)段內(nèi)。
我國(guó)城市機(jī)動(dòng)車(chē)車(chē)種繁雜,從50年代的老式車(chē)到80年代的新型車(chē),從大貨車(chē)到小轎車(chē) 30 都在一個(gè)平面上行駛,不少城市拖拉機(jī)還是一種主要運(yùn)輸工具,前面一輛舊車(chē)擋道,尾隨的新型車(chē)只能跟著爬行,過(guò)交叉口時(shí)經(jīng)常出現(xiàn)啟動(dòng)慢的車(chē)擋住啟動(dòng)快的車(chē),使交通工程師精心設(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ù)車(chē)種混雜和路網(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)要處理好自行車(chē)交通,常用的方法有: 1)實(shí)現(xiàn)自行車(chē)與機(jī)動(dòng)車(chē)的分離
自行車(chē)與機(jī)動(dòng)車(chē)的突出矛盾在于混行,要在我國(guó)現(xiàn)有道路基礎(chǔ)上,開(kāi)辟出規(guī)模龐大的自行車(chē)道路網(wǎng)是不現(xiàn)實(shí)的,但各城市確有許多小街小巷可利用,對(duì)它們進(jìn)行合理規(guī)劃,造成自行車(chē)專用道,消除或減少自行車(chē)與機(jī)動(dòng)車(chē)的相互干擾是可能的。
2)增設(shè)左轉(zhuǎn)相位
對(duì)機(jī)動(dòng)車(chē)干擾最大的是 左 轉(zhuǎn)自行車(chē),在自行車(chē)高峰時(shí),對(duì)左 轉(zhuǎn)自行車(chē)流較大的路口增設(shè) 左 轉(zhuǎn)相位,時(shí)間不需很長(zhǎng)便可利用自行車(chē)啟動(dòng),疏散快的特點(diǎn),使左轉(zhuǎn)自行車(chē)基本通過(guò)。
3)控制信號(hào)分時(shí)使用
自行車(chē)與機(jī)動(dòng)車(chē)高峰出現(xiàn)時(shí)間是交錯(cuò)的,在自行車(chē)高峰期間,自行車(chē)是構(gòu)成交通流的主體,系統(tǒng)進(jìn)行信號(hào)配時(shí)優(yōu)化時(shí),可優(yōu)先考慮自行車(chē)。
(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í)間表,因而不需車(chē)輛檢測(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)燈模型作了較詳盡的介紹。