at89c51單片機(jī)_交通燈控制系統(tǒng)(含源碼及仿真圖)

上傳人:簡****9 文檔編號(hào):25801810 上傳時(shí)間:2021-08-01 格式:DOCX 頁數(shù):27 大小:739.88KB
收藏 版權(quán)申訴 舉報(bào) 下載
at89c51單片機(jī)_交通燈控制系統(tǒng)(含源碼及仿真圖)_第1頁
第1頁 / 共27頁
at89c51單片機(jī)_交通燈控制系統(tǒng)(含源碼及仿真圖)_第2頁
第2頁 / 共27頁
at89c51單片機(jī)_交通燈控制系統(tǒng)(含源碼及仿真圖)_第3頁
第3頁 / 共27頁

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《at89c51單片機(jī)_交通燈控制系統(tǒng)(含源碼及仿真圖)》由會(huì)員分享,可在線閱讀,更多相關(guān)《at89c51單片機(jī)_交通燈控制系統(tǒng)(含源碼及仿真圖)(27頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、模擬交通燈設(shè)計(jì)報(bào)告 題 目 交通信號(hào)燈控制系統(tǒng) 團(tuán) 隊(duì) 研發(fā)區(qū)第二組 完成時(shí)間 2011-11-31 貴州民族學(xué)院開放實(shí)驗(yàn)室 目 錄 ~\ 項(xiàng) 目名稱 1 二、選題背景 1 2.1 課題背景 1 2.2 交通燈的歷史 1 三、單片機(jī)簡介 2 3.1 單片機(jī)的發(fā)展歷程 2 3.2 單片機(jī)的特點(diǎn): 3 3.3 AT89C52單片機(jī)簡介 4 四、設(shè)計(jì)基本要求和步驟 5 4.1 基本要求 5 4.2 設(shè)計(jì)步驟 6 五、硬件和軟件設(shè)計(jì) 6 5.1 硬件電路圖 6 5.2 程序流程圖 8 主程序 8 運(yùn)行過程 9 LED顯示程序 10 T0中斷

2、 11 INTO 中斷 11 5.3 PO、P1 口顯示狀態(tài)編碼表 12 5.4 程序源代碼 12 5.5 程序運(yùn)行效果圖 21 六、心得體會(huì) 22 七、參考文獻(xiàn) 錯(cuò)誤!未定義書簽。 模擬交通燈設(shè)計(jì)報(bào)告 一\項(xiàng)目名稱 十字路口交通信號(hào)燈控制系統(tǒng) 二、選題背景 2.1 課題背景 由于我國經(jīng)濟(jì)的快速發(fā)展從而導(dǎo)致了汽車數(shù)量的猛增,大中型城 市的城市交通,正面臨著嚴(yán)峻的考驗(yàn),從而導(dǎo)致交通問題日益嚴(yán)重, 其主要表現(xiàn)如下:交通事故頻發(fā),對(duì)人類生命安全造成極大威脅;交 通擁堵嚴(yán)重,導(dǎo)致出行時(shí)間增加,能源消耗加大;空氣污染和噪聲污 染程度日益加深等。日常的交通堵塞成為人們司空見慣而又不

3、得不忍 受的問題,在這種背景下,結(jié)合我國城市道路交通的實(shí)際情況,開發(fā) 出真正適合我們自身特點(diǎn)的智能信號(hào)燈控制系統(tǒng)已經(jīng)成為當(dāng)前的主 要任務(wù)。隨著電子技術(shù)的發(fā)展,利用單片機(jī)技術(shù)對(duì)交通燈進(jìn)行智能化 管理,已成為目前廣泛采用的方法。 2.2 交通燈的歷史 1868年12月10日,信號(hào)燈家族的第一個(gè)成員就在倫敦議會(huì)大廈 的廣場上誕生了,由當(dāng)時(shí)英國機(jī)械師德?哈特設(shè)計(jì)、制造的燈柱高7 米,身上掛著一盞紅、綠兩色的提燈一煤氣交通信號(hào)燈,這是城市街 第1頁 道的第一盞信號(hào)燈。 1914年,在美國的克利夫蘭市才率先恢復(fù)了紅綠燈,不過,這時(shí) 已是“電氣信號(hào)燈”。稍后又在紐約和芝加哥等城市,相繼重新出現(xiàn)

4、 了交通信號(hào)燈。 隨著各種交通工具的發(fā)展和交通指揮的需要,第一盞名副其實(shí)的 三色燈(紅、黃、綠三種標(biāo)志)于1918年誕生。它是三色圓形四面投 影器,被安裝在紐約市五號(hào)街的一座高塔上,由于它的誕生,使城市 交通大為改善。 中國最早的馬路紅綠燈,是于1928年出現(xiàn)在上海的英租界。 三、單片機(jī)簡介 3.1 單片機(jī)的發(fā)展歷程 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命 力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故 又稱為微控制器。 在MCS-51系列單片機(jī)中,有兩個(gè)子系列:51子系列和52子系列。 每個(gè)子系列有諾干中型號(hào)。51系列有8051、8751和8031

5、三個(gè)型號(hào), 后來經(jīng)過改進(jìn)產(chǎn)生了 80c51、87c51、80c31三個(gè)型號(hào);52系列有5021、 8752、8032三個(gè)型號(hào),改進(jìn)后的型號(hào)是80c52/87c52、80c32。改進(jìn) 后的型號(hào)更加省電。52系列比對(duì)應(yīng)的51系列增加了定時(shí)器T2并將 內(nèi)部程序存貯器增加到8KB0 Inter公司停止生產(chǎn)MCS-51系列單片機(jī) 之后將生產(chǎn)權(quán)轉(zhuǎn)讓給了許多其他公司,于是出現(xiàn)了許多與Mes-51兼 容的單片機(jī)。現(xiàn)在生產(chǎn)mcs-51兼容單片機(jī)的公司對(duì)其進(jìn)行了不同程 度的改進(jìn)和提高。我們現(xiàn)在使用比較的多的是AT89c51/AT89s51等。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基 本功能

6、部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī) 只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系 統(tǒng)。 單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和 多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的 多功能化,以及低電壓底功耗 3.2 單片機(jī)的特點(diǎn): (1)性價(jià)比高,開發(fā)周期短,易于產(chǎn)品化, (2)集成度高,可靠性好,抗干擾性強(qiáng), (3)功能完善,接口多樣, (4)低功耗、低電壓 一般電源供電電壓在5?3V范圍內(nèi)單片機(jī)都能正常工作,供電的 下限可達(dá)1?2V。 (5)總線多樣,易于擴(kuò)展 單片機(jī)外部的典型三總線結(jié)構(gòu),方便系統(tǒng)構(gòu)擴(kuò)展

