51單片機c語言交通燈設計報告_第1頁
51單片機c語言交通燈設計報告_第2頁
51單片機c語言交通燈設計報告_第3頁
51單片機c語言交通燈設計報告_第4頁
51單片機c語言交通燈設計報告_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

專業(yè)班級:xxxxxxxx 指導老師:xxxx交通燈在我們?nèi)粘I钪须S處可見,它在交通系統(tǒng)中處于至關重要的位置。燈,以AT89S51單片機為基礎,結合按鍵和數(shù)碼管等元器件設計出一個簡單且完全的交通燈系統(tǒng)。一、設計任務............................... 3 3 5 5 5 6 6 7 7 8 8 9 15(1)、設計一個十字路口的交通燈控制電路,要求南北方向和東西方向兩條交叉道路上的車輛交替運行,每次通行時間都設30秒,時間可設置修改。要求每秒亮一次。(3)、有緊急車輛要求通過時,系統(tǒng)要能禁止東西和南北兩條路上所有的車輛通行。性能CMOS8位微控制器。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和AT89S52為眾多嵌入式控制應用優(yōu)點本系統(tǒng)采用AT89S52作為主控芯片,實現(xiàn)對整個系統(tǒng)的控制。74LS245是我們常用的芯片,用來驅(qū)動led或者其他的設備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。當19腳E為H時,A、B為高阻。E為L時,DIR為L時,數(shù)據(jù)由B傳腳和13腳,分別對應左邊和右邊顯示的數(shù)字。如圖所示,采用內(nèi)部或陶瓷振蕩器,與內(nèi)部反相器構成穩(wěn)定的自擊震蕩。其發(fā)出的時鐘脈沖直接送入片內(nèi)定時控制部件。如上圖所示,交通燈狀態(tài)顯示電路由東西南北四個方向各三個LED燈組成,通過軟件編程,可使路口交通變化情況為:南北方向和東西方向兩條交叉道路上的車輛交替運行,主干道每次通行時間都設為30秒。在綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮5秒鐘,才能變換運行車道;黃燈亮時每秒閃亮一次。關的功能如上圖所示,基本滿足了交通燈的需要。1113332168121111這次交通燈的制作是我學會了不少的東西,首先是proteus和keil的使用。道了它的組成、工作原理等等。件這一塊花了很大的一部分時間。幾次調(diào)試后總算出現(xiàn)“0warning”和“0error字樣。且讓板子看起來更加整潔、美觀。說明了焊接能力還有待提升。單片機的制作讓我收獲不小。#defineucharunsigned#defineuintunsignuchardatabuf[4];uchardatasec_dx=20;//東西數(shù)默認uchardatasec_nb=30;//南北默認值uchardataset_timedx=2uchardataset_timenb=3uchardatab;//定時器中斷次數(shù)sbitYellow_nb=P2^5sbitYellow_dx=P2^2bitBuzzer_Indicate;bittime=0;//燈狀態(tài)循環(huán)標志bitset=1;//調(diào)時方向切換鍵標志ucharcodetable[11]={//共陰voiddelay(intms);/延/時子程序voidkey_to1();//鍵處理voiddisplay();//顯示{P2=0Xc3;//開始默認狀態(tài),東西綠燈{}{{{{}}{{{}}{sec_nb=set_timenb;//從中}{{{{}}voiddisplay()//顯示{P1=0xfe;//片選LCD1P1=0xfd;P1=0Xfb;//片選P0=table[buf[0]];}{b++;if(b==19)//定時器中斷次數(shù)if(sec_nb<=5&&time==0)if(sec_dx<=5&&time==1) {P2=0x99;time=!time;sec_{P2=0Xc3;time=!time;sec_}}voidkey_to1()//鍵盤處理子程序之+{set_timenb++;set_timedx++;}voidkey_to2()//鍵盤處理子程序之-{TR0=0;}voidkey_to3()//鍵盤處理之緊急{}{}{}{}{}voiddelay(intms)/延/時子程序{uintj,k;}<F6>:將光標在編輯窗口和、信息窗口之間切換<Ctrl>+<Break>:終),),<Ctrl>QY:刪除從光標位置到行‘XXX’declarebutneverused變量XXX已定義但從未用過?!甔XX’isassignedavaluewhichisneverused變量XXX已賦值但從未用過。Codehasnoeffect程序中含有沒有實際作用的代碼。Non-portablepointerconversion不適當?shù)闹羔樲D(zhuǎn)換,可能是在應該使用指針的地方用了一個非0的數(shù)值。Possibleuseof‘XXX’beforedefinition表達式中使用了Redeclarationof‘main’一個程序文件中主函數(shù)main不止一個。Suspiciouspointerconversion可疑的配的指針。Unreachablecode程序含有不能執(zhí)行到的代碼。Compoundstatementmissing}infunctionmaiCaseoutsideofswitchcase括號不配對所致。Casestatementmissing‘:’switch結構中的某個case之后缺少冒號。Constantexpressionrequired定義數(shù)組時指定的數(shù)組長度不是常量表達式。Declarationsyntaxerror結構體或聯(lián)合類型的定義后缺少分號。Declarationwasexpected缺少說明,通常是因為缺少分界符如逗號、分號、右圓括號等所引起的。DefaultoutsideswitchDefault部分放到了sw號不匹配而引起的。dostatementmusthavewhiledo語句中缺少相應的while部分。Expressionsyntax表達式語法錯。如表達式中含有兩個Extraparameterincall‘fun’調(diào)用函數(shù)fun時給出了多余的實參。Functionshouldreturnavalue函數(shù)應該返回一個值,否則與定義型不匹配。Illegaluseofpointer指針被非法引用,一般是使用了非法的指針運算。Invalidpointeraddition指針相加非法。一個指針(地址)加,但兩個指針不能相加。Lvaluerequired賦值運算的左邊是不能尋址的表達式。Misplacedelse程Nomatching表達式中的括號不配對。Pointerrequiredonleftsideof_>在“_>”運算的左邊只能允許聯(lián)合類型的變量。Statementmissing;程序遇到了后面沒有分號的語句。Toofewparametersincall調(diào)用某個函數(shù)時實參數(shù)目不夠。UnabletoopeninclUndefinedsymbol‘X’infunctionfu常是函數(shù)名書寫錯誤。Abnormalprogramtermination程序異常終止。通常是由于內(nèi)存使所致。Nullpointerassignment對未初始化的指針賦值,程序有嚴重錯誤。Userbreak在運行程序時終止。(1)GOtoCursor(<F4>)——選擇該選項使程序),顯示在暫停處,此時可以查詢變量或表達式的值。(2)Traceinto(<F7>)——執(zhí)行一可跟蹤到被調(diào)函數(shù)的內(nèi)部。(3)Stepover(<F8>)——執(zhí)行一將自定義函數(shù)當作一個語句執(zhí)行,不跟蹤到函程序的內(nèi)部。程序處于跟蹤狀態(tài)時,可使用該菜單的選項。值。個選項區(qū)域:Evaluate域可以輸入一個含有目前代碼中(程序的作用域)正在使用的變量名、或含變量的表達式、或常量表達式。按回車鍵后,在Result域中顯示變量或表value域進行調(diào)試。正確,并能估計出該變量或表達式的值,則可以將該值輸入到Newvalue域,繼續(xù)執(zhí)行程序,其目的是肯定錯誤發(fā)生處是否在明在目前暫停處之前已經(jīng)發(fā)生錯誤而之后無錯誤。(5)Break/Watch——用于設置斷點和監(jiān)視表達式。Watch框中輸入變量名或表達式,按回車鍵后,系統(tǒng)在屏一個窗口并顯示該變量或表達式的值。【常見錯誤信息語句索引】Ambiguousoperatorsneedparentheses:不明確的運算需要用括Argumentlistsyntaxerror:參數(shù)表語Arrayboundsmissing]infBadfilenameformatinincluBadifdefdirectivesynatax:編譯預處理ifdef有語法錯Badundefdirectivesyntax:編譯預處理undef有語法錯Callofnon-function:Constantoutofrangeincomparison:在比ConversionmayloseConversionofnearpointernotallowed:不Defaultoutsideofswitch:DeDefinedirectiveneedsaFuctiondefinitionoutofplace:函數(shù)定義位置錯誤IllegaluseoffloatingIllegaluseofpointer:指針使用ImproperuseofatypedefsymbolIncorrectuseofdefaultInvalidindirectionInvalidpointeradditionIrreducibleexpressiontree無法執(zhí)Macroargumentsyntaxerror宏Macroexpansiontoolong宏的擴Mismatchednumberofparametersindefinition定義中參數(shù)個數(shù)不匹配Misplacedbreak此處不應Misplacedcontinue此Misplaceddecimalpoint此處不Misplacedelifdirective不應編譯預處理elifMisplacedelsedirectiveMisplacedendifdirective此處不應出現(xiàn)編譯預處理endifMustbeaddressable必須是Musttakeaddressofmemorylocation必須存儲定位的地址Nodeclarationforfunction'xxx'沒有函數(shù)xNostack缺少堆棧Notypeinformation沒有類型信息Non-portablepointerassignment不可移動的指針(地址常數(shù))賦值Non-portablepointercomparison不可移動的指針(地址常數(shù))比較Non-portablepointerconversion不可移動的指針(地址常數(shù))轉(zhuǎn)換Notavalidexpressionformattype不合法的表達式格式Notanallowedtype不允許使用的類型Numericconstanttoolarge數(shù)值常太大Outofmemory內(nèi)存不夠用Parameter'xxx'isneveruPointerrequiredonleftsideof->符號->的左邊必須是指針Possibleuseof'xxx'beforedefinition在定義之前就使用了xxx(警告)Possiblyincorrectassignment賦值Redeclarationof'xxx'重復定義了xxxRedefinitionof'xxx'isnotidenticalxx的兩次定義不一致Registerallocationfailure寄存器Repeatcountneedsanlvalue重復計數(shù)Sizeofstructureorarraynotknown結構體或數(shù)給大StructureorunionsyntaxeSuperfluous&withfunctionorarrSuspiciouspointercoToofewparametersincall函數(shù)調(diào)用時的實ToomanydefaultcasesDefault太多(switToomanyerrororwarningmessagesToomanytypeindeclarationToomuchautomemoryinfunction函數(shù)ToomuchglobaldatadefinediTwoconsecutivedotsTypemismatchinparametTypemismatchinredeclarationof'xxx'xx重定義的類型不匹配Un

溫馨提示

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

評論

0/150

提交評論