版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于51單片機(jī)的交通信號燈控制系統(tǒng)設(shè)計第交通信號燈采用發(fā)光二極管共陰極接法,當(dāng)輸入高電平時二極被點(diǎn)亮。圖為對應(yīng)的交通信號燈的電路圖為圖:圖5-3交通信號燈的紅綠燈電路圖其中D1,D4,D6為東西方向紅綠燈,D2,D3,D5也為東西方向紅綠燈,D8,D10,D12為南北方向紅綠燈,D7,D9,D11為南北方向紅綠燈。5.4交通信號控制碼交通燈控制電路的核心元件采用單片機(jī)AT89C51,其內(nèi)部帶有4KB的ROM,無須擴(kuò)展存儲器。信號燈的控制由單片機(jī)的p1.0~p1.5控制,6個信號燈以共陰極方式連接,當(dāng)P1口輸出為高電平時信號燈點(diǎn)亮,為實(shí)現(xiàn)上述控制要求,P1口共輸出四種控制碼如表5-1所示:表5-1P1口輸出控制碼列表B道綠燈B道黃燈B道紅燈A道綠燈A道黃燈A道紅燈控制碼狀態(tài)說明P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0000011000CHA道放行B道禁止000010100AHA道警告B道禁止0010000121HA道禁止B道放行0001000111HA道禁止B道警告5.5倒計時顯示設(shè)計要實(shí)現(xiàn)計時功能則需要使用定時器來計時,通過設(shè)置定時器的初始值來控制溢出中斷時間的時間間隔,再利用一個變量記錄定時器的溢出的次數(shù),達(dá)到定時1秒的功能。當(dāng)即使每到1秒后,東西、南北信號燈個狀態(tài)的暫存剩余時間的變量減1。但暫存變量的時間減到0時,切換至下一個狀態(tài),如此循環(huán)重復(fù)執(zhí)行。本設(shè)計采用動態(tài)掃描,用4個數(shù)碼管分別顯示東西、南北的倒計時,將暫存各狀態(tài)剩余時間的數(shù)字從變量中提取出“個位”和“十位”,用動態(tài)掃描的方式在數(shù)碼管中顯示。整個程序依據(jù)定時器的溢出數(shù)來計時,每計時1秒則相應(yīng)狀態(tài)的時間減1,一直減到0時觸發(fā)下一個狀態(tài)的開始。其具體顯示狀態(tài)如圖5-4所示:圖5-4動態(tài)掃描LED顯示5.6復(fù)位電路設(shè)計單片機(jī)復(fù)位是使CPU初始化操作,主要是使CPU與其他功能部件都處在一個確定初始狀態(tài),并從這個狀態(tài)開始工作。復(fù)位后PC=0000H,是單片機(jī)從第一個單元取指令。無論是在單片機(jī)剛接上電源時還是斷電后或者發(fā)生故障后都要復(fù)位。單片機(jī)復(fù)位期間不產(chǎn)生ALE和PSEN信號,即ALE=0和PSEN=1,復(fù)位期間不會有任何取指令操作。在RST引腳持續(xù)加上兩個機(jī)器周期(24個振蕩周期)的高電平,單片機(jī)即發(fā)生復(fù)位。例如,若時鐘頻率為12MHz,每個機(jī)器周期為1us,則只需2us以上時間的高電平即可實(shí)現(xiàn)復(fù)位。復(fù)位電路圖如圖5-5所示:圖5-5復(fù)位電路該電路除具備上電復(fù)位功能外,若要復(fù)位,則只需按圖中的RESET鍵,此時,電源Vcc經(jīng)電阻R1、R2分壓,在RST端產(chǎn)生一個復(fù)位高電平。復(fù)位后內(nèi)部各專用寄存器狀態(tài)如表5-2所示,其中“@”表示無效位。表5-2專用寄存器狀態(tài)顯示表寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIP@@000000BSBUF不定IE0@@00000BPCON0@@@0000B5.7時鐘電路設(shè)計時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,唯一的時鐘信號控制下的時序可以保證單片機(jī)各部件的同步工作。根據(jù)產(chǎn)生的方式不同分為內(nèi)部和外部兩種時鐘電路,本設(shè)計使用內(nèi)部時鐘,電路圖如5-6所示:圖5-6內(nèi)部時鐘電路圖89c51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為芯片引腳XTAL2。而在芯片外部,XTAL1和XTAL2之間由用戶自行跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。ALE引腳上出現(xiàn)的信號時周期性的,在每個機(jī)器周期內(nèi)兩次出現(xiàn)高電平,ALE信號每出現(xiàn)一次CPU就進(jìn)行一次取址操作,但由于不同指令的字節(jié)數(shù)和機(jī)器周期數(shù)不同,因此取址指令操作也隨指令不同而有小的區(qū)別。5.8鍵盤設(shè)計由于鍵盤數(shù)量不多,選擇獨(dú)立式按鍵與P1口連接作為四個按鍵的輸入,每個按鍵單獨(dú)占用一根I/O口線,每個按鍵的工作不會影響其他I/O口線的工作狀態(tài)。當(dāng)逐位查詢每根口線的輸入狀態(tài)時,如某一根口線輸入低電平,則可確認(rèn)該口線所對應(yīng)的鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。用四個鍵S1、S2、S3、S4以及兩個用來提示鍵盤狀態(tài)的LED電路圖如圖5-7所示:圖5-7按鍵電路圖四個按鍵的功能依次是:S1(設(shè)定鍵):在倒計時模式時,按下此鍵后倒計時停止倒計時,進(jìn)入設(shè)置狀態(tài);如果已經(jīng)處于設(shè)置狀態(tài)則此鍵無效。S2(減一鍵):在設(shè)置狀態(tài)時,每按一次遞減鍵,初始值的數(shù)字減1。S3(增一鍵):在設(shè)置狀態(tài)時,每按一次遞增鍵,初始值的數(shù)字增1。S4(確認(rèn)鍵):在設(shè)置狀態(tài)時,按下此鍵后,單片機(jī)按照新的初始值進(jìn)行倒計時及顯示倒計時的數(shù)字。如果已經(jīng)處于計時狀態(tài)則此鍵無效。在實(shí)現(xiàn)鍵盤的掃描和運(yùn)行模式的切換時,主程序在初始化一些變量和寄存器之后,需要不斷循環(huán)地讀取鍵盤的狀態(tài)和動態(tài)掃描數(shù)碼管顯示相應(yīng)的數(shù)字,根據(jù)鍵盤的鍵值實(shí)現(xiàn)設(shè)置狀態(tài)、計時的切換。第六章交通信號燈軟件設(shè)計軟件設(shè)計應(yīng)用匯編語言,以其較好的可讀性和可移植性很好的完成了本次設(shè)計任務(wù)。程序設(shè)計上使用定時器0中斷開控制交通燈的正常工作。定時器1中斷控制特殊車輛的通行時間;外部中斷INT1用于緊急情況、流量控制和恢復(fù)等,外部中斷INT0用于特種車輛通行處理。系統(tǒng)采用兩個狀態(tài)標(biāo)志位來記錄交通燈的循環(huán)狀態(tài)。程序流程圖如下:A道禁止B道警告延時顯示置顯示初始值延時顯示A道警告B道禁止延時5sA道禁止B道警告延時顯示置顯示初始值延時顯示A道警告B道禁止延時5sA道禁止B道放行A到放行B道禁止延時時顯示開始初始化顯示初始值設(shè)置中斷響應(yīng)保護(hù)現(xiàn)場A道放行B道禁行延時10s恢復(fù)現(xiàn)場返回延時1ms返回顯示個位數(shù)延時1ms顯示次數(shù)=0?R2十位數(shù)設(shè)置顯示次數(shù)秒個位數(shù)轉(zhuǎn)字形碼R1個位數(shù)秒十位數(shù)轉(zhuǎn)字形碼拆分秒數(shù)開始顯示秒數(shù)減1秒數(shù)轉(zhuǎn)十進(jìn)制Y返回顯示個位數(shù)延時1ms顯示次數(shù)=0?R2十位數(shù)設(shè)置顯示次數(shù)秒個位數(shù)轉(zhuǎn)字形碼R1個位數(shù)秒十位數(shù)轉(zhuǎn)字形碼拆分秒數(shù)開始顯示秒數(shù)減1秒數(shù)轉(zhuǎn)十進(jìn)制Y延時1ms返回顯示個位數(shù)延時1ms顯示次數(shù)=0?R2十位數(shù)設(shè)置顯示次數(shù)秒個位數(shù)轉(zhuǎn)字形碼R1個位數(shù)秒十位數(shù)轉(zhuǎn)字形碼拆分秒數(shù)開始顯示秒數(shù)減1秒數(shù)轉(zhuǎn)十進(jìn)制YN延時1ms顯示十位數(shù)圖6-1程序流程圖紅綠燈的8位LED動態(tài)顯示子程序如下:顯示子程序入口顯示子程序入口延時1ms取代顯示數(shù)據(jù)查表換成相應(yīng)端選碼→P0口右移一位,顯示下一位動態(tài)顯示初始化顯緩指針加189C51初始化程序設(shè)計P2口位選碼8位顯示完嗎?返回圖6-2程序流程圖總結(jié)經(jīng)過這一個多的查資料、設(shè)計與思考,畢業(yè)論文已基本完成。剛開始時頭腦一片空白,沒有一點(diǎn)思路,不知道從何插手,由于以前都是學(xué)一些書本上的死的知識,根本不會靈活應(yīng)用,而且也沒做過什么太接近現(xiàn)實(shí)的設(shè)計,所以那時一直很茫然,在網(wǎng)上查資料也不知道從何查起,原來學(xué)的東西跟實(shí)際操作有很大的脫節(jié),開始時有過放棄的念頭,后來輔導(dǎo)老師告訴我們怎么查資料,針對課題向哪個方向考慮,我們頭腦中才有了個清晰的思路。后來開始做了,也往圖書館跑了好多次,但書面上的資料很少,很多都是從網(wǎng)上查的。開始那時查到的資料都是一些簡單的材料堆砌,沒有一個核心,后來經(jīng)過我們小組的商量,我們大浪淘沙從其中挑選了一些很有價值的材料,再加上我們自己的一些思路,論文很快有了輪廓。然后就是根據(jù)各個環(huán)節(jié)再針對性的找資料,而且把一些學(xué)過的一些知識也很好的糅合在論文中。整個過程中也遇到很多困難,不是芯片不合適就是接口不知怎么接,但在班集體這個知識的討論的小集體里困難一個個都迎刃而解。整個過程讓我明白了一句話“辦法總比困難多”。通過畢業(yè)論文我對原來學(xué)過的知識有了更深的理解,原來想著在大學(xué)里學(xué)不到很多東西,直到做完畢業(yè),才知道是自己不會聯(lián)系實(shí)際應(yīng)用!當(dāng)設(shè)計接近尾聲的時候回顧設(shè)計的整個流程,才發(fā)現(xiàn)有好多東西都需要更深一步的學(xué)習(xí)。原來聽說自己的專業(yè)是個熱門專業(yè),同時也是當(dāng)下市場分析中最受歡迎的一個,而且他的就業(yè)面相當(dāng)寬,但自己對它了解的不是很多,做畢業(yè)設(shè)計的時候才知道自己掌握的東西有多么少?,F(xiàn)在已面臨畢業(yè),這次設(shè)計對以后我的學(xué)習(xí)態(tài)度,以及面以后走上工作崗位后的生活也有很大的影響。致謝本設(shè)計歷時一個月左右,經(jīng)過資料的搜集、整理加工,最終基本完成。并對課題有了較深的理解。在這里首先感謝輔導(dǎo)老師郭老師對我的精心輔導(dǎo)在本畢業(yè)設(shè)計期間,得到了郭英軍老師耐心指導(dǎo),學(xué)到了一定的設(shè)計方法,從而使我能夠比較順利地完成設(shè)計。我想以后的生活中我會充分應(yīng)用老師所提供給我的經(jīng)驗(yàn)和知識,達(dá)到學(xué)以致用的目的。經(jīng)過多天的不懈努力終于完成了。直到最后設(shè)計完成的時候才知道老師的良苦用心。參考文獻(xiàn)[1]高澤溪,高成.直接數(shù)字頻率合成器(DDS)及其性能分析.北京:北京航空航天大學(xué)出版社,2002,187~191[2]白居憲.低噪聲頻率合成.西安:西安交通大學(xué)出版社,1995,224~230[3]褚振勇,翁木云.FPGA設(shè)計及應(yīng)用.西安:西安電子科技大學(xué)出版社,2003,219~263[4]房小翠,王金鳳.單片微型計算機(jī)與機(jī)電接口技術(shù).北京:國防工業(yè)出版社,2002,79~86[5]皮紅梅,李英順.單片機(jī)開發(fā)中的定時方法.沈陽:石油化工高等??茖W(xué)校學(xué)報,2002,171~192[6]何利民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社,1991,21~33[7]李珍.單片機(jī)原理與控制技術(shù).北京:清華大學(xué)出版社,2002,149~158[8]范立南.單片微機(jī)接口與控制技術(shù).沈陽:遼寧大學(xué)出版社,1996,69~77[9]張友德.單片微型機(jī)原理、應(yīng)用與實(shí)踐.上海:復(fù)旦大學(xué)出版社,1992,73~81[10]李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù).北京:北京航空航天大學(xué)出版社,1993,23~31[11]何希慶,高偉.MCS-51單片機(jī)原理、實(shí)驗(yàn)、實(shí)例.山東:山東大學(xué)出版社,1989,124~136[12]張毅剛,彭喜元,姜守達(dá).新編MCS-51單片機(jī)應(yīng)用設(shè)計.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2003,153~168[13]胡漢才.單片機(jī)原理及接口技術(shù).北京:清華大學(xué)出版社,1996,66~78[14]廖煥霖.Protel99電路板設(shè)計者必讀.北京:冶金工業(yè)出版,2000,108~128[15]張義和.ProtelPCB99設(shè)計與應(yīng)用技巧.北京:科學(xué)出版社,2000,[16]李云,楊玉峰,梅順良.ITS系統(tǒng)中GPRS智能移動終端的設(shè)計.電訊技術(shù),2006.044(004):96[17]余發(fā)山.單片機(jī)原理及應(yīng)用技術(shù).中國礦業(yè)大學(xué)出版社.2003[18]楊凌霄.微型計算機(jī)原理及應(yīng)用.中國礦業(yè)大學(xué)出版社.2004[19]張凱,馬忠梅編著.MCS-51單片機(jī)綜合系統(tǒng)及設(shè)計開發(fā).北京:科學(xué)出版社,1996[20]何立民編著.單片機(jī)高級教程.北京:北京航空航天大學(xué)出版社,2000附錄A:軟件程序編程主程序:ORG2000HMOVDPTR,#7F00H;MOVA,#0BH;PA、PC口均為輸出MOVX@DPTR,A;MAIN:SETBEA;開中斷SETBEX0;MOV50H,#1FH;設(shè)置時間顯示初值;MOVP1,@0CH;A道放行B道禁止MOVR7,#19H;延時秒數(shù)MAIN1:LCALLDISP;調(diào)1秒延時、及顯示子程序DJNZR7,MAIN1;MOVP1,#0AH;A道警告B道禁行MOVR7,05H;延時秒數(shù)MAIN2:LCALLDISP;DJNZR7,MAIN2;MOV50H,#1FH;設(shè)時間顯示初值MOVP1,#21H;A道禁行B道放行MOVR7,#19H;延時秒數(shù)MAIN3:LCALLDISP;DINZR7,MAIN3;MOVP1,#11H;A道禁行B道警告MOVR7,#05H;延時秒數(shù)MAIN4:LCALLDISP;DJNZR7,MAIN4;AJMPMAIN;循環(huán)=================計數(shù)器軟件延時========================延時顯示子程序:ORG2000H;DISP:MOVR6,#01H;設(shè)置顯示位寄存器初值(右邊一位)MOVTMOD,#01H;定時計數(shù)器T0設(shè)置為定時方式的模式1MOVR5,#0AH;定時其操作循環(huán)10次DEL1:MOVTH0,#3CH;定時器100ms計數(shù)器的初值MOVTL0,#B0H;SETBTR0;啟動定時器DEL2:DEC50H;顯示秒數(shù)減1MOVB,#0AH;DIVB;拆分秒數(shù)ADDA,#2BH;MOVCA,@A+PC;查表個位數(shù)的字型碼MOVR1,A;個位數(shù)字型碼送R1MOVA,B;ADDA,#25H;MOVCA,@A+PC;查表十位數(shù)的字型碼MOVR2,A;十位數(shù)字型碼送R2MOVA,R6;位控碼MOVDPTR,#7F03H;MOVX@DPTR,A;MOVA,R1;送個位數(shù)顯示MOVDPTR,#7F01H;MOVX@DPTR,A;LCALLDELAY;延時1msMOVA,R6;RLA;位控左移MOVR6,A;MOVDPTR,#7F03H;MOVX@DPTR,A;MOVA,R2;送十位數(shù)顯示MOVDPTR,#7F01H;MOVX@DPTR,A;LCALLDELAY;延時1msJNBTF0,$;檢測100ms循環(huán)控制CLRTF0;DJNZR5,DEL1;100ms循環(huán)控制RET;返回TABLE:DBCOH,F9H,A4H,B0H,99H;DB92H,82H,F8H,80H,90H;DELAY:MOVR7,#02H;延時1ms子程序DEL3:MOVR6,#0F9H;DEL4::DJNZR6,DEL2;DJNZR7,DEL1;RETEND=======================中斷服務(wù)程序==========================ORG0003H;外中斷0入口地址LJMPINTER0;ORG2100H;INTER0:PUSH50H;保護(hù)現(xiàn)場PUSHP1;MOVP1,#00H;兩車道禁止MOVR7,#0AH;延時10秒INT0:LCALLDISP;調(diào)顯示DJNZR7,INTO;POPP1;恢復(fù)現(xiàn)場POP50H;RET1;中斷返回0.5秒延時子程序:DELAY:MOVR3,#0AH;MOVTH1,#3CH;MOVTL1,#0B0H;SETBTR1;LP1:JBCTF1,LP2;SJMPLP1;LP2:MOVTH1,#0B0H;DJNZR3,LP1;RETEND====================獨(dú)立式按鍵編程============================KEY:ORLP1,#0F0H;置P1.4~P1.7為輸入狀態(tài)MOVA,P1;讀鍵值,鍵閉合相應(yīng)位為0CPLA;取反,鍵閉合相應(yīng)位為1ANLA,#11110000B;屏蔽低四位保留有鍵值的高四位JZGRET;全0,無鍵閉合,返回LCALLDLY10ms;非全0,有鍵閉合,調(diào)10ms延時子程序MOVA,P1;重讀鍵值,鍵閉合為0CPLA;取反,鍵閉合相應(yīng)位為1ANLA,#11110000B;屏蔽低四位保留有鍵值的高四位JZGEET
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路運(yùn)輸安全生產(chǎn)分級管控制度
- 游樂場衛(wèi)生制度
- 砧板衛(wèi)生制度
- 衛(wèi)生院變更制度
- 書畫班衛(wèi)生制度
- 社區(qū)衛(wèi)生動態(tài)評價制度
- 環(huán)境衛(wèi)生消毒責(zé)任制度
- 公共衛(wèi)生監(jiān)督制度
- 新衛(wèi)生健康制度
- 鄉(xiāng)鎮(zhèn)集鎮(zhèn)衛(wèi)生管理制度
- 研究受試者知情同意書
- 常州工業(yè)職業(yè)技術(shù)學(xué)院輔導(dǎo)員招聘筆試真題2025年附答案
- 杜瓦罐供貨合同范本
- 2026年云南高考語文總復(fù)習(xí):專題02:非連續(xù)性文本閱讀主觀題(知識梳理+考點(diǎn))(解析版)
- 2025年水利工程質(zhì)量檢測員考試(混凝土工程)全真模擬試題及答案及答案(云南省)
- 戰(zhàn)場適應(yīng)性訓(xùn)練
- 《招標(biāo)投標(biāo)法及實(shí)施條例》考試題庫大全(含答案)
- 荒山綠化施工協(xié)議書范本
- 鄭州鄭東新區(qū)高鐵站前商務(wù)區(qū)市場定位報告
- 貴州省倉儲物流管理辦法
- 中醫(yī)護(hù)理不良事件分析與改進(jìn)
評論
0/150
提交評論