7、,構(gòu)成各種規(guī)模 的應(yīng)用系統(tǒng)。外部總線增加了 12c及SPI等串行總線方式,可根據(jù)需 要進(jìn)行并行或者串行擴(kuò)展。 3. 3 AT89C52單片機(jī)簡介 AT89C52是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器 (FPEROM—Flash Programmable and Erasable Read Only Memory) 的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2052是 一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可 擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATXIEL高密度非 易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳

8、 相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中, ATNIEL的AT89C52是一種高效微控制器,AT89C2052是它的一種精簡 版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià) 廉的方案。 主要特性: ? 與MCS-51兼容 ? 4K字節(jié)可編程閃爍存儲(chǔ)器 ? 壽命:1000寫/擦循環(huán) ? 數(shù)據(jù)保留時(shí)間:10年 ? 全靜態(tài)工作:OHz-24MHz ? 三級(jí)程序存儲(chǔ)器鎖定 ? 128X8位內(nèi)部RAM ? 32可編程I/O線 ? 兩個(gè)16位定時(shí)器/計(jì)數(shù)器 ? 5個(gè)中斷源 ? 可編程串行通道 ? 低功耗的閑置和掉電模式 ? 片內(nèi)振蕩器和時(shí)鐘

9、電路 四、設(shè)計(jì)基本要求和步驟 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。 那么靠什么來實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮 系統(tǒng)。交通信號(hào)燈控制方式很多。 4.1 基本要求 本系統(tǒng)需要采用MSC-51系列單片機(jī)AT89C52作為中心器件來設(shè) 計(jì)交通燈控制器,實(shí)現(xiàn)以下功能: 1 .初始東西綠燈亮,南北紅燈亮,東西方向通車。 2 .延時(shí)27s,東西路口綠燈熄滅,黃燈閃爍3次。 3 .黃燈閃爍后,東西路口紅燈亮同時(shí)南北路口綠燈亮,南北方向 開始通車。 4 .延時(shí)27s,南北方向綠燈滅,黃燈閃爍3次,然后又切換成東 西方向通車,如此重復(fù)。 5 .當(dāng)發(fā)生交通

