版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機 課 程設計論文微電子學0802小組成員:陳偉偉0806080208王文娟0806080202胡日強0806080216單片機交通燈設計摘要:在通訊、交通、工業(yè)等方面單片機的已經(jīng)成為必不缺少的一部分,為了更好的適應社會的需求,我們通過對單片機的有關設計,了解并且掌握單片機的用途和作用,和制作原理.系統(tǒng)由單片機系統(tǒng)、LED顯示、交通燈演示系統(tǒng)組成。系統(tǒng)除基本交通燈功能外,還具有倒計時、時間設置、緊急情況處理及根據(jù)具體情況手動控制等功能。關鍵詞:單片機;交通燈;控制四個方向車輛行進;倒計時計數(shù):1、方案比較、設計與論證1.1單片機概述單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構成,內部包含有計算機的基本功能部件:中央處理器、存儲器和并行I/O接口、中斷系統(tǒng)、時鐘電路等.因此,單片機只需要和適當?shù)能浖巴獠吭O備相結合,便可成為一個單片機控制系統(tǒng).單片機經(jīng)過1、2、3、三代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內部資源在增多,引角的多功能化,以及低電壓底功耗.1.2芯片簡介 1.2.1MSC-51芯片簡介(1)MCS-51單片機內部結構8051是MCS—51系列單片機的典型產品,我們以這一代表性的機型進行系統(tǒng)的講解。8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:?中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完成運算和控制輸入輸出功能等操作.?數(shù)據(jù)存儲器(RAM)8051內部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。?程序存儲器(ROM):8051共有4KB個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。?定時/計數(shù)器(ROM):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產生中斷用于控制程序轉向。?并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。?全雙工串行口:8051內置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用.?中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇.?時鐘電路:8051內置最高頻率達12MHz的時鐘電路,用于產生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結構,即普林斯頓(Princeton)結構。INTEL的MCS—51系列單片機采用的是哈佛結構的形式,而后續(xù)產品16位的MCS-96系列單片機則采用普林斯頓結構.1.3單片機選擇方案我們選擇80C51單片機為核心,結合單片機課程設計要求,在提高穩(wěn)定性的前提下,設計并且制作交通燈,實現(xiàn)了能根據(jù)東西南北四個方向的指示燈來控制車輛的行進以及在緊急情況時的處理。1.4電源選擇方案為使模塊穩(wěn)定工作,須有可靠電源.我們考慮了兩種電源方案方案一:采用獨立的穩(wěn)壓電源。此方案的優(yōu)點是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點是各模塊都采用獨立電源,會使系統(tǒng)復雜,且可能影響電路電平.
方案二:采用單片機控制模塊提供電源。改方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)約成本;缺點是輸出功率不高。
由于我們所做的交通燈結構簡單,由電源直接驅動的元件只有發(fā)光二極管,兩個數(shù)碼管用了74LS245來增強驅動,即電源的負載并不是很重。綜上所述我們選擇第二種方案.
1.5選擇界面方案系統(tǒng)要求完成倒計時、狀態(tài)燈等功能?;谏鲜鲈?,我們考慮了三種方案:
方案一:完全采用數(shù)碼管顯示。這種方案只顯示有限的符號和數(shù)碼字符,無法勝任題目要求。
方案二:完全采用點陣式LED顯示。這種方案實現(xiàn)復雜,且須完成大量的軟件工作;但功能強大,可方便的顯示各種英文字符,漢字,圖形等。
方案三:采用數(shù)碼管與點陣LED相結合的方法因為設計既要求倒計時數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實情況,用數(shù)碼管與LED燈分別顯示時間與提示信息.這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實現(xiàn)的復雜度。權衡利弊,第三種方案可互補一二方案的優(yōu)缺,我們決定采用方案三以實現(xiàn)系統(tǒng)的顯示功能。
2、理論分析與計算2.1顯示時序的理論分析與計算對于一個交通路口來說,能在最短的時間內達到最大的車流量,就算是達到了最佳的性能,我們稱在單位時間內多能達到的最大車流為車流量,用公式:車流量=車流/時間來表示。通過80C51芯片的P1口設置紅、綠燈燃亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩6秒時黃燈閃爍警示(交通燈信號通過P1口輸出,顯示時間通過單片機的P0和P2口經(jīng)過兩個八段數(shù)碼管顯示);在緊急情況下可通過P3口的INT0(P3.2)和INT1(P3。3)的中斷來控制現(xiàn)場的情況。2.2亮度問題由于我們所用的數(shù)碼管和發(fā)光二極管的電源都是由單片機的電源來提供的,這樣可能會出現(xiàn)顯示的亮度不夠,因此我們在兩個八段數(shù)碼管的前面加了一個74LS245以增加對它的驅動能力。3、測試、數(shù)據(jù)及結果分析3.1狀態(tài)燈顯示測試當電路連接完畢后,將寫好的測試程序在電腦上的KEIL軟件生成HEX文件.
3.2數(shù)碼管的測試將串口的和電路板上的接口連接,將寫好的測試程序通過串口連接線刷寫到單片機的ROM中,然后給單片機上電即可。
3.3整體電路測試系統(tǒng)上電,刷寫好程序即可開始測試,觀測數(shù)碼管和發(fā)光二極管的顯示是否按所編程序的要求進行,燈的顯示亮度和數(shù)碼管的亮度是否正常,同時觀察倒計的計數(shù)是否正常.
4、總結由于使用的是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大,而且可以隨時的更新系統(tǒng),進行不同狀態(tài)的組合.但是在我們設計和調試的過程中,也發(fā)現(xiàn)了一些問題,譬如紅燈和綠燈的切換還不夠迅速等等,這需要在實踐中進一步完善。還有在焊接電路板的過程中也出現(xiàn)了不少問題。如74LS245的管腳中的18引腳控制輸入端低電平有效,剛開我們沒有管這個引腳,導致信號輸不進去.參考文獻:1.張毅坤單片微型計算機原理及應用,西安電子科技大學出版社19982.柴鈺單片機原理應用,西安電子科技大學出版社20093.譚浩強單片機課程設計.北京:清華大學出版社,1998設計心得體會陳偉偉的心得體會:此次設計我負責的主要是軟件方案的設計部分和寫報告,從考試前知道有課程設計這件事我就開始準備了,所以我并沒有感覺到時間緊迫。首先是編程,雖然我們設計的交通燈功能結構都比較簡單,但這是我第一次編這么長的程序,心理很沒底。先找了一個類似的程序根據(jù)我門的實際情況進行反復的修改,同時和實際情況相對比設置參數(shù),終于在電腦上把源程序沒有錯誤的生成了。此時心里就有一股成功的喜悅。經(jīng)過查閱資料,我把交通燈的系統(tǒng)電路圖設計出來,用Keil和Proteus軟件成功的仿真出來,此時我想我們已經(jīng)成功了一半。剩下的環(huán)節(jié)就是這一周做實物了.實物焊完之后,調試的是時候出現(xiàn)了一些問題,主要是驅動管沒連好,經(jīng)過檢查發(fā)現(xiàn)驅動管的輸入控制引腳沒有接。通過這次課設,讓我明白了凡事不能眼高手低,理論上的東西只有通過實際的操作,在實際的操作中才能進一步深刻的領悟,同時也加深了對課本的理解,激發(fā)了我們對單片機的學習興趣.我想這是這次課設的最重要的目的.此外,這次課設讓我明白了團隊合作的重要性,三人一組,各有分工,想互合作,發(fā)揮每個人的特長為團隊做貢獻,這是我們設計成功的最重要的原因。王文娟的心得體會:我是負責焊接的.我剛開始我們先把各種元件在電路板上分布好,如何能給人良好的視覺效果,以及對于74LS245、八段數(shù)碼管這些元件的管腳的標號確定出來,為焊接做準備.我們以前做過單片機的焊接,只用焊接管腳就可以了,但這次要自己動手布線,連線,感覺很不適應。我和搭檔胡日強瞻前顧后,還是百密一疏,免不了出現(xiàn)考慮不到的地方。我是主焊,胡日強檢查有沒有焊錯誤的地方.我們商量著先焊哪一個,后焊哪一個.這里面得重點和難點就是74LS245的焊接,我們兩個把管腳先在紙上標記號,對應著實物步步為營,就這樣把整個電路的所有元件焊到了板子上。我以為我們這么認真仔細,保守的做法做出來的東西會一次成功,但運行時只有不按確定燈就不亮,而且數(shù)碼管沒有倒計時,經(jīng)過請教別人和仔細檢查發(fā)現(xiàn)沒有給電,我們驅動管的輸入控制引腳沒有接,修改之后,兩個都顯示正常了.回顧起此次單片機課程設計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在接近2星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識.通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,從而提高自己的實際動手能力和獨立思考的能力。胡日強的心得體會:我是負責硬件模擬的,電腦上軟件模擬正確后就是硬件模擬了。經(jīng)過一個學期的單片機課程的學習,我對51單片機的基本結構、工作原理及其程序設計有了一定程度的掌握和了解,并且學會按照一定的要求來編寫程序。這次單片機課程設計我們歷時一個星期,我們組有三個同學,其中一個做軟件,一個焊接,而我主要做硬件模擬.按照預先設計的程序,我們在試驗板上模擬,中間遇到問題:在模擬電路板上,只有共陽的數(shù)碼管,而我們的程序設計要求用共陰極的數(shù)碼管,開始我們找老師要共陰極的管子,老師考驗我們說自己修改程序也可以。這個也沒有難倒我們,很快問題就解決了。在實習的第一天,電路板上的紅綠黃燈和數(shù)碼管就按照我們預想的結果正常了。接下來的工作就是實物的制作。此次課程設計中,我學到了很多東西,尤為重要的是,讓我一個學期的理論知識得到實踐。我們三個默契合作讓設計進展順利,團結就是力量。感謝老師的諄諄教誨。附錄一:系統(tǒng)總體原理圖圖1系統(tǒng)電路圖圖2系統(tǒng)實物附錄二:程序流程圖開始開始狀態(tài)四:東西黃燈閃亮,南北紅燈進行初始化設置狀態(tài)四:東西黃燈閃亮,南北紅燈進行初始化設置狀態(tài)一:東西狀態(tài)一:東西紅燈,南北綠燈調用延時1秒子程序調用延時1秒子程序調用延時調用延時1秒子程序 判斷是否到6S N判斷是否到6S N判斷是否到25S秒判斷是否到25S秒跳轉到開始 Y跳轉到開始狀態(tài)二:東西紅燈,南北黃燈閃亮 Y狀態(tài)二:東西紅燈,南北黃燈閃亮當有緊急情況時調用延時1秒子程序當有緊急情況時調用延時1秒子程序選擇外部中斷選擇外部中斷 N判斷是否到6S判斷是否到6S 0 1顯示的時間停止,延時,處理現(xiàn)場東西南北紅燈全亮,延時5S Y狀態(tài)三:東西綠燈,南北紅燈顯示的時間停止,延時,處理現(xiàn)場東西南北紅燈全亮,延時5S狀態(tài)三:東西綠燈,南北紅燈調用延時1調用延時1秒子程序情況結束,繼續(xù)中斷前的狀態(tài) 情況結束,繼續(xù)中斷前的狀態(tài)判斷是否到25S秒判斷是否到25S秒 NY圖3流程圖附錄三:程序清單/*交通燈控制系統(tǒng)C語言源程序*#include〈reg51。h>#defineucharunsignedchar#defineuintunsignedintuchardatabuf[4];uchardatasec_dx=20;//東西數(shù)默認uchardatasec_nb=30;//南北默認值uchardataset_timedx=20;uchardataset_timenb=30;intn;uchardatab;//定時器中斷次數(shù)sbitk1=P1^6;//定義5組開關sbitk2=P1^7;sbitk3=P2^7;sbitk4=P3^0;sbitk5=P3^1;sbitYellow_nb=P2^5; //南北黃燈標志sbitYellow_dx=P2^2; //東西黃燈標志sbitGreen_nb=P2^4;sbitGreen_dx=P2^1;sbitBuzz=P3^7;bitBuzzer_Indicate;bittime=0;//燈狀態(tài)循環(huán)標志bitset=1;//調時方向切換鍵標志ucharcodetable[11]={ //共陰極字型碼0x3f,//——00x06,//——10x5b,//—-20x4f,//——30x66,//-—40x6d,//--50x7d,//—-60x07,//--70x7f,//—-80x6f,//——90x00//—-NULL};//函數(shù)的聲明部分voiddelay(intms);//延時子程序voidkey();//按鍵掃描子程序voidkey_to1();//鍵處理子程序voidkey_to2();voidkey_to3();voiddisplay();//顯示子程序voidlogo();//開機LOGOvoidBuzzer();//主程序voidmain(){ TMOD=0X01; TH0=0XD8; TL0=0XF0; EA=1; ET0=1; TR0=1; EX0=1; EX1=1;logo(); P2=0Xc3;//開始默認狀態(tài),東西綠燈,南北黃燈sec_nb=sec_dx+5; while(1) { key();//調用按鍵掃描程序 display();//調用顯示程序 Buzzer(); } }//函數(shù)的定義部分voidkey() //按鍵掃描子程序{ if(k1!=1) { delay(10); if(k1!=1) { while(k1!=1) { key_to1(); for(n=0;n<40;n++) {display();} } } } if(k2!=1) { delay(10); if(k2!=1) { while(k2!=1) { key_to2(); for(n=0;n<40;n++) {display();} } } } if(k3!=1) { TR0=1;//啟動定時器 Buzzer_Indicate=0; sec_nb=set_timenb; //從中斷回復,仍顯示設置過的數(shù)值 sec_dx=set_timedx; if(time==0) {P2=0X99;sec_nb=sec_dx+5;} else{P2=0xC3;sec_dx=sec_nb+5;} } if(k4!=1){ delay(5); if(k4!=1) { while(k4!=1); set=!set; } } if(k5!=1) { delay(5); if(k5!=1) { while(k5!=1) key_to3(); } }}voiddisplay()//顯示子程序{ buf[1]=sec_dx/10;//第1位東西秒十位 buf[2]=sec_dx%10;//第2位東西秒個位 buf[3]=sec_nb/10;//第3位南北秒十位 buf[0]=sec_nb%10;//第4位南北秒個位 P1=0xff; //初始燈為滅的P0=0x00;P1=0xfe; //片選LCD1P0=table[buf[1]]; delay(1); P1=0xff;P0=0x00;P1=0xfd; //片選LCD2P0=table[buf[2]];delay(1); P1=0xff;P0=0x00; P1=0Xfb; //片選LCD3 P0=table[buf[3]]; delay(1); P1=0xff;P0=0x00; P1=0Xf7; P0=table[buf[0]]; //片選LCD4 delay(1);}voidtime0(void)interrupt1using1//定時中斷子程序{ b++; if(b==19) //定時器中斷次數(shù) { b=0; sec_dx--; sec_nb--; if(sec_nb〈=5&&time==0)//東西黃燈閃 {Green_dx=0;Yellow_dx=!Yellow_dx;} if(sec_dx<=5&&time==1)//南北黃燈閃 {Green_nb=0;Yellow_nb=!Yellow_nb;} if(sec_dx==0&&sec_nb==5) sec_dx=5; if(sec_nb==0&&sec_dx==5) sec_nb=5; if(time==0&&sec_nb==0) {P2=0x99;time=!time;sec_nb=set_timenb;sec_dx=set_timenb+5;} if(time==1&&sec_dx==0) {P2=0Xc3;time=!time;sec_dx=set_timedx;sec_nb=set_timedx+5;} } }voidkey_to1() //鍵盤處理子程序之+{ TR0=0; //關定時器 if(set==0) set_timenb++;//南北加1S else set_timedx++;//東西加1S if(set_timenb==100) set_timenb=1; if( set_timedx==100) set_timedx=1;//加到100置1 sec_nb=set_timenb; //設置的數(shù)值賦給東西南北 sec_dx=set_timedx; }voidkey_to2() //鍵盤處理子程序之—{ TR0=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版工廠承包投資融資與合作開發(fā)合同3篇
- 2025年度大學生實習實訓基地實習補貼及獎勵合同4篇
- 二零二五年度內衣產品進出口貿易合同范本3篇
- 2025年度糧食儲備調撥與應急供應保障合同4篇
- 2025年度美團商家入駐及品牌合作合同4篇
- 2025年度環(huán)保建材供應與施工勞務分包合同范本4篇
- 2025年電商買手用戶互動體驗設計與優(yōu)化合同3篇
- 2025年度櫥柜品牌形象設計合同2篇
- 2025年度全鋁門窗定制安裝服務合同3篇
- 中源云計算架構-深度研究
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學年部編版七年級歷史下冊
- 2025-2030年中國糖醇市場運行狀況及投資前景趨勢分析報告
- 冬日暖陽健康守護
- 水處理藥劑采購項目技術方案(技術方案)
- 2024級高一上期期中測試數(shù)學試題含答案
- 盾構標準化施工手冊
- 山東省2024-2025學年高三上學期新高考聯(lián)合質量測評10月聯(lián)考英語試題
- 不間斷電源UPS知識培訓
- 三年級除法豎式300道題及答案
- 人教版八級物理下冊知識點結
- 2024年江蘇省徐州市中考一模數(shù)學試題(含答案)
評論
0/150
提交評論