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

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

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

0 積分

下載資源

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

資源描述:

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

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

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

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

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

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

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

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

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

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

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

11、管的位選 令P2"、sp2-4接收中斷信號并反饋給INTO接口進行中斷處理 2 .按照基本要求編制程序?qū)崿F(xiàn)相應(yīng)功能。 五、硬件和軟件設(shè)計 5.1硬件電路圖 硬件電路圖通過Proteus 7.5 SP3仿真之后如圖1所示,其中: 按鈕K0連接P2P端口實現(xiàn)紅燈全亮,處理交通意外 按鈕K1連接P21端口實現(xiàn)南北方向亮燈時間+ls 按鈕K2連接P2M端口實現(xiàn)南北方向亮燈時間-1s 按鈕K3連接P2飛端口實現(xiàn)東西方向亮燈時間+ls 按鈕K4連接P2Y端口實現(xiàn)東西方向亮燈時間-1s 整體實驗連接電路如下圖所示: 第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; 〃計數(shù)器模式1為16位計數(shù)器 THl=(65536-50000)/256; TLl=(65536-50000)%256; 〃用時 50ms IT0=l; 〃外部中斷為低電平觸發(fā) ET0=l; //允許TO中斷 TR0=l; //啟動計數(shù)器 EA=1; 〃總中斷 EX

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

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

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

20、碼管驅(qū)動程序 ) EA=1; TRO=!TRO; 〃啟動定時器 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; //南北顯示時間為綠燈時間 東 西方向顯示時間為南北綠燈通行時間加黃燈閃亮?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; 〃南北顯示時間為東西綠燈通 行時間+黃燈閃亮?xí)r間東西方向顯示時間為其綠燈時間 ) ) ) /******** 定時函數(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; /******延時 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ù)*********/ 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ū)動函數(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程序運行效果圖 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) 六、心得體會 通過這次交通燈的課程設(shè)計,使我得到了一次用專業(yè)知識、專業(yè) 技能分析和解決現(xiàn)實問題的能力。使我在單片機的基本原理、單片機 應(yīng)用學(xué)習(xí)過程中,以及在常用編程設(shè)計思路技巧的掌握方面都能向前 邁了一大步,為日后成為一名合格的應(yīng)用型人才打下良好的基礎(chǔ)。綜 合課程設(shè)計讓我把以前學(xué)習(xí)到的知識得到鞏固和進一步的提高認識, 對已有知識有了更深層次的理解和認識。在此,由于自身能力有限, 在課程設(shè)計中碰到了很多的問題,我通過查閱相關(guān)書籍、資料以及和 周圍同學(xué)交流得到解決。 還有交通燈是我們生活中非常常見的一種東西,對于我們學(xué)以致 用的這種能力得到了很好鍛煉,能夠為我們以后的工作于學(xué)習(xí)打下基 礎(chǔ)。 由于本人的水平有限,設(shè)計中難免會有一些不合理的部分,系統(tǒng) 的穩(wěn)定性還有待提高。

展開閱讀全文
溫馨提示:
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)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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