版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計沈陽大學(xué)畢業(yè)設(shè)計題目模擬交通燈系別機電系專業(yè)電氣自動化技術(shù)班級電氣姓名×××學(xué)號××××××指導(dǎo)教師×××日期設(shè)計任務(wù)書設(shè)計題目:模擬交通燈設(shè)計要求:1.在十字路口的兩個方向上各設(shè)一組紅綠黃燈,顯示順序為:其中一個方向是綠燈、黃燈、紅燈,另一個方向是紅燈、綠燈、黃燈。2.設(shè)置一組數(shù)碼管,以倒計時的方式顯示允許通過或禁止通行的時間,其中左轉(zhuǎn)燈、綠燈、黃燈、紅燈的持續(xù)時間分別是15S、30S、3S、48S。3.當(dāng)各條路上任意一條出現(xiàn)特殊情況,例如消防車、救護車或其他需要優(yōu)先放行的車輛時,各方向上均是紅燈亮,倒計時停止,且顯示數(shù)字在閃爍,當(dāng)特殊運行狀態(tài)結(jié)束后,控制器恢復(fù)原來狀態(tài),繼續(xù)正常運行。設(shè)計進度要求:第一周第二周指導(dǎo)教師(簽名):摘要設(shè)計以單片機為核心部件的模擬交通燈,利用74LS244作為斷碼驅(qū)動器,74LS07作為位碼驅(qū)動,LED七斷數(shù)碼管作為計時顯示用,用發(fā)光二極管指示交通的通行,用按鍵進行緊急事件的發(fā)生,使兩個方向都亮紅燈,綠燈亮通行,紅燈亮停止通行。本設(shè)計利用定時器進行定時,使定時器工作于方式一定時50ms,配合軟件計數(shù)器,調(diào)用中斷程序使定時器定時20此,達到定時1S的目的,同時調(diào)用顯示程序,顯示到計時的時間,用單片機Intel89S51作為核心部件,8路74ls244總線驅(qū)動器作為字形驅(qū)動芯片和6路驅(qū)動74ls07位選碼作為中心器件來設(shè)計交通燈控制器,實現(xiàn)了交通燈的控制,顯示時間直接通過89S51的P0、P1口輸出;交通燈信號通過P3口輸出;按件通過p3口輸入,本交通燈系統(tǒng)簡單,實用性強,成本低,使用維護方便,軟件功能強,運行穩(wěn)定可靠等優(yōu)點。關(guān)鍵詞:單片機,交通燈,位碼,段碼,顯示PAGE34目錄TOC\o"1-2"\h\z\u摘要 II1單片機的發(fā)展及應(yīng)用 11.1單片機的發(fā)展 11.2單片機的應(yīng)用 12總體方案設(shè)計 32.1系統(tǒng)框圖 32.2計時控制方案 32.3顯示控制方案 32.4鍵盤控制方案 43硬件設(shè)計 53.189S51單片機的簡介 53.289S51單片機的引腳 63.389S51單片機復(fù)位方式 73.474LS244的功能 73.574LS07的功能 83.6鍵盤接口工作原理 93.7七段LED顯示工作原理 103.8電路原理 114軟件設(shè)計 134.1定時1秒的方法 134.2定時器初值計算 134.3主程序模塊 134.4中斷服務(wù)程序模塊 154.5顯示程序模塊 165系統(tǒng)調(diào)試 186結(jié)論 20致謝 21參考文獻 22附錄A 231單片機的發(fā)展及應(yīng)用1.1單片機的發(fā)展單片微型計算機是微型計算機的一個重要分支,也是一種非?;钴S和頗具有生命力的機種。單片微型計算機簡稱單片機,特別適用于工業(yè)控制領(lǐng)域,因此又稱為微控器。1971年微處理器研制成功不久,就出現(xiàn)了單片微型計算機即單片機,但最早的單片機是1位的,處理能力有限。單片機的發(fā)展分為4個階段:第一階段(1974—76年):單片機初級階段。因為受工藝限制,單片機采用單片的形式而且功能比較簡單。例如美國仙童公司生產(chǎn)的F8單片機,實際上只包括了8位CPU,64個字節(jié)的RAM和2個并行接口第二階段(1976—78年):低性能單片機階段。以Intel公司生產(chǎn)的MCS——48系列單片機為代表,該系列單片機片內(nèi)集成有8位CPU,8位定時器/計數(shù)器,并行I/O接口,RAM和ROM等,但是最大的缺點就是無串行接口,中斷處理比較簡單而且片內(nèi)RAM和ROM容量較小,且尋址范圍不大與4KB。第三階段(1978—83)高性能單片階段這個階段推出的單片機普遍帶有串行接口。多級中斷系統(tǒng),16位定時器/計數(shù)器,片內(nèi)ROM,RAM容量加大,且尋址范圍可達64KB,有的片內(nèi)還帶有A/D轉(zhuǎn)換器。第四階段(1983年至今)8位單片機鞏固發(fā)展以及16位單片機,32位單片機推出階段。此階段的主要特征是:一方面發(fā)展16位單片機,32位單片機及專用型單片機;另一方面不斷完善高檔8位單片機,改善其結(jié)構(gòu),增加片內(nèi)器件,以滿足不同的客戶要求。1.2單片機的應(yīng)用單片機的應(yīng)用很廣,分別在以下領(lǐng)域中得到了廣泛的應(yīng)用。工業(yè)自動化:在自動化技術(shù)中,無論是過程控制技術(shù)、數(shù)據(jù)采集技術(shù)還是測控技術(shù),都離不開單片機。在工業(yè)自動化的領(lǐng)域中,機電一體化技術(shù)將發(fā)揮愈來愈重要的作用,在這種機械、微電子和計算機技術(shù)為一體的綜合技術(shù)(例如機器人技術(shù)、數(shù)控技術(shù))中,單片機將發(fā)揮非常重要的作用特別是近些年來,隨著計算機技術(shù)的發(fā)展,工業(yè)自動化也發(fā)展到了一個新的高度,出現(xiàn)了無人工廠、機器人作業(yè)、網(wǎng)絡(luò)化工廠等,不僅將人從繁重、重復(fù)和危險的工業(yè)現(xiàn)場解放出來,還大大提高了生產(chǎn)效率,降低了生產(chǎn)成本。儀器儀表:目前對儀器儀表的自動化和智能化要求越來越高。在自動化測量儀器中,單片機應(yīng)用十分普及。單片機的使用有助于提高儀器儀表的精度和準(zhǔn)確度,簡化結(jié)構(gòu),減小體積,易于攜帶和使用,加速儀器儀表向數(shù)字化、智能化和多功能化方向發(fā)展。消費類電子產(chǎn)品:該應(yīng)用主要反映在家電領(lǐng)域。目前家電產(chǎn)品的一個重要發(fā)展趨勢是不斷提高其智能化程度。例如,電子游戲、照相機、洗衣機、電冰箱、空調(diào)、電視機、微波爐、手機、IC卡、汽車電子設(shè)備等。在這些設(shè)備中使用了單片機后,其功能和性能大大提高,并實現(xiàn)了智能化、最優(yōu)化控制信方面:較高檔的單片機都具有通信接口,因而為單片機在通信設(shè)備中的應(yīng)用創(chuàng)造了很好的條件。例如,在微波通信、短波通信、載波通信、光纖通信、程控交換等通信設(shè)備和儀器中都能找到單片機的應(yīng)用。武器裝備:在現(xiàn)代化的武器裝備中,如飛機、軍艦、坦克、導(dǎo)單、魚雷制導(dǎo)、智能武器設(shè)備、航天飛機導(dǎo)航系統(tǒng),都有單片機在其中發(fā)揮重要作用。終端及外部設(shè)備控制:計算機網(wǎng)絡(luò)終端設(shè)備,如銀行終端,以及計算機外部設(shè)備如打印機、硬盤驅(qū)動器、繪圖機、傳真機、復(fù)印機等,在這些設(shè)備中都使用了單片機。近年來隨著科技的飛速發(fā)展,同時帶動自動控制系統(tǒng)日新月異更新,單片機的應(yīng)用正在不斷地走向深入。
2總體方案設(shè)計2.1系統(tǒng)框圖交通燈控制的總體設(shè)計框圖如圖2.1所示。圖2.1系統(tǒng)框圖2.2計時控制方案利用MCS-51內(nèi)部的定時器/計數(shù)器進行定時,配合軟件延時實現(xiàn)到計時。該方案節(jié)省硬件成本,切能夠使讀者在定時器/計數(shù)器的使用、中斷及程序設(shè)計方面得到鍛煉與提高,2.3顯示控制方案顯示分為靜態(tài)示和動態(tài)顯示靜態(tài)顯示由于占用較多的接口,在單片機設(shè)計中常采用串行擴展來完成。該方案占用接口資源多,顯示亮度由保證,但硬件開銷大,電路復(fù)雜,信息刷新速度慢,實用于并行接口資源較少以及對顯示沒有要求的場合。LED動態(tài)顯示硬件連接簡單,但動態(tài)掃描的顯示方式需占用CPU較多的時間,在該系統(tǒng)中由于單片機除了掃描89S51芯片外沒有太多的實時測控任務(wù),故選用動態(tài)掃描方式。2.4鍵盤控制方案鍵盤分為獨立式鍵盤和行列式鍵盤,獨立式鍵盤接口電路配置靈活,硬件結(jié)構(gòu)簡單,工作可靠但每個按鍵必須占用一跟I/O接口線,I/O接口線浪費較大,在單片機應(yīng)用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息,可將按鍵直接在一根I/O接口線上,故只在按鍵數(shù)量不多時采用。而行列式鍵盤每條行線與列線在交叉處不直接相通,而是通過一個按鍵加以連接,當(dāng)按鍵較多時可采用行列式鍵盤以節(jié)省I/O接口。本設(shè)計采用兩個按鍵,所以這里選用獨立式鍵盤。
3硬件設(shè)計3.189S51單片機的簡介89S51是MCS-51系列單片機的典型產(chǎn)品,我們就這一代表性的機型進行系統(tǒng)的講解。89S51單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:圖3.1單片機內(nèi)部結(jié)構(gòu)示意圖1、中央處理器
中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。2、數(shù)據(jù)存儲器(RAM)
89S51內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。3、程序存儲器(ROM)89S51共有4KB掩膜ROM,最大可擴展64K字節(jié),用于存放用戶程序,原始數(shù)據(jù)或表格。4、定時/計數(shù)器:89S51有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。5、并行輸入輸出(I/O)口:89S51共有4組8位I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。6、中斷系統(tǒng)89S51具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。3.289S51單片機的引腳89S51單片機內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的.89S51有40條引腳,與其他51系列單片機引腳是兼容的.這40條引腳可分為I/O接口線、電源線、控制線、外接晶體線4部分.89S51單片機為雙列直插式封裝結(jié)構(gòu),如圖3.2所示.圖3.289S51引腳分配圖89S51單機的電源線有以下兩種:(1)VCC:+5V電源線。電源線(2)GND:接地線。89S51單片機的外接晶體引腳有以下兩種:(1)XTAL1:片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時鐘工作的輸入端。采用內(nèi)部振蕩器時,它接外部石英晶體和微調(diào)電容的一個引腳。(2)XTAL2:片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。采用外部振蕩器時,該引腳懸空。外接晶體引腳??刂凭€89S51單片機的控制線有以下幾種:(1)RST:復(fù)位輸入端,高電平有效。(2)ALE/PROG:地址鎖存允許/編程線。(3)PSEN:外部程序存儲器的讀選通線。(4)EA/Vpp:片外ROM允許訪問端/編程電源端。3.389S51單片機復(fù)位方式單片機在開機時或在工作中因干擾而使程序失控,或工作中程序處于某種死循環(huán)狀態(tài),在這種情況下都需要復(fù)位.復(fù)位的作用是使中央處理器CPU以及其他功能部件都恢復(fù)到一個確定的初始狀態(tài),并從這個狀態(tài)重新開始工作.89S51單片機的復(fù)位靠外部電路實現(xiàn),信號由RESET(RST)引腳輸入,高電平有效,在振蕩器工作時,只要保持RST引腳高電平兩個機器周期,單片機即復(fù)位.復(fù)位后,PC程序計數(shù)器的內(nèi)容為0000H,片內(nèi)RAM中內(nèi)容不變.復(fù)位電路一般有上電復(fù)位、手動開關(guān)復(fù)位和自動復(fù)位電路3種,如圖3.3所示.a.上電復(fù)位電路b.手動復(fù)位電路c.自動復(fù)位電路圖3.3單片機復(fù)位電路3.474LS244的功能74LS244是原碼三態(tài)輸出的8緩沖數(shù)碼驅(qū)動器,其管腳分布圖如圖3.4所示,G為控制端,又稱為使能端其工作原理如下:當(dāng)G=0時,A輸入為低電平時,Y輸出也為低電平。當(dāng)G=0時,A輸入為高電平時,Y輸出為高電平。當(dāng)G=1時,A不論輸入高電平還是低電平Y(jié)為高阻狀態(tài)功能表如表3.1所示:表3.174LS244的功能表圖3.474LS244管腳圖3.574LS07的功能74LS07是六緩沖的數(shù)碼驅(qū)動器,它是有6個集電極開路的非門所組成,管腳分布如圖3.5所示,其工作原理如下,當(dāng)使能端為低電平時,輸入為高電平時輸出也為高電平,當(dāng)輸入為低電平時輸出也為低電平,其邏輯表達式為:Y=A圖3.574LS07管腳圖3.6鍵盤接口工作原理在單片機應(yīng)用系統(tǒng)中,常用鍵盤作為輸入設(shè)備,通過它將數(shù)據(jù)、內(nèi)存地址、命令及指令等輸入到系統(tǒng)中,來實現(xiàn)簡單的人機通信。3.6.1按鍵開關(guān)的去除抖動功能目前, MCS—51單片機應(yīng)用系統(tǒng)上的按鍵常采用機械觸點式按鍵,它在斷開、閉合時輸入電壓波形如圖3.6所示.可以看出機械觸點在閉合及斷開瞬間均有抖動過程,時間長短與開關(guān)的機械特性有關(guān),一般為5~10ms。由于抖動,會造成被查詢的開關(guān)狀態(tài)無法準(zhǔn)確讀出。例如,一次按鍵產(chǎn)生的正確開關(guān)狀態(tài),由于鍵的抖動,CPU多次采集到底電平信號,會被誤認(rèn)為按鍵被多次按下,就會多次進行鍵輸入操作,這是不允許的。為了保證CPU對鍵的一次閉合僅在按鍵穩(wěn)定時作一次鍵輸入處理,必須消除產(chǎn)生的前沿(后沿)抖動影響。圖3.6按鍵過程3.6.2獨立式鍵盤的接口電路獨立式鍵盤的接口電路:在單片機應(yīng)用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息。這時,可將每個按鍵直接接在一根I/O接口線上,這種連接方式的鍵盤稱為獨立式鍵盤。如圖3.7所示,每個獨立按鍵單獨占有一根I/O接口線,每根I/O接口線的工作狀態(tài)不會影響到其他I/O接口線。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O線,I/O接口線浪費較大。故只在按鍵數(shù)量不多時采用這種按鍵電路。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時,I/O接口線有確定的高電平。當(dāng)I/O接口內(nèi)部有上拉電阻時,外電路可以不配置上拉電阻。圖3.7獨立式鍵盤電路3.7七段LED顯示工作原理LED顯示器是由發(fā)光二極管顯示字段的MCS-51單片機輸出設(shè)備。單片機應(yīng)用系統(tǒng)常采用七段LED數(shù)碼管作為顯示器,這重顯示器具有耗電低、配置靈活、線路簡單、安裝方便、耐轉(zhuǎn)動、價格低廉且壽命長等優(yōu)點。因此應(yīng)用比較廣泛。LED數(shù)碼管顯示器可以分為共陰極和共陽極兩種結(jié)構(gòu)。(1)共陰極結(jié)構(gòu):如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結(jié)構(gòu),則數(shù)碼顯示段輸入高電平有效,當(dāng)某段輸入高電平該段便發(fā)光,如圖3.8a所示。(2)共陽極結(jié)構(gòu):如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結(jié)構(gòu),則數(shù)碼顯示段輸入低平有效,當(dāng)某段輸入低電平該段便發(fā)光,如圖3.8b所示。a.共陰極b.共陽極圖3.8七段LED顯示器(3)LED動態(tài)顯示接口:LED動態(tài)顯示就是利用單片機依次輸出每一位數(shù)碼管的段選碼和對應(yīng)于該位數(shù)碼管的位選控制信號,一位一位輪流點亮各七段數(shù)碼管。對每位數(shù)碼管來說,每隔一段時間點亮一次,如此循環(huán)。利用人眼的“視覺暫留”效應(yīng),只要每位顯示間隔足夠短就可以給人以同時顯示的感覺。在動態(tài)顯示方式中,同一時刻,只有一位LED數(shù)碼管在顯示,其他各位是關(guān)閉的。在段選碼和位選碼每送出一次后,應(yīng)保持1ms左右,這個時間應(yīng)根據(jù)實際情況而定。不能太小,因而發(fā)光二極管從導(dǎo)通到發(fā)光有一定的延時,導(dǎo)通時間太小,發(fā)光太弱人眼無法看清。但也不能太大,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用CPU時間也越多。采用動態(tài)顯示方式比較節(jié)省I/O接口,硬件電路也較靜態(tài)顯示方式簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時,CPU要依次掃描,占用CPU較多的時間。用MCS-51單片機構(gòu)建七段數(shù)碼管動態(tài)顯示系統(tǒng)時,4位數(shù)碼管均采用共陰極LED,p0接口作為段選碼輸出口,8路驅(qū)動采用74LS244總線驅(qū)動器作為字形驅(qū)動芯片,經(jīng)過8路驅(qū)動電路后接至數(shù)碼管的各段,字形驅(qū)動輸出0時發(fā)光。P2接口作為位選碼輸出口,4路驅(qū)動采用74LS07(OC門驅(qū)動器),當(dāng)C接口線輸出1時,選通相應(yīng)位的數(shù)碼管工作。3.8電路原理電路的核心是89S51單片機,其內(nèi)部帶有4KB的FlashROM,無須擴展程序存儲器;電腦沒有大量的運算和暫存數(shù)據(jù),現(xiàn)有的128B片內(nèi)RAM已能滿足要求,也不必擴展片外RAM,系統(tǒng)配備4位LED顯示和2個單接口鍵盤,采用P0接口外接8路反相三態(tài)緩沖器74LS244作LED動態(tài)掃描的段碼控制驅(qū)動信號,用P1接口的P1.0-P1.3外接一片集電極開路反相門電路74LS07做為4位LED的位選信號驅(qū)動口,LED共陰極端與74LS07的輸出端相連;按鍵接口,由P2.0,P2.1來完成。P3口接交通指示燈,整個系統(tǒng)采用查表的方發(fā),將交通燈的顯示情況和數(shù)碼管的計時情況,分別以代碼的形式送到指示燈和LED數(shù)碼管,啟動定時器,同時調(diào)用顯示程序,和查詢按鍵。利用軟件計數(shù)器的方法計時一秒,利用中斷的方法使計時時間循環(huán),當(dāng)按下應(yīng)急按鍵時停止定時器,送一個代碼使兩個方向都亮紅燈,按下一個按鍵時啟動定時器,恢復(fù)循環(huán)。如圖3.9所示圖3.9電路原理圖
4軟件設(shè)計4.1定時1秒的方法定時方法我們采用軟硬件結(jié)合的方法,在主程序中設(shè)定一個初值為20的軟件計數(shù)器使定時器0工作于方式1定時50毫秒,這樣每當(dāng)T0到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器減1,然后判斷它是否為零。為零表示1秒已到。4.2定時器初值計算定時器工作時必須給計數(shù)器送初值,將這個值送到TH和TL中。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此工作于方式1,定時器為16位計數(shù)器其定時時間由下式計算:定時時間=(216-X)×振蕩周期×12(或)X=216-定時時間/振蕩周期×12式中x為T0的初始值,該值和計數(shù)器工作方式有關(guān)。如單片機的主脈沖頻率為12MHZ,經(jīng)過12分頻方式0定時時間=213×1微秒=8.192毫秒方式1定時時間=216×1微秒=65.536毫秒秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題,定時器需定時50毫秒,故T0工作于方式1,定時20次,就可定時一秒。4.3主程序模塊主程序初始化和按鍵控制,首先將時間、中斷、次數(shù)、和顯示分別進行初始化,然后啟動定時器對時間進行判斷,將時間送數(shù)據(jù)緩沖區(qū),調(diào)用顯示程序,同時掃描按鍵程序,用無條件跳轉(zhuǎn)指令返回,再調(diào)用顯示程序,如此周而復(fù)始的循環(huán),如圖4.1所示圖4.1主程序流程圖主程序:初值:X=216-定時時間/振蕩周期×12=216-50ms/1us=15536=3CB0H,TH0=3CH,TL0=0B0H。ORG0000HAJMPSTARTORG0030HSTART:MOVTMOD,#01H;令T0為定時器方式1MOVTH0,#3CH;裝入定時器初值MOVTL0,#0B0HSETBEA;開T0中斷SETBTF0SEBTTR0;啟動T0計數(shù)器MOVR0,#20H;軟件計數(shù)器賦初值LJMP$;等待中斷4.4中斷服務(wù)程序模塊進入中斷程序后,先保護現(xiàn)場,判斷一秒鐘到了嗎?如果沒有到將定時器重裝初值恢復(fù)現(xiàn)場,返回主程序,如果一秒鐘到了,將軟件計數(shù)器重初值;判斷指示燈循環(huán)顯示完了嗎?如果沒完,將保地址重新送入程序計數(shù)器中,然后再查表下一地址,顯示下一組指示燈狀態(tài)和顯示時間,保存下一組程序數(shù)據(jù)地址,將定時器重裝初值,恢復(fù)現(xiàn)場,返回主程序,如果完了,查表首地址,查時間地址,保存下一地址,將定時器重裝初值,恢復(fù)現(xiàn)場,返回主程序。同時一秒到了應(yīng)先判斷個位是否為0,如果個位是0,判斷十位是不是0,如果十位也是0,判斷交通燈是否安黃、綠、紅的順序循環(huán)完必,如果沒循環(huán)完應(yīng)查下一組數(shù)據(jù)繼續(xù)循環(huán),如果循環(huán)完必,應(yīng)查表首地址,周而復(fù)始的循環(huán),如果十位不是0,應(yīng)將十位先減1,個位送9,然后返回,再進行中斷定時一秒,然后再判斷,如果個位不是0,應(yīng)將個位減1,將定時器重裝初值,恢復(fù)現(xiàn)場。重新周而復(fù)始的循環(huán),如圖4.2所示。圖4.2中斷程序流程圖4.5顯示程序模塊顯示程序采用動態(tài)顯示,由位碼控制那一個數(shù)碼管顯示,由段碼控制數(shù)碼管顯示什么數(shù)值,根據(jù)中斷程序顯示時間來查表顯示數(shù)值,從第一位到第四位逐個點亮,同時每顯示一位判斷一次四位顯示完了嗎?沒有顯示完進行顯示下一位,顯示完了從頭開始再循環(huán)。如圖4.3所示圖4.3顯示程序流程圖DESPLAY:MOVR2,#01H;將位碼送R2MOVR0,#30;將段碼送R0NEXT3:MOVA,@R0MOVDPTR,#TAB2MOVCA,@A+DPTRMOVP0,A;將段碼送R0MOVP1,R2;將位碼送R2LCALLDELAY1;調(diào)用延時程序MOVA,R2JBACC.3,U2;顯示完轉(zhuǎn)U2RLA;未顯示完,將未碼左移MOVR2,A;將位碼重送、R2中INCR0;指向31HLJMPNEXT3U2:RET;顯示返回
5系統(tǒng)調(diào)試完成了硬件的設(shè)計、制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計意圖正常運行,必須進行系統(tǒng)調(diào)試。系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試兩個部分。不過,作為一個單片機系統(tǒng),其運行是軟硬件相結(jié)合的,因此,軟硬件的調(diào)試也是絕對不可能分開的。程序的調(diào)式應(yīng)一個模塊一個模塊地進行,單獨調(diào)試各功能子程序,檢驗程序是否能夠?qū)崿F(xiàn)預(yù)期的功能,接口電路的控制是否正常等;最后逐步將各個子程序連接起來總調(diào)。聯(lián)調(diào)需要注意的是,各程序模塊間能否正確傳遞參數(shù),特別要注意各子程序的現(xiàn)場保護與恢復(fù)。調(diào)試的基本步驟如下:將所要調(diào)試的程序輸入道偉福6000中,然后進行編譯,根據(jù)系統(tǒng)的提示查找原因?qū)⒊鲥e的地方調(diào)整正確,例如:有的時標(biāo)號未定義,有的時少標(biāo)點符號等。最后以ASM擴展名保存。將在偉福中調(diào)試好的程序方入keil內(nèi),將單片機實驗相與計算機連接,然后在keil中進行編譯程序,運行程序,根據(jù)單片機所顯示的結(jié)果分析程序,修改程序直到程序正常。在調(diào)試過程中出現(xiàn)的問題:(1)指示燈顯示不正常,經(jīng)分析原因在與燈的表格列的不對,指示燈輸出低電瓶時亮,結(jié)果程序中都是以高電瓶輸出,經(jīng)修改后正常(2)數(shù)碼管從15到計時,當(dāng)減到11時直接變成了9,而沒有經(jīng)過10,經(jīng)過對整個程序的分析也沒能夠找到問題,后經(jīng)老師的講解分析最后發(fā)現(xiàn)是程序設(shè)計的錯誤,在計時時間到時,必須先判斷個位是否為0,如果個位是0,判斷十位是不是0,如果十位也是0,判斷交通燈是否安黃、綠、紅的順序循環(huán)完必,如果沒循環(huán)完應(yīng)查下一組數(shù)據(jù)繼續(xù)循環(huán),如果循環(huán)完必,應(yīng)查表首地址,周而復(fù)始的循環(huán),如果十位不是0,應(yīng)將十位先減1,個位送9,然后返回,再進行中斷定時一秒,然后再判斷,如果個位不是0,應(yīng)將個位減1,而不能先減1再判斷,而我開始設(shè)計的正好與此相反,我先減1后進行判斷,然后又減1所以就出現(xiàn)了這種現(xiàn)象,經(jīng)改正數(shù)碼管能夠按設(shè)定的數(shù)據(jù)變化。(3)緊急事件發(fā)生時,按下急停按鍵時兩個方向都亮紅燈,而數(shù)碼管不會閃爍,經(jīng)老師幫助當(dāng)按鍵按下時,在按鍵服務(wù)程序中向數(shù)據(jù)緩沖器中送入#16H即可。
6結(jié)論依據(jù)本論文設(shè)計以89S51單片機為核心的交通燈,經(jīng)過近4個月的設(shè)計,最后按設(shè)計要求終于在單片機實驗箱上試驗成功,選擇不同的單片機,可以組成具有較強抗干擾能力和運行可靠性的產(chǎn)品,其抗干擾能力雖然不如PLC,但PLC價格較貴,用單片機運行效果仍然令人滿意,同時證明了本方案的正確性。這種交通燈比較適合應(yīng)用于中小型城市的十字路口,如果將本方案加上定時器和傳感器比較適合應(yīng)用于大種型城市,它能根據(jù)時間的變化自動調(diào)節(jié)交通燈的時間,或根據(jù)車流量的大小自動調(diào)節(jié)時間的長短,效果會更佳。
致謝本課題在選題及研究過程中得到郭繼紅老師的悉心指導(dǎo)。郭老師多次詢問研究進程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱忱鼓勵。郭老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我做人,雖歷時三載,卻給以終生受益無窮之道。對郭老師的感激之情是無法用言語表達的。通過這次畢業(yè)設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機的基本原理、單片機應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。我在指導(dǎo)老師郭老師的精心指導(dǎo)和嚴(yán)格要求下,獲得了豐富的理論知識,極大地提高了實踐能力,并對當(dāng)前電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,這對我今后進一步學(xué)習(xí)單片機方面的知識有極大的幫助。在此,我忠心感謝郭繼紅指導(dǎo)和支持。在未來的工作和學(xué)習(xí)中,我將以更好的成績來回報老師。在此,我還要感謝在一起愉快的度過大學(xué)生生活的機電系全體老師和同門,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。
在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!
參考文獻黑體3號字居中,段前、段后0.5行黑體3號字居中,段前、段后0.5行[2]傅承義.地球物理學(xué)基礎(chǔ).北京.科學(xué)出版社,1985,447[3]華羅庚,王元.論一致分布與近似分析.北京.中國科學(xué),1973(4):339~357[4]張筑生.微分半動力系統(tǒng)的不變集研究.[學(xué)位論文].北京.數(shù)學(xué)系統(tǒng)學(xué)研究所,1983…………
附錄AORG0000HLJMPSTARTORG000BHLJMPCTC0ORG0030HSTART:MOVTMOD,#01H;定時器T0初始化MOVTH0,#3CH;定時器T0初始化MOVTL0,#0B0;定時器T0初始化MOVR3,#20;定時器次數(shù)初始化MOVR5,#03;循環(huán)次數(shù)初始化MOV30H,#16H;數(shù)據(jù)緩沖區(qū)初始化MOV31H,#16H;數(shù)據(jù)緩沖區(qū)初始化MOV32H,#16H;數(shù)據(jù)緩沖區(qū)初始化MOV33H,#16H;數(shù)據(jù)緩沖區(qū)初始化SETBEA;總允許中斷SETBET0;T0允許中斷SETBTR0;啟動T0MOVDPTR,#TAB;置表格TAB起始值CLRAMOVCA,@A+DPTRMOVP3,A;查表將結(jié)果送P3口INCDPTRCLRAMOVCA,@A+DPTRMOVR4,A;查表下一地址,結(jié)果送寄存器R4MOV30H,A;將結(jié)果送30HINCDPTRCLRAMOVCA,@A+DPTRMOVR6,A;查表下一地址,將結(jié)果送R6 MOV31H,A;將結(jié)果送31HINCDPTRCLRAMOVCA,@A+DPTRMOVR7,A;查表下一地址,將結(jié)果送R7 MOV32H,A;將結(jié)果送32HINCDPTRCLRAMOVCA,@A+DPTRMOVR2,A;查表下一地址,將結(jié)果送R7 MOV33H,A;將結(jié)果送32HINCDPTRMOV50H,DPH;將下一地址送50H和51HMOV51H,DPLLOOP:LCALLDISPLAY;調(diào)用顯示程序JBP1.0,LOOP1;K1鍵未按下,轉(zhuǎn)LOOP1LCALLDELAY1;延時10ms消除抖動JBP1.0,LOOP1;K1鍵未按下,轉(zhuǎn)LOOP1LOOP2JNBP1.0,LOOP2;K1鍵按下,順序執(zhí)行K1鍵功能MOVA,P0MOVP0,#11H;送11H到P0口,使兩個方向的燈都亮紅燈CLRTR0;定時器停止計數(shù)MOV30H,#16HMOV31H,#16HMOV32H,#16HMOV33H,#16HANJIAN:JBP1.1,LOOP;K2鍵未按下,轉(zhuǎn)LOOPLCALLDELAY;延時10ms消除抖動JBP1.1,LOOP;K2鍵未按下,轉(zhuǎn)LOOPL2:JNBP1.1,L2;K2鍵按下,順序執(zhí)行K2鍵功能SETBTR0;重新啟動定時器MOVP0,A;將狀態(tài)送P0口LJMPLOOPCTCO:PUSHACC;保護現(xiàn)場PUSHPSWDJNZ:R3,NEXT2;定時器一秒未到轉(zhuǎn)NEXT2MOVR3,#20;定時一秒到,送20到R3MOVA,R4CJNEA,#0FF,L15;(主干道)判斷個位,個位不等0,轉(zhuǎn)L15MOVA,R6;個位等0順續(xù)執(zhí)行CJNEA,#0FFH,L16;判斷十位,十位不等0,轉(zhuǎn)L16LJMPL17;十位等0,轉(zhuǎn)L17L16:DECR6;十位減1MOVR4,#09;個位送9LJMPL8L15:DJNZR4,L8;個位不為0時,個位減1L17;DJNZR5,LL1;未循環(huán)完,轉(zhuǎn)LL1MOVR5,#05;循環(huán)寄存器重裝初值MOVDPTR,#TAB1;將TAB1首地址送DPTRLJMPLL2L8:MOVA,R7CJNEA,#0FFH,L11;(直干道)判斷個位,個位不等0,轉(zhuǎn)L11MOVA,R2;個位等0順續(xù)執(zhí)行CJNEA,#0FFH,L18;判斷十位,十位不等0,轉(zhuǎn)L18LJMPL18L12:DECR2;十位減1MOVR7,#09;個位送9LJMPNEXT1L11:DJNZR7,NEXT1;個位不為0時,個位減1L18:DJNZR5,LL1;未循環(huán)完,轉(zhuǎn)LL1MOVR5,#05;循環(huán)寄存器重裝初值MOVDPTR,#TAB1;將TAB1首地址送DPTRLJMPLL2LL1:MOVDPL,50H;重保存地址送DPTRMOVDPH,51HLL2:CLRAMOVCA,@A+DPTRMOVP3,A;查表將結(jié)果送P3口INCDPTRCLRAMOVCA,@A+DPTRMOVR4,A;查表下一地址,結(jié)果送寄存器R4
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手房授權(quán)代理合同書2024年版版B版
- 2025年度房產(chǎn)代持與房地產(chǎn)營銷服務(wù)合同3篇
- 涉外技術(shù)轉(zhuǎn)讓合同
- 公司區(qū)域代理經(jīng)銷合同
- 二零二五版智慧城市基礎(chǔ)設(shè)施經(jīng)濟合同2篇
- 單位房屋裝修合同范本
- 2025年度場及綜合體大樓裝修工程進度跟蹤與調(diào)整合同4篇
- 2025版木枋行業(yè)綠色生產(chǎn)與節(jié)能減排合同4篇
- 2025年餐廳食品安全責(zé)任及員工培訓(xùn)協(xié)議3篇
- 二零二五年度高級大師傅技藝培訓(xùn)用工合同4篇
- 基于SMT求解器的分支條件覆蓋測試
- 反騷擾政策程序
- 運動技能學(xué)習(xí)與控制課件第十一章運動技能的練習(xí)
- 射頻在疼痛治療中的應(yīng)用
- 四年級數(shù)學(xué)豎式計算100道文檔
- “新零售”模式下生鮮電商的營銷策略研究-以盒馬鮮生為例
- 項痹病辨證施護
- 懷化市數(shù)字經(jīng)濟產(chǎn)業(yè)發(fā)展概況及未來投資可行性研究報告
- 07FD02 防空地下室電氣設(shè)備安裝
- 教師高中化學(xué)大單元教學(xué)培訓(xùn)心得體會
- 彈簧分離問題經(jīng)典題目
評論
0/150
提交評論