51單片機紅綠燈課程設(shè)計_第1頁
51單片機紅綠燈課程設(shè)計_第2頁
51單片機紅綠燈課程設(shè)計_第3頁
51單片機紅綠燈課程設(shè)計_第4頁
51單片機紅綠燈課程設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

51單片機紅綠燈課程設(shè)計-CAL-FENGHAI.-(YICAI)-CompanyOne1

-CAL-FENGHAI.-(YICAI)-CompanyOne1

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第1頁。51單片機紅綠燈課程設(shè)計51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第1頁。1

電源提供方案

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

方案一:采用獨立的穩(wěn)壓電源。此方案的優(yōu)點是穩(wěn)定可靠,且有各種成熟

電路可供選用;缺點是各模塊都采用獨立電源,會使系統(tǒng)復(fù)雜,且可能影響電路電平。

方案二:采用單片機控制模塊提供電源。改方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)約成本;缺點是輸出功率不高。

綜上所述,選擇方案二。

2

顯示界面方案

該系統(tǒng)要求完成倒計時功能?;谏鲜鲈?,我考慮了二種方案:

方案一:采用數(shù)碼管顯示。這種方案只顯示有限的符號和數(shù)碼字符,簡單,方便。

方案二:采用點陣式LED

顯示。這種方案雖然功能強大,并可方便的顯示各種英文字符,漢字,圖形等,但實現(xiàn)復(fù)雜,成本較高。

綜上所述,選擇方案一。3

輸入方案:

設(shè)計要求系統(tǒng)能調(diào)節(jié)燈亮?xí)r間,并可處理緊急情況,我研究了兩種方案:

方案一:采用8155擴展I/O

口及鍵盤,顯示等。

該方案的優(yōu)點是:使用靈活可編程,并且有RAM,及計數(shù)器。若用該方案,可提供較多I/O

口,但操作起來稍顯復(fù)雜。

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第2頁。方案二:

直接在I/O口線上接上按鍵開關(guān)。

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第2頁。由于該系統(tǒng)對于交通燈及數(shù)碼管的控制,只用單片機本身的I/O

口就可實現(xiàn),且本身的計數(shù)器及RAM已經(jīng)夠用。

綜上所述,選擇方案二。

單片機交通控制系統(tǒng)的通行方案設(shè)計

設(shè)在十字路口,分為東西向和南北向,在任一時刻只有一個方向通行,另一方向禁行,持續(xù)一定時間,經(jīng)過短暫的過渡時間,將通行禁行方向?qū)Q。其具體狀態(tài)如下圖所示。說明:黑色表示亮,白色表示滅。交通狀態(tài)從狀態(tài)1開始變換,直至狀態(tài)6然后循環(huán)至狀態(tài)1,周而復(fù)始,即如圖所示:

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第3頁。

圖1

交通狀態(tài)

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第3頁。本系統(tǒng)采用MSC-51系列單片機AT89C51作為中心器件來設(shè)計交通燈控制器。

實現(xiàn)以下功能:

初始東西綠燈亮,南北紅燈亮,東西路口車通行,時隔24s,黃燈閃爍6次。之后,南北綠燈亮,東西紅燈亮,方向開始通車,時隔24s,南北黃燈閃爍6次,然后又切換成東西方向通車,如此重復(fù)。

當(dāng)發(fā)生交通意外(中斷產(chǎn)生)時,全部亮紅燈,進行交通事故的處理。當(dāng)事故處理完畢(再次按中斷鍵),重新按上述方式工作。

當(dāng)南北路口的流量大時,可以增加南北路口亮綠燈的時間,當(dāng)東西路口的流量大時,可以增加?xùn)|西路口亮綠燈的時間,結(jié)束后調(diào)回正常狀態(tài)。下面我們可以用圖表表示燈狀態(tài)和行止?fàn)顟B(tài)的關(guān)系如下51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第4頁。東西南北四個路口均有紅綠黃3燈和數(shù)碼顯示管2個,在任一個路口,遇紅燈禁止通行,轉(zhuǎn)綠燈允許通行,之后黃燈亮警告行止?fàn)顟B(tài)將變換。狀態(tài)及紅綠燈狀態(tài)如表1所示。說明:0表示滅,1表示亮。51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第4頁。單片機智能交通燈控制系統(tǒng)的基本構(gòu)成及原理

