單片機課程設計---十字路口的交通燈控制電路

上傳人:飛*** 文檔編號:26219678 上傳時間:2021-08-07 格式:DOCX 頁數(shù):16 大?。?46.69KB
收藏 版權(quán)申訴 舉報 下載
單片機課程設計---十字路口的交通燈控制電路_第1頁
第1頁 / 共16頁
單片機課程設計---十字路口的交通燈控制電路_第2頁
第2頁 / 共16頁
單片機課程設計---十字路口的交通燈控制電路_第3頁
第3頁 / 共16頁

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

10 積分

下載資源

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

資源描述:

《單片機課程設計---十字路口的交通燈控制電路》由會員分享,可在線閱讀,更多相關《單片機課程設計---十字路口的交通燈控制電路(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 《單片機原理及應用課程設計》報告 ——交通燈設計 專 業(yè): 班 級: 姓 名: 學 號: 2013年5月 1 .課程設計目的 1.1 鞏固和加深對單片機原理和接口技術(shù)知識的理解; 1. 2培養(yǎng)根據(jù)課題需要選學參考書籍、查閱手冊和文獻資料的能力; 1.3 學會方案論證的比較方法,拓寬知識,初步掌握工程設計的基本方法; 1.4 掌握常用儀器、儀表的正確使用方法,學會軟、硬件的設計和調(diào)試方法; 1.5 能按課程設計的要求編寫課程設計報告,能正確反映設計和實驗成果,能 用計算機繪制電路圖和流

2、程圖。 2 .課程設計要求 1)設計一個十字路I1交通燈控制器。用單片機控制LED燈模擬指示。模擬東西方向 的十字路口交通信號控制情況。東西向通行時間為80s,南北向通行時間為60s,緩沖時 間為3so 2)黃燈亮時,要求每秒閃亮一次。 3)東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用顯示器進 行顯示(采用計時的方法)。 4)當有突發(fā)事情發(fā)生時(如有救護車通過時),可通過按鍵將各個路口設置成紅燈,只讓救 護車通過。 3 .硬件設計 3.1 設計思想 單片機選型:AT89C52 3sz都引記J4 mm 平個鴻平汩冶冶冶 陪ZCd ^02 部

3、 貪& ua DSC os 3d zsf awrzd B Nluysd d ;d : ;dd」::Mddddld AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復擦寫的Flash 只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、 非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲 單元,AT89c52單片機在電子行業(yè)中有著廣泛的應用。AT89c52具有以下標準功能:8k字 節(jié)Flash, 256字節(jié)RAM, 32位I/O 口線,看門狗定時器,2個數(shù)據(jù)指針

4、,三個16位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路,8位 微控制器8K字節(jié)在系統(tǒng)可編程Flash ROMo PO □: P0 口是一個8位漏極開路的雙向I/O I Io作為輸出口,每位能驅(qū)動8個TTL 邏 輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,P0 口被分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總 線更用,在訪問期間激活內(nèi)部上拉電阻。 在Flash編程時,PO II接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時, 要求外接上拉電阻。 P1 口: P1 口是一個具有內(nèi)部上拉電阻的8位雙向I/O I I, P1

5、輸出緩沖器能驅(qū)動 4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為 輸入口使用。作為輸入使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會 輸出一個電流(IIL)。 此外,P1.0和PL 2分別作定時器/計數(shù)器2的外部計數(shù)輸入(PL0/T2)和時器/計 數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗時,P1 口接 收低8位地址字節(jié)。 P1端口引腳號第二功能: P1.0 T2 (定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出 Pl. 1 T2EX (定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制) P2 口: P2是一

6、個帶有內(nèi)部上拉電阻的8位雙向I/O D, P2的輸出緩沖級可驅(qū)動 (吸收或輸出電流)4個TTL邏輯門電路。對端口 P2寫“1”,通過內(nèi)部的上拉電阻把 端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引 腳被外部信號拉低時會輸出一個電流(IIL)。 在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令) 時,P2 口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI 指令)時,P2 口輸出P2鎖存器的內(nèi)容。 Flash編程或校驗時,P2亦接收高位地址和一些控制信號。 P3 口: P3 口是一組帶有內(nèi)部上拉電阻的8

7、位雙向I/O PL P3 口輸出緩沖級可驅(qū) 動(吸收或輸出電流)4個TTL邏輯門電路。對P3 口寫入“1”時,它們被內(nèi)部上拉 電阻拉高并可作為輸入端口。此時,被外部拉低的P3 門將用上拉電阻輸出電流(IIL)。 P3 口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。 P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能。 P3「I亦作為AT89s52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗時,P3 口也接收一些控制信號。 P3端口引腳第二功能: P3. 0 RXD (串行輸入口) P3. 1 TXD (串行輸出口) P3. 2 I