10、意外(中斷產(chǎn)生)時(shí),全部亮紅燈,進(jìn)行交通事故的 處理。當(dāng)事故處理完畢(再次按中斷鍵),重新按上述方式工作。 6 .當(dāng)南北路口的流量大時(shí),可以增加南北路口亮綠燈的時(shí)間,當(dāng) 東西路口的流量大時(shí),可以增加?xùn)|西路口亮綠燈的時(shí)間,結(jié)束后 調(diào)回正常狀態(tài)。 4.2 設(shè)計(jì)步驟 1 .利用Proteus 7. 5 SP3仿真軟件按下列要求繪制仿真實(shí)例 令用4個(gè)共陽極LED數(shù)碼管的分別表示東、西、南、北四個(gè)方向 路口,以數(shù)碼管的上、中、下3個(gè)橫段分別代表紅、黃、綠3 盞燈 令用PO、P1 口分別輸出控制模擬交通燈的狀態(tài)顯示的數(shù)碼管和 倒計(jì)時(shí)顯示數(shù)碼管的狀態(tài)碼 .P3」、P3-2、P3MSP3,控制數(shù)碼

11、管的位選 令P2"、sp2-4接收中斷信號(hào)并反饋給INTO接口進(jìn)行中斷處理 2 .按照基本要求編制程序?qū)崿F(xiàn)相應(yīng)功能。 五、硬件和軟件設(shè)計(jì) 5.1硬件電路圖 硬件電路圖通過Proteus 7.5 SP3仿真之后如圖1所示,其中: 按鈕K0連接P2P端口實(shí)現(xiàn)紅燈全亮,處理交通意外 按鈕K1連接P21端口實(shí)現(xiàn)南北方向亮燈時(shí)間+ls 按鈕K2連接P2M端口實(shí)現(xiàn)南北方向亮燈時(shí)間-1s 按鈕K3連接P2飛端口實(shí)現(xiàn)東西方向亮燈時(shí)間+ls 按鈕K4連接P2Y端口實(shí)現(xiàn)東西方向亮燈時(shí)間-1s 整體實(shí)驗(yàn)連接電路如下圖所示: 第24頁 u" 人行道I 控制 354243華 85

12、 圖1整體連接電路圖 5-2程序流程圖 5. 3 PO、Pl 口顯示狀態(tài)編碼表 P0 編碼 備注 P0A7 P0A6 P0A5 P0A4 P0A3 P0A2 POA1 P0A0 1 1 1 1 1 1 1 0 OFEH 紅燈 1 0 1 1 1 1

13、 1 1 OBFH 黃燈 1 1 1 1 0 1 1 1 0F7H 綠燈 Pl 編碼 備注 P1A7 P1A6 P1A5 P1A4 P1A3 P1A2 P1A1 P1AO 1 1 1 1 0 0 0 0 OCOH 0 1 1 1 1 1 0 0 1 0F9H 1 1 0 1 0 0 1 0 0 0A4H 2 1 0 1 1 0 0 0 0 OBOH 3 1 0 0 1 1 0 0 1 99H 4 1 0 0 1 0 0 1

14、 0 92H 5 1 0 0 0 0 0 1 0 82H 6 1 1 1 1 1 0 0 0 F8H 7 1 0 0 0 0 0 0 0 80H 8 1 0 0 1 0 0 0 0 90H 9 5.4程序源代碼 #include /define uchar unsigned chai ucliar code a[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f); uchar code b[4]={0x0d,0x0e,0