單片機設(shè)計智能交通燈控制系統(tǒng),可用單片機直接控制交通信號燈的狀態(tài)變化,實現(xiàn)倒計時、緊急情況處理與時間調(diào)整等功能。據(jù)此,本設(shè)計系統(tǒng)以單片機為控制核心,連接成最小系統(tǒng),由按鍵設(shè)置模塊產(chǎn)生輸入,信號燈狀態(tài)模塊、LED倒計時模塊接受輸出。系統(tǒng)的總體框圖如上所示。

單片機上電后,系統(tǒng)進入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時將時間數(shù)據(jù)倒計時輸入到LED數(shù)碼管上實時顯示。在此過程中隨時通過鍵盤調(diào)用急停按鍵和時間調(diào)節(jié)中斷。

交通燈系統(tǒng)硬件設(shè)計此設(shè)計采用的是AT89C51單片機為內(nèi)部控制芯片,外部接有按鍵中斷電路以及復(fù)位電路以外,還有4個兩位數(shù)碼管,用以倒計時和4個路口的燈,共12個LED燈。51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第5頁。

四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書(論文)

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第5頁。

5

第二章

交通燈系統(tǒng)硬件設(shè)計

此設(shè)計采用的是AT89C51單片機為內(nèi)部控制芯片,外部接有按鍵中斷電路以及復(fù)位電路以外,還有4個兩位數(shù)碼管,用以倒計時和4個路口的燈,共12個LED燈。

系統(tǒng)框架圖

電路板一塊,AT89S51單片機一片,八段LED數(shù)碼管四個。發(fā)光二極管12個(4個綠的,4個紅,4個黃的),8個電阻,2個電容,1個晶振,1個電解電容,1個按鍵開關(guān)。(系統(tǒng)結(jié)構(gòu)框圖:圖)

MSC-51芯片簡介

MCS-51單片機內(nèi)部結(jié)構(gòu)

8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第6頁。8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第6頁?!ぶ醒胩幚砥鳎?/p>

中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。

·數(shù)據(jù)存儲器(RAM)

8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。

LED顯示數(shù)碼管

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第7頁。八段LED顯示器由八個發(fā)光二極管組成。其中7個長條形的發(fā)光管排列成“日”字形,另一個圓點形的放光管在顯示器的右下角作為顯示小數(shù)點用,它能顯示各種數(shù)字及部分英文字母。LED顯示器有兩種不同的形式:一種是8個發(fā)光二極管的陽極都連在一起的,稱為共陽極LED顯示器如圖2-2所示;另一種是8個發(fā)光二極管的陰極都連在一起的,稱為共陰極LED顯示器51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第7頁。

晶體振蕩器

石英晶體振蕩器的特點是振蕩頻率準(zhǔn)確、電路結(jié)構(gòu)簡單、頻率易調(diào)整,作用是為系統(tǒng)提供基本的時鐘信號。我們在晶體某一方向加一電場,從而在與此垂直的方向產(chǎn)生機械振動,有了機械振動,就會在相應(yīng)的垂直面上產(chǎn)生電場,從而使機械振動和電場互為因果,這種循環(huán)過程一直持續(xù)到晶體的機械強度限制時,才達(dá)到最后穩(wěn)定,這種壓電諧振的頻率即為晶體振蕩器的固有頻率。附錄原程序代碼

#include<>

#define

uint

unsigned

int//宏定義

#define

uchar

unsigned

char//宏定義

uchar

aa,cc,NBshi,NBge,DXshi,DXge,NBtemp,DXtemp;//定義變量

sbit

NBR=P3^0;//南北紅燈

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第8頁。sbit

NBY=P3^1;//南北黃燈

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第8頁。sbit

NBG=P3^4;//南北綠燈

sbit

DXY=P3^5;//東西黃燈

sbit

DXG=P3^6;//東西綠燈

sbit

DXR=P3^7;//東西紅燈

uchar

code

table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f};

//數(shù)字的代碼從0-9//數(shù)字的代碼從0-9

void

init();//初始化子程序的申明

void

displayNB(uchar

NBshi,uchar

NBge);//顯示子程序的申明

void

delay(uint

z);//延時子程序的申明

void

fenjieNB();//南北數(shù)碼管顯示數(shù)字的分解函數(shù)

void

fenjieDX();//東西數(shù)碼管顯示數(shù)字的分解函數(shù)

void

main()

void

init();//初始化子程序的申明