8、NTO (外中斷 0) P3. 3 INT1(外中斷 1) P3.4 T0 (定時/計數(shù)器0) P3.5 T1 (定時/計數(shù)器1) P3.6 WR(外部數(shù)據(jù)存儲器寫選通) P3.7 RD(外部數(shù)據(jù)存儲器讀選通) RST一一復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單 片機兔位。 ALE/PROG一一當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE (地址鎖存允許)輸出脈 沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的 脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存 儲器時將跳過一個ALE脈沖。對FL

9、ASH存儲器編程期間,該引腳還用于輸入編程脈沖 (PROG)。 如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止 ALE操作。該位置位后,只有一條MOVX和M0VC指令才能將ALE激活。此外,該引腳會 被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE禁止位無效。 PSEN一一程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖, 在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。 EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為OO

10、OOH-FFFFH), EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,更位時內(nèi)部會鎖 存EA端狀態(tài)。 如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。 FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件 是使用12V編程電壓Vpp。 3. 2系統(tǒng)原理圖 3. 3復位電路:上電+按鈕 1uF 3€f RST 1k 29 R2 30 1k A PSEN ALE EA P1.0 P1.1 P1.2 。圖中,上電時,接通電源,電容器

11、C相當于瞬間短路,+5V加到了 RST/VPD端,該高電 平使8051全機復位。若運行過程中,需要程序從頭執(zhí)行,只需按動按鈕開關,則直接把+5V加 到了 RST八TD端,從而復位.顯然,該電路即可以上電更位,也可以手動復位,是常用復位電 路之一。 si ?????? T8KXIPXZCC , 3.4數(shù)碼管顯示:7SEG-MPX2-CC 5 此處采用的數(shù)碼管時共陰極數(shù)碼管,G、F、E、D、C、B、A七個端口是輸入端口,對其各 位進行賦值,置位則亮,復位則滅,用此來顯示出相應的數(shù)字;1、2兩端II用來控制高位和低 位的選通顯示,只要對端II置位,便可以選擇該端口,并對其所代表的

12、位進行賦值,顯示。 3. 5發(fā)光二極管顯示 每個路I I都采用了三個LED燈來顯示,分別代表了紅黃綠三種燈,來模擬路II交通燈的變 換。 3 . 6鍵盤:獨立鍵盤+中斷 采用開關來控制進入中斷,可以在路口出現(xiàn)緊急情況時,拉動開關,來使得紅綠燈發(fā)生相 應的改變,己處理緊急情況下的車輛通行。 4 .軟件設計 4. 1總體流程圖 4.2緊急中斷子程序流程圖 4. 3循環(huán)流程控制思路: 5. 4源程序 #include #include #define unit unsigned mt #define u

13、char unsigned char uchar temp.aa.mi; sbit rn=P2A0; sbit nb=P2Al; sbit gn=P2A2; sbit rw=P2 八3; sbit dx=P2A4; sbit gw=P2 八 5; sbit shi=P3A6; sbit ge=P3八7; /*對要使用的單片機各個口進行定義*/ bit flag=O; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x7

14、1); /*將數(shù)字0123456789的16進制數(shù)定義成數(shù)組用以顯示*/ void delay(umt z); void disp(uint n); void nb_flash(void); void dx_flash(void); void xintOQ; void tiinerO(); void LED_ONQ; void xintlQ; void LED_OFF(); void nanbei(); void dongxiO; /*將所使用的子函數(shù)定義*/ void main。 ( umt num; num=0; aa=0; TMOD=0x01; TH0=

15、(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=l; TR0=l; EX0=l; IT0=0; EX1=1; IT1=1; /*中斷初始化*/ 10 naiibeiQ; nb_flash(); dongxiQ; dx_flash(); ) ) void delay(umt z) { umt x,y; fbr(x=z;x>0;x-) for(y=U0;y>0;y-); ) /*主函數(shù)中顯示部分*/ /*延時子函數(shù)*/ void tiiiierO() interrupt 1 { TH0=(

16、65536-50000)/256; TL0=(65536-50000)%256; aa++; if(aa=18) { aa=0; flag=l; ) ) void disp(uint n) { while(lflag) { ge=0; P0=table[n%10]; delay(50); shi=l;ge=l; slii=0; PO=table[ivlO]; delay(50); shi=l;ge=l; } if(flag==l) flag=O; ) void nanbei() /*顯示子函數(shù)*/ /*南北方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/

17、 { uiiit num; num=60; disp(num); wlule(num<=60&&num>0) { num"; P2=0xde; disp(num); } ) void dongxi() /*東西方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/ { uiiit num; num=80; wlule(num<=80&&num>0) { P2

18、=Oxf3; disp(num); num--; } ) void nb_flash(void) /*南北方向的黃燈和數(shù)碼管顯示子函數(shù)*/ ( uint a; fbr(a=3;a>O;a") { P2=Oxdd; nb=l; delay(lOO); nb=O; disp(a); ) ) void dx_flash(void) /*東西方向的黃燈和數(shù)碼管顯示子函數(shù)*/ ( uint a; fbr(a=3;a>O;a") { P2=0xeb; dx=l; delay(100); dx=0: disp(a); ) ) void xintOQ mten