15、x07,0x0b}; //P2 口低有效 uchar code c[4]={0x6a,0x66,0x5c,0x3c}; //Pl 口 低電平有效 char SN=35,WE=40; 〃SN表示南北方向 主干道 WE表示東西方向 支 干到 g表示東 char SN_G=35,WE_G=20,Y=5; //sn——g 表示南北方向的綠燈 we 西方向的綠燈 uchar i.k=0,count=0; void delay(uchai t); void lightQ; void led(); void ledtluougli(); void leddnveQ; sbit K0=P

16、3人7; 〃開關(guān) KO sbitKl=P3A6; 〃開關(guān) KI sbit K2=P3A3; 〃開關(guān) K2 sbit K3=P3A5; 〃開關(guān) K3 sbit K4=P3A2; //開關(guān) K4 /******* 程序初始化 **********/ void init(void) ( TMOD=0X01; 〃計(jì)數(shù)器模式1為16位計(jì)數(shù)器 THl=(65536-50000)/256; TLl=(65536-50000)%256; 〃用時(shí) 50ms IT0=l; 〃外部中斷為低電平觸發(fā) ET0=l; //允許TO中斷 TR0=l; //啟動(dòng)計(jì)數(shù)器 EA=1; 〃總中斷 EX

17、0=l; //允許外部中斷0 EX1=1; 〃允許外部中斷1 ) /*******中斷0處理程序*****/ void intO(void) intenupt 0 EA=O; 〃關(guān)閉總中斷 Pl=0x6c; 〃東西南北方向?yàn)榧t燈 TRO=!TRO; 〃計(jì)數(shù)器停止工作 foi(;;) //無條件循環(huán) ( ledtluoughO; 〃調(diào)用通行時(shí)間顯示函數(shù) if(K0=0) //設(shè)置南北通行時(shí)間 ( delay(lO); if(K0==0) ( while(!K0) //當(dāng)松手時(shí)跳出循環(huán) 執(zhí)行后面程序 ( ledtluough(); 〃調(diào)用通行時(shí)間顯示函數(shù) ) SN_G++;

18、 〃南北方向綠燈時(shí)間十1 if((SN_G+Y)==100) 〃南北通行時(shí)間 100ms SN_G=1; //時(shí)間歸 1 } ) if(Kl=0) 〃設(shè)置東西方向通行時(shí)間 ( delay(lO); if(Kl==0) ( while(! K1) 〃當(dāng)松手時(shí)跳出循環(huán)執(zhí)行后面程序 ( ledtluoughO; 〃調(diào)用通行時(shí)間顯示函數(shù) ) WE_G十十; 〃東西時(shí)間十1 if((WE_G+Y)=100) WE_G=1; //時(shí)間歸 1 ) 〃返回 if(K3=0) delay(lO); if(K3==0) wlule(!K3) 〃當(dāng)松手時(shí)跳出循環(huán) 執(zhí)行后面程序 led

19、 through。; 〃調(diào)用通行時(shí)間顯示函數(shù) ) TR0=!TR0; EA=1; break; 〃跳出 /*****中斷1處理程序********/ void intl(void) intemipt 2 〃啟動(dòng)計(jì)數(shù)器 〃開總中斷 Pl=0X6C,P0=a[0]; EA=0; TR0=!TR0; 〃東西南北都為紅燈 // 〃計(jì)數(shù)器停止工作 leddiive(); if(K3==0) 〃數(shù)碼管驅(qū)動(dòng)程序 delay(lO); if(K3==0) ( while(!K3) ( 〃返回 void key() leddnveQ; 〃數(shù)

20、碼管驅(qū)動(dòng)程序 ) EA=1; TRO=!TRO; 〃啟動(dòng)定時(shí)器 break; if(K0==0) delay(lO); if(K0=0) wlule(!K0) liglit(); 〃調(diào)用交通燈函數(shù) led(); 〃調(diào)用數(shù)碼管函數(shù) count=0; k=0; 〃清零 //南北方向通車東西方向不通車 SN=SN_G, WE=SN_G+Y; //南北顯示時(shí)間為綠燈時(shí)間 東 西方向顯示時(shí)間為南北綠燈通行時(shí)間加黃燈閃亮?xí)r間 ) ) if(Kl==0) //南北無車而東西有車 delay(lO); if(Kl=0) while(!Kl) lightQ; ledO