void

displayNB(uchar

NBshi,uchar

NBge);//顯示子程序的申明

void

delay(uint

z);//延時子程序的申明

void

fenjieNB();//南北數(shù)碼管顯示數(shù)字的分解函數(shù)

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第9頁。void

fenjieDX();//東西數(shù)碼管顯示數(shù)字的分解函數(shù)51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第9頁。void

main(){

init();//初始化子程序

while(1)

{

if(cc==82)//循環(huán)一次結(jié)束

{

cc=0;//從新進行下一次循環(huán)

}

}

void

delay(uint

z)//帶參數(shù)的延時函數(shù)void

delay(uint

z)//帶參數(shù)的延時函數(shù)

{

uchar

x,y;//定義兩個變量

for(x=z;x>0;x--)//循環(huán)延時

for(y=110;y>0;y--);//循環(huán)延時

}

void

init()//初始化子程序

{

EA=1;//開總中斷

ET0=1;//允許定時器0中斷

EX0=1;//允許外部中斷0中斷

TR0=1;//啟動定時器0

TMOD=0x01;//設(shè)置定時器0工作方式1

TH0=(65536-50000)/256;//給定時器的高8為賦初值TL0=(65536-50000)%256;//給定時器的低8為賦初值

}

void

fenjieNB()//南北數(shù)碼管顯示數(shù)字的分解函數(shù)

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第10頁。{

NBshi=NBtemp/10;//將要顯示的時間的十位賦給變量

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第10頁。NBge=NBtemp%10;//將要顯示的時間的個位賦給變量

NBtemp--;

}

void

fenjieDX()//東西數(shù)碼管顯示數(shù)字的分解函數(shù){

DXshi=DXtemp/10;

DXge=DXtemp%10;

DXtemp--;

}

void

displayNB(uchar

NBshi,uchar

NBge)//帶參數(shù)的數(shù)碼管顯示函數(shù)

{

//顯示南北十位

P2=0xfe;

P0=table[NBshi];

delay(5);

//顯示南北個位

P2=0xfd;P0=table[NBge];

delay(15);}void

displayDX(uchar

DXshi,uchar

DXge)

{

//東西十位

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第11頁。P2=0xfb;

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第11頁。

P1=table[DXshi];

delay(5);

//東西個位

P2=0xf7;

P1=table[DXge];

delay(5);}void

timer0()

interrupt

1//定時器0的中斷函數(shù)

{

TH0=(65536-50000)/256;//重裝計數(shù)初值

TL0=(65536-50000)%256;//重裝計數(shù)初值

aa++;

if(aa==20)//判斷定時1分鐘是否到

{

aa=0;//計數(shù)次數(shù)清0

if(cc==0)//南北亮紅燈40秒,東西亮黃燈5秒

{

DXY=0;//東西的黃燈亮

DXG=1;//東西的綠燈不亮DXR=1;//東西的紅燈不亮NBY=1;//南北的黃燈不亮

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第12頁。NBG=1;//南北的綠燈不亮

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第12頁。

NBR=0;//南北的紅燈亮

DXtemp=5;//東西的黃燈亮5秒

NBtemp=40;//南北的紅燈亮40秒

}

else

if(cc==6)//南北繼續(xù)亮紅燈40秒,東西亮綠燈34秒

{

DXY=1;//東西的黃燈不亮

DXG=0;//東西的綠燈亮

DXR=1;//東西的紅燈不亮

NBY=1;//南北的黃燈不亮

NBG=1;//南北的綠燈不亮NBR=0;//南北的紅燈亮

DXtemp=34;//東西的綠燈亮34秒

}

else

if(cc==41)//南北亮黃燈5秒,東西亮紅燈40秒

{

DXY=1;//東西的黃燈不亮

DXG=1;//東西的綠燈不亮

DXR=0;//東西的紅燈亮

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第13頁。

NBY=0;//南北的黃燈亮

51單片機紅綠燈課程設(shè)計全文共15頁,當(dāng)前為第13頁。

NBG=1;//南北的綠燈不亮NBR=1;//南北的紅燈不亮

NBtemp=5;//南北的黃燈亮5秒

DXtemp=40;//東西的紅燈亮40秒}

else

if(cc==47)//南北亮綠燈34秒,東西繼續(xù)亮紅燈40秒

{

DXY=1;//東西的黃燈不亮

DXG

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論