19、upt 2 /* 中斷定義*/ TH0=(65536-50000)/256; TL0=(65536-50000)%256; LED.ONQ; } 產(chǎn)開關控制燈的子函數(shù)*/ void LED_ON() { uiiit b; rn=0; rw=0; gn=l; gw=l; nb=l; dx=l; fbr(b=5;b>O;b—) ( ge=O;shi=l; PO=table[b]; delay(lOOO); ge=l;shi=l; } xeturn; } 5 .調(diào)試運A 5.1 正常運行狀態(tài)

20、 5.2中斷運行狀態(tài) 5.3黃燈閃爍狀態(tài) 6 .設計心得體會 課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重 要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術(shù)發(fā)展的口新口異,單片機已 經(jīng)成為當今計算機應用中空前活躍的領域,在生活中可

21、以說得是無處不在。因此作為二十一世 紀的大學來說掌握單片機的開發(fā)技術(shù)是十分重要的。 這次的單片機課程設計大概用了一周的時間,在這一周的時間當中,雖然開始遇到了很多 的困難,但是由于合理地進行設計安排,分工合作,并各自查閱了相關的資料,最后在大家共 同努力下我們順利地完成了本次單片機課程設計,同時也學到了很多東西。 回顧起此次單片機課程設計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐, 在整整一星期的口子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可 以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。例如我們在設計 數(shù)碼管顯示的時候,剛開始的時候,

22、由于對數(shù)碼管引腳的不熟悉,我們都無法讓數(shù)字顯示,后 來發(fā)現(xiàn)時十位和個位的置位、兔位發(fā)生了問題,我們對此進行了修改,可以正確的顯示出十位 及個位的數(shù)值,但是數(shù)字的顯示不穩(wěn)定,不停的跳動,我們?yōu)榇瞬殚喠撕芏嗟馁Y料,但還是未 能解決,最后我們不停地對程序進行修改,終于發(fā)現(xiàn)了問題所在,在顯示子程序上存在缺陷未 能快速的切換對十位、個位的置位和復位,經(jīng)過這樣的修改,終于可以完美的顯示時間了。我 們也更好地掌握了對數(shù)碼管的使用,這都是課堂上學不到的知識。 這次的單片機課程設計是通過實踐操作和理論相結(jié)合,提高動手實踐能力,提高科學的思 維能力。與此同時,我們也對分工合作有了進一步的認識,只有通過合理的分工

23、合作,我們們 才能夠在短短一周的時間內(nèi)完成設計任務,相信這對以后在社會上工作和學習會有很多幫助, 讓我們能更好的進入工作狀態(tài)。最重要的是,這次課程設計也增加了我們對問題的研究和探討, 們以后的學習中會有更多的幫助。 單片機為我們的主要專業(yè)課之一,對我們還是很有幫助的,課程設計也是為我們以后的工 作提前進行了一次練手,也是我們學習生活之中少有的一次自己探索、研究,發(fā)現(xiàn)問題、解決 問題的機會。當然要做好一個課程設計也不是很簡單的,我認為有以下幾步: (1)在設計程序之前,對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪 些資源; (2)要有一個清晰的思路和一個完整的的軟件流程圖,善

24、于將大的程序段縮小為每個子函 數(shù)來實現(xiàn); (3)在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計 的必經(jīng)之路; (4)要養(yǎng)成注釋程序的好習慣,寫程序是應該思路清晰,結(jié)構(gòu)明了,應該讓人一看就能明 白你的思路,方便資料的保存和交流; (5)我們們應該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題 的; 在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不 夠牢固。我們們通過杳閱大量有關資料,并在小組中互相討論,交流經(jīng)驗和自學,若遇到實在 搞不明白的問題就會及時請教老師,或者與其他小組成員討論,共同解決,使自己學到了不少 知

25、識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。通過這次課程設計我們也發(fā)現(xiàn)了自身存在的不足 之處,雖然感覺理論上已經(jīng)掌握,但在運用到實踐的過程中仍有意想不到的困惑,經(jīng)過一番努 力才得以解決。 通過這次課程設計使我更加懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的, 只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正將一個東西學好學透, 從而提高自己的實際動手能力和獨立思考的能力。我想這對于我今后的學習生活和工作都會是 有很大幫助的! 7 .參考書目 [11 .肖金球.單片機原理與接口技術(shù); 【2】.江志紅.51單片機技術(shù)與應用系統(tǒng)開發(fā)案例精選; [3] .周潤景.基于PROTEUS的51單片機設計與仿真; 【4】.王守中.51單片機開發(fā)入門與典型實例; [5] .張齊.朱寧西.單片機系統(tǒng)設計與開發(fā); 【6】.周立功單片機開發(fā)網(wǎng); 【7】.天津銳志單片機開發(fā)網(wǎng); [8] . ATMEL公司AT89S52單片機中文PDF資料;

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(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ǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!