21、; ) count=0; k=2; 〃南北不通車東西通車 SN=WE_G+Y, WE=WE_G; 〃南北顯示時(shí)間為東西綠燈通 行時(shí)間+黃燈閃亮?xí)r間東西方向顯示時(shí)間為其綠燈時(shí)間 ) ) ) /******** 定時(shí)函數(shù)*********/ void time 1 (void) intemipt 1 ( TH0=0X3C; TL0=0XB0; count十十; if(count>=20) ( SN-; WE--; count=0; if(SN==0||WE==0) ( k-H-; if(k>3) 〃當(dāng)k》3執(zhí)行程序 k=0; switch(k) ( case

22、0: SN=SN_G,WE=SN_G+Y;bieak; case 1: SN=Y,WE=Y;break; case 2: SN=WE_G+YWE=WE_G;bieak; case 3: SN=Y,WE=Y;bieak; /******延時(shí) t 毫秒*********/ void delay(uchai t) uchar i; for(i=2000;i>0;i-) /********* 交通燈函數(shù) *******/ void lightQ Pl=c[k]; if(P 1 =c [1 ]&&count=0) ( THl=(65536-50000)/256; TLl=(65

23、536-50000)%256; Pl=0X6E; ) else if(P 1 =c[3]&&count=0) ( THl=(65536-50000)/256; TLl=(65536-50000)%256; Pl=0X7c; ) void led() ( P2=b[0],P0=a[SN%10]; delay ⑸; P2=b[l],P0=a[SN/10]; delay ⑸; P2=b[2],P0=a[WE%10]; delay ⑸; P2=b[3],P0=a[WE/10]; delay ⑸; ) /******通行時(shí)間顯示函數(shù)*********/ void

24、 ledtluough() ( P2=b[0] ,P0=a[(SN_G+Y)% 10]; delay ⑸; P2=b[l ] ,P0=a[(SN_G+Y)/l 0]; delay ⑸; P2=b[2] .P0=a[(WE_G+Y)% 10]; delay ⑸; P2=b[3] .P0=a [(WE_G 十 Y)/10]; delay(5); /*****數(shù)碼管驅(qū)動(dòng)函數(shù)********/ void leddnve() ( P2=b[0]; delay ⑸; P2=b[l]; delay ⑸; P2=b[2]; delay ⑸; P2=b[3]; delay ⑸;

25、 ) /******** 主函數(shù) ********/ void mam(void) ( foi(;;) ( keyO; light。; ledO; ) ) 5.5程序運(yùn)行效果圖 2正常狀態(tài) 11 3lT*U Rd 9J!T Mia*x) p -.*>1 PWO ire ,2.g ? - ? 3黃燈狀態(tài) 在31. GAB 圖4緊急狀態(tài) 六、心得體會(huì) 通過這次交通燈的課程設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè) 技能分析和解決現(xiàn)實(shí)問題的能力。使我在單片機(jī)的基本原理、單片機(jī) 應(yīng)用學(xué)習(xí)過程中,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前 邁了一大步,為日后成為一名合格的應(yīng)用型人才打下良好的基礎(chǔ)。綜 合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí), 對(duì)已有知識(shí)有了更深層次的理解和認(rèn)識(shí)。在此,由于自身能力有限, 在課程設(shè)計(jì)中碰到了很多的問題,我通過查閱相關(guān)書籍、資料以及和 周圍同學(xué)交流得到解決。 還有交通燈是我們生活中非常常見的一種東西,對(duì)于我們學(xué)以致 用的這種能力得到了很好鍛煉,能夠?yàn)槲覀円院蟮墓ぷ饔趯W(xué)習(xí)打下基 礎(chǔ)。 由于本人的水平有限,設(shè)計(jì)中難免會(huì)有一些不合理的部分,系統(tǒng) 的穩(wěn)定性還有待提高。

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!