單片機(jī)控制交通燈_第1頁
單片機(jī)控制交通燈_第2頁
單片機(jī)控制交通燈_第3頁
單片機(jī)控制交通燈_第4頁
單片機(jī)控制交通燈_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1 簡介1.1 研究背景近年來,隨著微控制技術(shù)的日益完善和快速發(fā)展,單片機(jī)的應(yīng)用不斷深入。它的應(yīng)用必然會(huì)導(dǎo)致系統(tǒng)控制技術(shù)發(fā)生根本性的變化,同時(shí)也將帶動(dòng)傳統(tǒng)控制檢測技術(shù)的更新?lián)Q代。已廣泛應(yīng)用于工業(yè)控制、數(shù)據(jù)采集、智能儀表、機(jī)電一體化、家用電器等領(lǐng)域,大大提高了這些領(lǐng)域的技術(shù)水平和自動(dòng)化控制。在單片機(jī)應(yīng)用系統(tǒng)的實(shí)際檢測和自動(dòng)控制中,往往以單片機(jī)作為核心部件,僅有單片機(jī)的知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)的軟硬件結(jié)合。隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展和人民生活水平的提高,繁忙的道路交通越來越受到人們的關(guān)注,因此設(shè)計(jì)合適的紅綠燈線路與我們的生活息息相關(guān)。車輛穿梭在路口,行人熙熙攘攘,車道、人行道,井然有序。它依

2、靠紅綠燈的自動(dòng)指揮系統(tǒng)來實(shí)現(xiàn)這個(gè)命令。紅綠燈是城市交通有序、安全、快捷運(yùn)行的重要保障,保障紅綠燈正常運(yùn)行已成為保障交通有序、安全、快捷運(yùn)行的關(guān)鍵。為此,以MCS-51系列單片機(jī)8051為中心器件,設(shè)計(jì)了紅綠燈控制電路、紅綠燈顯示模塊、時(shí)間調(diào)整模塊、晶振電路、復(fù)位電路和控制電路,實(shí)現(xiàn)了紅綠燈的P3口。 8051芯片根據(jù)實(shí)際流量。設(shè)置紅綠黃燈點(diǎn)亮?xí)r間,三色燈交替點(diǎn)亮,中斷緊急情況下的處理功能,實(shí)現(xiàn)交通暢通,人車流和諧有序。1.2 發(fā)展現(xiàn)狀如今,交通信號(hào)燈安裝在各個(gè)路口,已成為交通車輛分流最常見、最有效的手段。但這項(xiàng)技術(shù)自 19 世紀(jì)以來就已經(jīng)存在。道路 HYPERLINK %20%20%20%20

3、:/baike.baidu%20%20%20%20/view/597759.htm t _blank 交通信號(hào)燈是 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/309306.htm t _blank 交通安全產(chǎn)品的一個(gè)類別。它們是加強(qiáng)道路交通管理、減少交通事故、提高道路使用效率、改善交通條件的重要工具。中國的紅綠燈一般都設(shè)在十字路口,紅綠黃燈在顯眼位置。加上一個(gè)倒計(jì)時(shí)顯示計(jì)時(shí)器來控制騎行。對于正常情況下的安全駕駛,車輛分流還是可以起到一定作用的,但是根據(jù)實(shí)際駕駛過程,還是存在以下不足:( 1 ) 。兩車道車輛輪流同時(shí)放行。在路口,往

4、往一條車道為主路,車輛較多,放行時(shí)間要長一些;另一條車道是次干道,車輛較少,放行時(shí)間應(yīng)該更短。(2) 兩條主干道的紅綠時(shí)間不能讓應(yīng)急車輛先行,視實(shí)際路況而定。國外很多研究機(jī)構(gòu)都致力于研究紅綠燈控制的更換。比如太陽能紅綠燈,太陽能紅綠燈依靠能源來保證路燈的正常使用。它使用的能源是太陽能,既省電又環(huán)保,安裝時(shí)不需要鋪設(shè)電纜。信號(hào)燈帶電池功能,可保證正常工作10-30天。主要適用于新建路口和車流量大、急需新的交通信號(hào)指揮的路口,可滿足交警應(yīng)對緊急停電、停電等突發(fā)事件的需要。還配備了多種控制系統(tǒng),如可編程邏輯控制器(PLC)控制系統(tǒng)、基于DEA技術(shù)的交通信號(hào)定時(shí)控制系統(tǒng)、微機(jī)原理控制系統(tǒng)和單片機(jī)控制系

5、統(tǒng)等。微機(jī)的重要分支。它是1970年代中期開發(fā)的面向控制的大規(guī)模集成電路塊。具有功能強(qiáng)、體積小、可靠性高、價(jià)格低的特點(diǎn)。也廣泛應(yīng)用于控制領(lǐng)域。被廣泛使用的。1.3 研究意義信號(hào)燈的出現(xiàn),實(shí)現(xiàn)了有效的交通管制,對疏通車流、提高道路通行能力、減少交通事故等起到了明顯的作用。中國的紅綠燈一般設(shè)置在十字路口,紅、綠、黃指示燈在顯眼位置。紅燈是禁止信號(hào),黃燈是警告信號(hào),綠燈是通過信號(hào)。加上一個(gè)倒計(jì)時(shí)顯示計(jì)時(shí)器來控制騎行。為正常情況下的安全駕駛,車輛分流仍可發(fā)揮作用。特別是在經(jīng)濟(jì)和科技高度發(fā)達(dá)的今天,安全問題和發(fā)展問題不容忽視。紅綠燈是交通安全產(chǎn)品的一個(gè)類別。用于加強(qiáng)道路交通管理,減少交通事故,提高道路使

6、用效率。 ,改善交通狀況的重要工具。常見于十字路口、T字路口等交叉路口,由道路交通信號(hào)控制器控制,引導(dǎo)車輛和行人安全有序通過。在城市交通中,紅綠燈已成為暢通道路的必備工具。交通信號(hào)燈用于道路交叉口。通過指示車輛和行人前進(jìn)或停止,可以盡可能減少人與車輛之間的互動(dòng)。干擾,從而提高路口的通行能力,保證路口的通暢和安全。1.4 設(shè)計(jì)方法和研究途徑本設(shè)計(jì)主要通過單片機(jī)的應(yīng)用實(shí)現(xiàn)對路口紅綠燈的智能管理,用于控制過往車輛的正常、安全、有序運(yùn)行。針對8051單片機(jī)和紅綠燈在實(shí)際控制中的特點(diǎn),提出了一種單片機(jī)模擬和控制紅綠燈并顯示時(shí)間的方法;涉及的所有技術(shù)問題。 8051單片機(jī)紅綠燈控制系統(tǒng)由8051單片機(jī)、鍵

7、盤、外圍電路、紅綠燈顯示等模塊組成;除了基本的紅綠燈功能外,系統(tǒng)還具備應(yīng)急車輛強(qiáng)行通過等交通異常情況等相關(guān)功能。本設(shè)計(jì)采用8051單片機(jī)作為主控制器,8051的P1口接指示燈,串行輸入、并行輸出接數(shù)碼管。使用P3端口作為按鍵輸入端口,通過查詢命令判斷是否有來自外部的請求信號(hào)。當(dāng) P3 端口為低電平時(shí),通過跳轉(zhuǎn)命令執(zhí)行子程序。正常運(yùn)行時(shí),主路釋放60S(5S用于警告),然后次路釋放30S(5S用于警告);這一次又一次地發(fā)生。當(dāng)有應(yīng)急車輛經(jīng)過時(shí),按下控制鍵K0,使主、次道路為紅燈,保證應(yīng)急車輛通行,實(shí)現(xiàn)設(shè)計(jì)的人性化和實(shí)用性。1.5 本次設(shè)計(jì)的主要工作為實(shí)現(xiàn)對交通道路的管理,力求交通管理的先進(jìn)性和科

8、學(xué)性,本設(shè)計(jì)分析應(yīng)用單片機(jī)實(shí)現(xiàn)智能紅綠燈控制控制系統(tǒng)。根據(jù)系統(tǒng)的軟硬件設(shè)計(jì)方法,實(shí)驗(yàn)證明該系統(tǒng)實(shí)現(xiàn)簡單、經(jīng)濟(jì)。 , 可有效分流交通,提高交通路口的通行能力。本設(shè)計(jì)主要做了以下工作:1、分析紅綠燈的研究意義和紅綠燈的研究現(xiàn)狀,確定系統(tǒng)交通控制的總體設(shè)計(jì),包括通常需要實(shí)現(xiàn)自動(dòng)控制等應(yīng)有功能的紅綠燈控制系統(tǒng)。手動(dòng)切換信號(hào)燈優(yōu)先考慮特殊車輛的功能。2、本文還介紹了AT89S51單片機(jī)在硬件電路上的結(jié)構(gòu)特點(diǎn)和重要引腳功能。同時(shí)詳細(xì)介紹和分析了智能交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)中各個(gè)電路和部件的結(jié)構(gòu)和功能。3.軟件系統(tǒng)設(shè)計(jì)。本次設(shè)計(jì)我使用單片機(jī)匯編語言編寫,對定時(shí)器、中斷和延時(shí)原理做了詳細(xì)的講解,軟件已經(jīng)整體寫好

9、了。并介紹了PROTEUS嵌入式系統(tǒng)仿真開發(fā)平臺(tái)的使用方法,并使用PROTEUS軟件對紅綠燈控制系統(tǒng)進(jìn)行仿真。2. 整體設(shè)計(jì)2.1 總體規(guī)劃本設(shè)計(jì)改變了紅綠燈的規(guī)律,根據(jù)設(shè)計(jì)要求,設(shè)計(jì)了一套完整的紅綠燈專用控制系統(tǒng),該系統(tǒng)由紅綠燈單片機(jī)、按鈕電路、驅(qū)動(dòng)電路、復(fù)位電路、穩(wěn)壓電源等組成。單片機(jī)是集成IC芯片,只需要根據(jù)實(shí)際設(shè)計(jì)要求進(jìn)行選擇即可。其他部分需要根據(jù)應(yīng)用要求和性能指標(biāo)進(jìn)行設(shè)計(jì)。該系統(tǒng)的特點(diǎn)是具有硬件時(shí)間調(diào)整和應(yīng)急響應(yīng)功能,并利用仿真軟件模擬紅綠燈的控制情況。2.1.1示意圖G1G1G2R2Y2G1Y1R1Y1R1G2Y2R2BA圖 2.1 總體規(guī)劃示意圖本設(shè)計(jì)分為主路A和次路B。R1、Y

10、1、G1用于模擬主路的紅、黃、綠燈,R2、Y2、G2用于模擬紅、黃、綠燈。二級(jí)道路的黃燈和綠燈。首先,A路通車,即G1,R2亮60S,R2保持亮,G2閃3S,R1閃2S;然后G2和R1亮30S,同樣R1常亮,Y2閃爍3S,R2閃爍2S,循環(huán)狀態(tài);如果有緊急車輛經(jīng)過,此時(shí)系統(tǒng)會(huì)有外部信號(hào)傳入。此時(shí)R1和R2都處于兩燈狀態(tài),直到接收到新的信號(hào),再轉(zhuǎn)入下一個(gè)周期,如圖2.1所示。2.1.2流程圖開始開始四個(gè)路口紅燈亮(狀態(tài)0)南北綠燈亮,東西紅燈亮,延時(shí)(狀態(tài)1)東西黃燈閃爍,南北綠燈亮,延時(shí)(狀態(tài)2)東西紅燈亮,南北綠燈亮,延時(shí)(狀態(tài)3)東西綠燈亮,南北黃燈閃爍,延時(shí)(狀態(tài)4)圖 2.2 狀態(tài)流程

11、圖初始狀態(tài)0是從東到西的紅光和從北到南的紅光。然后轉(zhuǎn)1號(hào)州,南北綠燈通車,東西向紅燈。過一段時(shí)間,切換到狀態(tài)2,南北綠燈閃6下變黃,延時(shí)5秒,東西燈依舊紅。然后轉(zhuǎn)向狀態(tài)3,東西綠燈通車,南北紅燈。一段時(shí)間后,切換到狀態(tài)4,東西綠燈閃爍3次變黃,延時(shí)5秒,南北燈依然是紅色。最后循環(huán)到狀態(tài)1。狀態(tài)流程圖如圖4所示初始化,設(shè)置路口的四個(gè)方向都是紅燈,然后是南北方向的綠燈,東西方向的紅燈,延遲60s;綠燈閃爍4次后,南北黃燈亮,延時(shí)5s,隨后南北紅燈亮,東西綠燈亮,依次循環(huán)延遲 30s。主程序流程圖如圖 2.2 所示。有應(yīng)急車輛時(shí),東、西、南、北四個(gè)方向的紅燈應(yīng)亮,以便應(yīng)急車輛通過。從技術(shù)上講,外部中

12、斷 0 可用于向 CPU 發(fā)送脈沖以申請中斷。 CPU在檢測到低電平時(shí)不斷檢測并開始執(zhí)行中斷,一直檢測到檢測到高電平中斷結(jié)束,繼續(xù)執(zhí)行主程序。2.2 流程(1)一般情況下,A、B車道(A、B車道交叉口形成交叉口,A為主路,B為支路)輪流放行,A車道放行1分鐘(其中 5 秒用于警告),車道 B 被釋放。 30 秒(其中 5 秒用于警告)。( 2 )當(dāng)有緊急車輛通過時(shí)(通過鑰匙開關(guān)K0模擬),A、B車道均為紅燈。系統(tǒng)設(shè)計(jì):交通控制系統(tǒng)需要控制AB兩車道的通行,以8051單片機(jī)為核心芯片,通過控制三色LED燈的亮滅來控制每條車道的通行,用K0鍵模擬緊急車輛通過時(shí)的情況。根據(jù)設(shè)計(jì)要求,制定總體設(shè)計(jì)思路

13、如下:(1)正常情況下運(yùn)行程序,利用0.5s延時(shí)子程序的重復(fù)調(diào)用,實(shí)現(xiàn)各種定時(shí)時(shí)間;(2)當(dāng)有緊急車輛經(jīng)過時(shí),使用外部中斷0執(zhí)行中斷服務(wù)程序,并將中斷設(shè)置為高優(yōu)先級(jí)中斷。系統(tǒng)總體規(guī)劃:先接通電源,再按啟動(dòng)鍵,系統(tǒng)可按控制要求工作,并可利用AT89S51主控芯片的部分定時(shí)器按設(shè)計(jì)要求自動(dòng)啟動(dòng)和停止。當(dāng)緊急信號(hào)出現(xiàn)時(shí),可自動(dòng)中斷原工作以應(yīng)對緊急情況。返回后可再次投入工作,完全實(shí)現(xiàn)自動(dòng)化控制,提高系統(tǒng)的可操作性。交通管理項(xiàng)目示范:東西、南北主干道在一個(gè)路口相交,每條主干道都有一組紅、黃、綠燈,引導(dǎo)車輛和行人安全通過。紅燈禁止通行,綠燈允許通行。黃燈亮提醒人們注意紅綠燈即將切換的狀態(tài),黃燈亮的時(shí)間是東

14、西、南北主干道的公共停車時(shí)間.假設(shè)東西路的車流量比南北路大,指示燈亮,方案如表2.1所示:表 2.1 指示燈亮暗方案照明時(shí)間55s3s2s25s3s2s一條車道綠燈綠燈閃爍黃燈紅燈亮紅燈亮黃燈B道紅燈亮紅燈亮黃燈綠燈綠燈閃爍黃燈3.硬件設(shè)計(jì)3.1 實(shí)施計(jì)劃本系統(tǒng)以AT89S51單片機(jī)為主控芯片,使用12個(gè)發(fā)光二極管模擬交通信號(hào)燈,通過AT89S51單片機(jī)的P1口控制這12個(gè)發(fā)光二極管。由于單片機(jī)的負(fù)載能力有限,P1端口與發(fā)光二極管之間存在間隙。驅(qū)動(dòng)器作為LED驅(qū)動(dòng)和信號(hào)邏輯轉(zhuǎn)換芯片,12V鋰電池電源連接穩(wěn)壓電路,保證系統(tǒng)工作電壓恒定。 P1端口輸出低電平時(shí),信號(hào)燈亮,輸出高電平時(shí),信號(hào)燈熄滅。

15、正常情況下,車流量大時(shí),A、B車道12個(gè)信號(hào)燈有5種控制狀態(tài)。 P1口的控制功能及對應(yīng)的控制代碼如表3.1所示。使用按鈕 K0 模擬緊急車輛通過開關(guān)。 K0為高電平時(shí)為正常,K0為低電平時(shí)為緊急車輛通過。將 K0 信號(hào)直接連接到(P3.2)引腳,實(shí)現(xiàn)外部中斷 0 中斷。表3.1 P1口控制功能及相關(guān)控制代碼見表控制狀態(tài)P1口控制代碼P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0沒用過沒用過B車道綠燈B車道黃燈B路紅燈一盞綠燈A路黃燈一盞紅燈允許A車道,禁止B車道F3H11110011A 道路警告 B 道路禁止F5H11110101車道 A 禁止超車道 BDEH11011110

16、道路 A 禁止 道路 B 警告EEH11101110AB車道被禁止F6H11110110本設(shè)計(jì)具有應(yīng)急優(yōu)先控制功能,主要是方便交通管理的應(yīng)急處理。因此,在紅綠燈正??刂凭幹埔罁?jù)上,增加了允許緊急優(yōu)先處理的功能。當(dāng)發(fā)生消防、急救等情況時(shí),東、西、南、北四個(gè)方向的紅燈會(huì)亮20s進(jìn)行緊急處理。緊急情況處理完畢后,交通信號(hào)燈可以恢復(fù)到之前的工作狀態(tài)。這里采用中斷技術(shù),采用單刀雙擲開關(guān)K0進(jìn)行模擬,程序中將外部中斷0設(shè)置為高優(yōu)先級(jí)中斷,使系統(tǒng)能夠更可靠地接收緊急信號(hào)。 K0 是模擬過程中的手動(dòng)開關(guān)。3.2 硬件結(jié)構(gòu)及相關(guān)部件的選擇硬件結(jié)構(gòu)說明:紅綠燈控制器設(shè)計(jì)以MCS-51系列單片機(jī)AT89S51為中心

17、器件,通過P1口實(shí)現(xiàn)根據(jù)實(shí)際交通流量設(shè)置紅綠燈亮燈時(shí)間的功能。 8051芯片;紅綠燈循環(huán)點(diǎn)亮并倒計(jì)時(shí)。剩余5s時(shí)黃燈閃爍警告(紅綠燈信號(hào)通過P1口輸出,P3口為復(fù)位鎖存器)。該系統(tǒng)以8051單片機(jī)為核心,加上相應(yīng)的驅(qū)動(dòng)電路,數(shù)碼管顯示,紅黃綠交通燈顯示,當(dāng)單片機(jī)計(jì)數(shù)器達(dá)到規(guī)定值時(shí),完成交通狀態(tài)的轉(zhuǎn)換。路口。本系統(tǒng)的特點(diǎn)是具有硬件時(shí)間調(diào)整和應(yīng)急響應(yīng)功能,使用仿真軟件模擬紅綠燈控制效果好,如圖3.1所示:電源電路電源電路復(fù)位電路晶振電路按鍵電路8051單片機(jī)驅(qū)動(dòng)電路驅(qū)動(dòng)電路A車道LED顯示電路B車道LED顯示電路圖 3.1 硬件結(jié)構(gòu)圖本設(shè)計(jì)所需的元器件包括單片機(jī)芯片、穩(wěn)壓電源塊、驅(qū)動(dòng)器、發(fā)光二極管

18、、按鍵、電源、晶振。下面介紹一下芯片選型和電路設(shè)計(jì)思路:8051芯片單片機(jī)是一種集成電路芯片,采用超大規(guī)模集成電路技術(shù),集成了中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、各種I/O端口和中斷系統(tǒng),具有數(shù)據(jù)處理能力的定時(shí)器/定時(shí)器。和其他功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路復(fù)用器、A/D轉(zhuǎn)換器等電路)集成在一個(gè)小而完整的硅芯片上的計(jì)算機(jī)系統(tǒng)中。 MCS-51系列單片機(jī)是國內(nèi)應(yīng)用最廣泛的八位單片機(jī)之一。經(jīng)過20多年的推廣和發(fā)展,51系列MCU已形成規(guī)模化、功能齊全、資源豐富的產(chǎn)品群。隨著嵌入式系統(tǒng)和片上系統(tǒng)等概念的引入和普遍應(yīng)用,MCS-51系列單片機(jī)的發(fā)展進(jìn)入了一個(gè)新的階

19、段。近年來,基于51系列單片機(jī)的嵌入式實(shí)時(shí)操作系統(tǒng)的出現(xiàn)和推廣,預(yù)示著51系列及其衍生產(chǎn)品將在未來很長一段時(shí)間內(nèi)占據(jù)嵌入式系統(tǒng)產(chǎn)品的低端市場。近年來,隨著單片機(jī)技術(shù)的不斷發(fā)展,單片機(jī)的功能也越來越多。 AT89s51是89c在51編制依據(jù)上更有優(yōu)勢的芯片。與8051相比, AT51的性能89C已經(jīng)非常優(yōu)越了。 AT89S51在原有基礎(chǔ)上增強(qiáng)了時(shí)鐘等多項(xiàng)功能??筛膶?000次)內(nèi)存采用原ROM(一次性寫入),即增加了在線更新程序的功能。 ISP在線編程功能,該功能的好處是改寫單片機(jī)內(nèi)存的程序不需要將芯片從工作環(huán)境中剝離。它是一個(gè)強(qiáng)大且易于使用的功能;此外,89s51自帶集成看門狗定時(shí)器、 A/D

20、、D/A轉(zhuǎn)換、PWM,體現(xiàn)了單片機(jī)從MCU到SOC系統(tǒng)的全過程。不再需要89C像51那樣連接外部看門狗定時(shí)器單元電路。但它也有它的缺點(diǎn)。 AT89S51的功能比AT 89C51多,但驅(qū)動(dòng)能力差,抗干擾性能差。因此,應(yīng)該增加一個(gè)額外的電路來克服電路設(shè)計(jì)中的這個(gè)缺點(diǎn)。AT89S51 微控制器是一款具有 4KB 閃存的低功耗微控制器,用于在線課程編程。兼容通用51系列單片機(jī)的指令系統(tǒng)和引腳。80C片上閃存可以在線重新編程或使用非易失性存儲(chǔ)器進(jìn)行編程。他將通用CPU和在線可編程Flash集成在一個(gè)芯片上,形成了功能強(qiáng)大、靈活且高性價(jià)比的微控制器。圖 3.2 89S51 芯片引腳圖引腳功能介紹RST:復(fù)

21、位輸入。當(dāng)振蕩器運(yùn)行時(shí),兩個(gè)機(jī)器周期內(nèi) RST 引腳上的高電平將使微控制器復(fù)位。ALE/ :訪問外部存儲(chǔ)器時(shí),地址鎖存使能是一個(gè)輸出脈沖,用于鎖存地址的低8位字節(jié)。在 Flash 中編程時(shí),它也可以用作編程脈沖輸出( )。一般來說,ALE 以晶體頻率的 1/6 輸出,可用于外部時(shí)鐘或定時(shí)目的。但還要注意,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),都會(huì)跳過一個(gè) ALE 脈沖。 : 當(dāng)程序存儲(chǔ)器使能時(shí),讀取外部程序存儲(chǔ)器的選通信號(hào)。當(dāng) AT 89C51 從外部程序存儲(chǔ)器執(zhí)行指令時(shí),每個(gè)機(jī)器周期有效兩次,除了訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),會(huì)跳過兩個(gè)信號(hào)。 /VPP:允許外部訪問。為了使微控制器能夠有效地將指令從外部數(shù)據(jù)存儲(chǔ)

22、器從 0000H 傳輸?shù)?FFFH 單元,必須將其連接到 GND。主要的是,如果加密位 1 被編程,EA 終端將在復(fù)位時(shí)自動(dòng)部分鎖存。執(zhí)行部分編程指令時(shí),應(yīng)連接到 VCC 端。XTAL1:振蕩反相放大器的輸入端和該部分的時(shí)鐘電路。 XTAL2:振蕩器反相放大器的輸出。 Vcc電源電壓輸入端。 GND電源地。AT89S51 MCU部看門狗定時(shí)器介紹89S51看門狗定時(shí)器一個(gè)14位計(jì)數(shù)器和一個(gè)看門狗復(fù)位WDTRST,地址為0A6H。單片機(jī)復(fù)位后WDT的默認(rèn)狀態(tài)是關(guān)閉,必須通過程序激活才能開始工作。因此,單片機(jī)必須有可靠的上電復(fù)位,否則看門狗將無法工作。由于89S51的看門狗定時(shí)器只是一個(gè)14位的計(jì)

23、數(shù)器,如果要避免89S51在程序正常運(yùn)行時(shí)產(chǎn)生復(fù)位信號(hào),則必須在16383個(gè)時(shí)鐘周期內(nèi)至少喂狗一次。而這個(gè)時(shí)間是固定的,無法更改。如果單片機(jī)的晶振頻率為12MHZ,則需要每隔16S喂一次狗。由于 WDT 作用于單片機(jī)的晶振,當(dāng)晶振停止時(shí),看門狗也失效。3.3 端口分配端口 0:(1) 用作I/O口時(shí),為準(zhǔn)雙向口,需外接上拉電阻。特點(diǎn)是:當(dāng)某個(gè)引腳從原來的輸出變?yōu)檩斎霑r(shí),用戶應(yīng)先將“”寫入鎖存器,以1”避免讀取該引腳上的容量時(shí)出錯(cuò)。復(fù)位時(shí),端口鎖存器自動(dòng)設(shè)置為“” 1”,即,輸出驅(qū)動(dòng)器(VT2)被切斷,(2)用作地址/數(shù)據(jù)總線端口時(shí),是真正的雙向端口,不需要做任何工作。P1 端口:它是一個(gè)標(biāo)準(zhǔn)的

24、準(zhǔn)雙向端口,只能用作通用 I/O 端口。用作輸出時(shí),無需外接上拉電阻;用作輸入時(shí),還需要在其鎖存器中寫入“1”,使輸出驅(qū)動(dòng)截止。端口 P1 是輸入端口??勺鳛镮/O口和高8位地址線A8A15輸出口。 P2 端口比 P1 端口多一個(gè)多路復(fù)用器 MUX。當(dāng)P2口作為通用I/O口時(shí),硬件開關(guān)NUX反向鎖存器的Q端為準(zhǔn)雙向口。復(fù)位時(shí),端口鎖存器自動(dòng)設(shè)置為“” 1”,即關(guān)閉輸出驅(qū)動(dòng)器,P2端口可作為輸入。當(dāng)開關(guān)NUX反向到地址端時(shí),P2輸出高8-位段地址A8A15,用于尋址外部存儲(chǔ)器和I/O口,此時(shí)不能再作為并行I/OP3 端口:P3口為雙功能口,分為第一功能和第二功能。當(dāng)用作第一個(gè)函數(shù)時(shí),第二個(gè)函數(shù)輸

25、出線W被硬件自動(dòng)設(shè)置為“1”。此時(shí)P3口作為通用I/O口,與P1口類似,是準(zhǔn)雙向口。復(fù)位時(shí),端口鎖存器自動(dòng)設(shè)置為“1”,即關(guān)閉輸出驅(qū)動(dòng)器,將P3端口用作輸入端口。作為第二功能使用時(shí), P3口還具有89CAT 51的各種特殊功能,如表3.2所示:表 3.2 P3 端口的第二個(gè)功能端口引腳次要功能P3.0RXD(串行輸入端口)P3.1TXD(串行輸出端口)P3.2(外部中斷 0)P3.3(外部中斷 1)P3.4T0(定時(shí)器 0)P3.5T1(定時(shí)器 1)P3.6(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7(外部數(shù)據(jù)存儲(chǔ)器被選通)3.4 詳細(xì)電路設(shè)計(jì)3.4.1復(fù)位電路單片機(jī)的復(fù)位就是使系統(tǒng)中的CPU等功能部件處

26、于一定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。復(fù)位后,PC=0000H 使微控制器從第一個(gè)單元獲取指令。在實(shí)際應(yīng)用中,無論單片機(jī)何時(shí)首次接通電源,都必須在斷電或故障后復(fù)位。因此,需要弄清楚MCS-51系列MCU的復(fù)位條件,復(fù)位后復(fù)位電路的狀態(tài),MCU的復(fù)位條件是RST上持續(xù)兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平/UPD 或 RST 端,如果時(shí)鐘頻率為 12MHZ 且無機(jī)器周期為 1us,只要高電平時(shí)間超過 2us 即可復(fù)位。當(dāng)MCS-51系列單片機(jī)的復(fù)位端RST為高電平超過兩個(gè)機(jī)器周期時(shí),單片機(jī)進(jìn)行復(fù)位操作,完成CPU的初始化處理。復(fù)位操作是整個(gè)應(yīng)用系統(tǒng)運(yùn)行前必須進(jìn)行的一個(gè)環(huán)節(jié)。但如果RST持續(xù)為

27、高電平,則單片機(jī)處于循環(huán)復(fù)位狀態(tài),無法執(zhí)行用戶的控制程序。單片機(jī)在啟動(dòng)時(shí)需要進(jìn)行復(fù)位,使CPU及系統(tǒng)各部件處于一定的初始狀態(tài),從初始狀態(tài)開始工作。 89系列單片機(jī)的復(fù)位信號(hào)從RST引腳輸入到芯片的施密特觸發(fā)器。當(dāng)系統(tǒng)處于正常工作狀態(tài),且振蕩器穩(wěn)定后,若RST管腳為高電平并保持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,CPU可以響應(yīng)并復(fù)位系統(tǒng)。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)/自動(dòng)按鍵復(fù)位和上電復(fù)位。單片機(jī)采用上點(diǎn)自動(dòng)復(fù)位電路。如下圖所示,在上電的瞬間,由于電容兩端的電壓不能突變,因此RST端的電位與Vcc相同;然后C通過R充電,充電電流逐漸減小,RST端的電位也逐漸減小,只要RST處于高電平兩個(gè)機(jī)器周期

28、以上,即可恢復(fù)正常。常用的上電復(fù)位電路如圖3.3所示:圖 3.3 上電自動(dòng)復(fù)位電路3.4.2時(shí)鐘電路時(shí)鐘電路是單片機(jī)的心臟,控制著計(jì)算機(jī)的工作節(jié)奏。 CPU通過復(fù)雜的時(shí)序電路完成不同的指令功能。 89S51芯片有一個(gè)高增益反相放大器組成一個(gè)振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2。利用片內(nèi)反相器和電阻組成的振蕩電路,將晶振和微調(diào)電容跨接在XTAL1和XTAL2引腳上,從而形成穩(wěn)定的自激。構(gòu)成單片機(jī)時(shí)鐘電路的振蕩器,可以穩(wěn)定頻率,對振蕩頻率有微調(diào)作用。每個(gè)單片機(jī)系統(tǒng)中都有一個(gè)晶振,整個(gè)過程稱為晶振。晶振在單片機(jī)系統(tǒng)中起著非常重要的作用。它結(jié)合單片機(jī)的電路,產(chǎn)生單片機(jī)所需的時(shí)鐘頻

29、率。單片機(jī)所有指令的執(zhí)行成立。在此基礎(chǔ)上,晶振提供的時(shí)鐘頻率越高,單片機(jī)的運(yùn)行速度就越快。晶振采用能將電能和機(jī)械能轉(zhuǎn)換成諧振狀態(tài)的晶體,提供穩(wěn)定、精確的單頻振蕩。晶振的作用是為系統(tǒng)提供基本時(shí)鐘信號(hào)。在本設(shè)計(jì)中,采用晶體振蕩器的頻率。電容器C1和C2的主要作用是幫助振蕩器開始振動(dòng)。其值的大小對振蕩器的頻率有微調(diào)作用。典型值為 C1=C230pF。圖 3.4 部分時(shí)鐘法電路圖3.4.3驅(qū)動(dòng)電路在單片機(jī)與LED顯示屏的接口電路中,如果LED數(shù)碼管正常發(fā)光,顯示驅(qū)動(dòng)芯片也很重要。在動(dòng)態(tài)顯示模式下編寫軟件時(shí),應(yīng)選擇合適的延遲時(shí)間。如果時(shí)間不合適,LED會(huì)一直閃爍,可以通過適當(dāng)調(diào)整延遲常數(shù)來解決問題。選擇

30、合適的驅(qū)動(dòng)芯片,保證足夠的顯示亮度。驅(qū)動(dòng)電路如圖 3.5 所示。用12個(gè)發(fā)光二極管模擬交通燈,用AT89S51單片機(jī)的P1口控制這12個(gè)發(fā)光二極管。由于單片機(jī)負(fù)載能力有限,在P1端口和發(fā)光二極管之間使用74LS07作為驅(qū)動(dòng)。圖 3.5 驅(qū)動(dòng)電路圖 3.6 74LS07 引腳圖圖 3.7 部分邏輯符號(hào)圖3.4.4電源考慮到單片機(jī)需要嚴(yán)格穩(wěn)定的5V電壓,本設(shè)計(jì)采用12V鋰電池輸出電壓經(jīng)7805穩(wěn)壓塊變壓穩(wěn)壓后得到穩(wěn)定的5V直流電壓,用于接口電路和LED信號(hào)燈。集成穩(wěn)壓器是指將不穩(wěn)定的直流電壓轉(zhuǎn)換成穩(wěn)定的直流電壓的集成電路。由于集成穩(wěn)壓器具有穩(wěn)壓精度高、工作穩(wěn)定可靠、外圍電路簡單、體積小、重量輕等明

31、顯優(yōu)點(diǎn),已廣泛應(yīng)用于各種電源電路中。電路圖如圖3.8所示:圖 3.8 穩(wěn)壓器電路圖穩(wěn)壓電路的工作原理:7805一體化穩(wěn)壓器是一種常用的一體化穩(wěn)壓器,具有固定的正輸出電壓。輸出電壓為5V。 7805集成了穩(wěn)壓器、采樣放大器等環(huán)節(jié)。其部分包括限流保護(hù)、過熱保護(hù)和過壓保護(hù)。該電路可防止過載,具有較高的穩(wěn)定性和可靠性。采用低噪聲、溫漂小的基準(zhǔn)電壓源,工作穩(wěn)定可靠。 7805是串聯(lián)集成穩(wěn)壓器。 VD3整流,C2濾波,VD4穩(wěn)壓后提供5V。 7805集成穩(wěn)壓器為三端器件:1腳為輸入端,2腳為地端,3腳為輸出端,使用非常方便。它的輸出電壓是固定的,這種固定的電壓輸出極大地限制了它的應(yīng)用范圍,也使得它的功能在

32、適用范圍內(nèi)更加穩(wěn)定,所以在本設(shè)計(jì)電路中選用了它。3.4.5關(guān)鍵電路圖 3.9 按鈕電路圖首先,當(dāng)外部中斷0出現(xiàn)低電平時(shí),產(chǎn)生中斷0,可以通過中斷0處理數(shù)據(jù),只有在外部中斷0端為高電平時(shí)才能恢復(fù)中斷。在外部按鍵電路中,R1為上拉電阻,起限流作用,當(dāng)按下觸發(fā)時(shí), MCU管腳變?yōu)榈碗娖?,定時(shí)器0開始工作,松開觸發(fā)按鍵,外部中斷 0 始終為低電平,直到再次手動(dòng)按下觸發(fā)才完成中斷。在此期間,CPU一直在不斷地檢測。當(dāng)檢測到低電平時(shí),啟動(dòng)中斷。當(dāng)檢測到高電平時(shí),中斷結(jié)束,繼續(xù)執(zhí)行主程序。電路圖如 3.9 所示。3.4.6外部二極管電路該設(shè)計(jì)使用發(fā)光二極管來模擬交通信號(hào)燈。發(fā)光二極管(LED)具有發(fā)光亮度高

33、、色彩鮮艷奪目、電光轉(zhuǎn)換效率高、功耗低、壽命長、響應(yīng)時(shí)間快等優(yōu)點(diǎn)。電壓2V左右,電流10mA左右。為了保證電流和電壓的穩(wěn)定,電路中還有穩(wěn)壓塊。由于7805輸出5V電壓,二極管分壓器一般為2V為普通發(fā)光二極管的正向?qū)妷?,工作電流?0mA,所以電阻分壓器為3V,R1=( 5 V- 2 V)/ 10 mA = 300歐姆,串聯(lián)分壓電阻可以是300歐姆3.5 電路圖設(shè)計(jì)圖 3.10 硬件電路圖本設(shè)計(jì)以MCS-51系列單片機(jī)AT89S51為中心器件設(shè)計(jì)紅綠燈控制器,實(shí)現(xiàn)根據(jù)P1路實(shí)際交通流量設(shè)置紅綠燈時(shí)間的功能。 8051芯片的端口; 5s黃燈閃爍警告(紅綠燈信號(hào)通過P1口輸出,P3口為復(fù)位鎖存器

34、)。本系統(tǒng)以8051單片機(jī)為核心,加上相應(yīng)的驅(qū)動(dòng)電路,數(shù)碼管顯示,紅黃綠紅綠燈顯示,當(dāng)單片機(jī)計(jì)數(shù)器到達(dá)時(shí)完成路口交通狀態(tài)的轉(zhuǎn)換。指定的值(如圖 3.10 所示)。節(jié)目)。為什么還有空白頁為什么還有空白頁4. 軟件設(shè)計(jì)4.1 編程的思想和方法考慮到所編寫的程序必須可靠使用,而編程思想和方法的好壞將直接影響程序的執(zhí)行效率,本設(shè)計(jì)采用以下思想和方法:采用中斷技術(shù)和邊沿觸發(fā)技術(shù),大大增強(qiáng)了系統(tǒng)的實(shí)時(shí)處理能力,節(jié)約了系統(tǒng)成本;采用89S51單片機(jī)定時(shí)系統(tǒng)控制時(shí)間,實(shí)現(xiàn)工作過程的自動(dòng)化,從而降低運(yùn)行成本,簡化操作過程,提高系統(tǒng)的自動(dòng)化程度;外部中斷0設(shè)置為高優(yōu)先級(jí),可以有效保證發(fā)生緊急情況時(shí),系統(tǒng)能夠及時(shí)

35、處理;通過程序指令的優(yōu)化來保證系統(tǒng)軟件的執(zhí)行效率。4.2.軟件延遲原理MCS-51的工作頻率為12HZ,機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的1倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12MHZ)=1us。我們可以知道每條指令的周期數(shù),這樣我們就可以通過執(zhí)行的指令數(shù)來確定1S的時(shí)間,但同時(shí)由于單片機(jī)的運(yùn)行速度快,其他的執(zhí)行時(shí)間可以忽略不計(jì)。4.3 軟件主題它應(yīng)該是一個(gè)特定的設(shè)計(jì)。此外,您還可以添加key jitter、delay process等程序的設(shè)計(jì)流程,豐富您的設(shè)計(jì)。設(shè)計(jì)它應(yīng)該是一個(gè)特定的設(shè)計(jì)。此外,您還可以添加key jitter、delay process等程序的設(shè)計(jì)流程,豐富您的設(shè)

36、計(jì)。4.3.1主要框圖子程序的調(diào)用是主程序的基本任務(wù)。一個(gè)主程序可以調(diào)用多個(gè)子程序。對于89S51單片機(jī)來說,主程序是一個(gè)無限循環(huán)的過程,即反復(fù)調(diào)用子程序的過程。主程序采用查詢方式定時(shí),調(diào)用0.5s延時(shí)子程序的次數(shù)由R2寄存器決定,從而獲得各種紅綠燈時(shí)間。該子程序采用定時(shí)器1方式1查詢定時(shí),定時(shí)器定時(shí)為50S。 R3寄存器確定50S周期10次,從而得到0.5S的延遲時(shí)間,從而滿足控制系統(tǒng)的設(shè)計(jì)要求,A路放行,B路禁止60S,包括5S預(yù)警時(shí)間(綠燈閃爍3S,黃燈閃爍2S),B路釋放,A路禁止30S,包括5S警告時(shí)間(綠燈閃爍3S,黃燈閃爍2S),如果沒有完成中斷請求,循環(huán)繼續(xù)。延時(shí)延時(shí)2sB黃燈

37、 A紅燈延時(shí)25sB綠燈閃爍3次A紅燈 B綠燈A綠燈 B紅燈延時(shí)55s綠燈閃3次初始化開始延時(shí)2s圖 3.10 主程序框圖4.3.2主程序設(shè)計(jì)組織機(jī)構(gòu) 0000H;LJMP MAIN ;轉(zhuǎn)到主程序組織機(jī)構(gòu) 0003HLJMP INTTO;轉(zhuǎn)向緊急車輛終端中斷服務(wù)程序組織機(jī)構(gòu) 0013H主要程序是:主:MOV SP,#30H;設(shè)置堆棧指針SETB PX0;設(shè)置外部中斷 0 為高優(yōu)先級(jí)中斷MOV TCON, #00H ;設(shè)置外部中斷0,1為電平觸發(fā)移動(dòng) TMOD, #10H ;將定時(shí)器 1 設(shè)置為模式 1移動(dòng)IE,#85H;打開CPU中斷,打開外部中斷0、1中斷循環(huán):MOV P1,# 0F3H ;

38、 A車道綠燈放行,B車道紅燈禁止移動(dòng) R1, #110 ;設(shè)置 0.5s 循環(huán)時(shí)間 (0.5X110=55s)DIP1:呼叫延遲;調(diào)用0.5s延時(shí)子程序DJNZ R1,DIP1; 55s內(nèi)繼續(xù)循環(huán)移動(dòng) R1,#06 ;設(shè)置A綠燈閃爍循環(huán)次數(shù)WAN1:CPL P1.2;綠燈閃爍呼叫延遲DJNZ R1,WAN1 ;未達(dá)到閃爍次數(shù),循環(huán)繼續(xù)MOV P1,# 0F5H ; A黃燈警告,B紅燈禁止MOV R1,#04H ;設(shè)置 0.5s 循環(huán)時(shí)間 (1.5X4=2s)YL1:呼叫延遲DJNZ R1, YL1; 2s還沒有繼續(xù)循環(huán)MOV P1, #0DEH ; A紅燈,B綠燈移動(dòng) R1,#32H ;設(shè)置

39、0.5s 循環(huán)時(shí)間 (0.5X50=25s)DIP2:呼叫延遲DJNZ R1,DIP2; 25s 還沒有繼續(xù)循環(huán)MOV P1,#06HWAN2:CPL P1.5; B 綠燈閃爍呼叫延遲DJNZ R1,WAN2移動(dòng) P1, #02EH ; A紅燈,B黃燈MOV R1,#04HYL2:呼叫延遲DJNZ R1, YL2AJMP 循環(huán);循環(huán)主程序延遲:MOV R3,#0AH; 0.5s子程序(50msX10=0.5s)移動(dòng) TH1, #3CH ;設(shè)置 50ms 初始值 x=3CB0HMOV TL1,#0B0HSETB TR1;開始 T1LP1:C TF1,LP2;搜索計(jì)數(shù)溢出SJMP LP1LP2:

40、移動(dòng) TH1, #3CH ;設(shè)置 50ms 初始值 x=3CB0HMOV TL1,#0B0HDJNZ R3,LP1RET4.3.3中斷框圖中斷子程序的主要任務(wù)是:當(dāng)有緊急車輛經(jīng)過時(shí),中斷服務(wù)程序也需要保護(hù)現(xiàn)場,調(diào)用延遲子程序和P1端口,但不需要關(guān)閉中斷,因?yàn)樗且粋€(gè)高電平-優(yōu)先中斷,然后執(zhí)行相應(yīng)的中斷服務(wù),每發(fā)生0.5mS定時(shí)器中斷,程序跳轉(zhuǎn)到中斷服務(wù)程序INTT0開始執(zhí)行。中斷服務(wù)程序一次將定時(shí)器中斷計(jì)數(shù)變量減 1。當(dāng)定時(shí)器中斷中的value變量為0時(shí),0.5S定時(shí)時(shí)間到,位變量SECOND_FLAG置1。定時(shí)器中斷服務(wù)通過RETI指令返回,程序會(huì)跳轉(zhuǎn)到中斷前的斷點(diǎn)繼續(xù)執(zhí)行。交通信號(hào)出現(xiàn)后延

41、遲20s,確保應(yīng)急車輛通過路口,然后恢復(fù)場景,返回主程序。保護(hù)現(xiàn)場保護(hù)現(xiàn)場中斷響應(yīng)A紅燈,B紅燈恢復(fù)現(xiàn)場返回CPU檢測是否為低電平圖 4.2 中斷框圖4.3.4中斷子程序設(shè)計(jì)INTT0:推P1; P1端口數(shù)據(jù)推送堆棧保護(hù)推 TH1; TH1 推棧保護(hù)推 TL1; TL1 推棧保護(hù)MOV P1,# 0F6H; A、B通道均為紅燈移動(dòng) R2,#40 ;設(shè)置0.5s周期初始值(20s)DEY0:呼叫延遲DJNZ R2,DEY0 ; 20 秒前繼續(xù)循環(huán)流行音樂 TL1;彈出?;謴?fù)場景流行音樂 TH1POP P1視網(wǎng)膜病變;返回主程序4.3.5中斷介紹主題不完整,中斷和定時(shí)器的介紹應(yīng)該穿插在你的程序流程

42、設(shè)計(jì)過程中,而不是單獨(dú)的部分。這相當(dāng)于將相應(yīng)的技術(shù)集成到您的設(shè)計(jì)中。和使用主題不完整,中斷和定時(shí)器的介紹應(yīng)該穿插在你的程序流程設(shè)計(jì)過程中,而不是單獨(dú)的部分。這相當(dāng)于將相應(yīng)的技術(shù)集成到您的設(shè)計(jì)中。所謂中斷,是指計(jì)算機(jī)在執(zhí)行程序的過程中,當(dāng)出現(xiàn)某種情況,比如緊急情況或其他情況時(shí),服務(wù)對象向CPU發(fā)出中斷請求信號(hào),請求CPU暫時(shí)中斷當(dāng)前程序的執(zhí)行,轉(zhuǎn)為執(zhí)行相應(yīng)的加工程序,加工程序完成后,返回繼續(xù)執(zhí)行原來中斷的程序。外部中斷有兩種,電平觸發(fā)和邊沿觸發(fā),分別由特殊功能計(jì)數(shù)器TCON 中的IT0 和IT1 控制。 TCON 與中斷控制和定時(shí)器控制有關(guān)。特殊功能寄存器 TCON 的地址為 88H,可按位尋址

43、。每個(gè)位都有對應(yīng)的位地址,其格式如表 4.1 所示:表 4.1 TCON 位位格式TCON(88H) D7 D6 D5 D4 D3 D2 D1 D0位地址8FH8EH8DH8通道8BH8AH89H88H功能TF1TR1TF0TR0IE1IT1IE0IT0IT0=0(IT1=1)時(shí), ( )為低電平觸發(fā)方式。 CPU在每個(gè)機(jī)器周期中采樣( )。一旦檢測到P3.2引腳為低電平,則認(rèn)為有中斷請求,將IE0(IE1)置“1”向CPU申請中斷。本設(shè)計(jì)使用外部中斷 0,即.4.3.6定時(shí)器/計(jì)數(shù)器簡介單片機(jī)的定時(shí)器/計(jì)數(shù)器模塊由定時(shí)器0、定時(shí)器1、定時(shí)器模式寄存器TMOD和定時(shí)器控制寄存器TCON組成。

44、Timer 0 和 Timer 1 實(shí)際上是兩個(gè) 16 位的加法計(jì)數(shù)器,分別由兩個(gè) 8 位的特殊功能寄存器組成。定時(shí)器/計(jì)數(shù)器 T0 的輸入脈沖周期與機(jī)器周期相同,為振蕩頻率的 1/12。本設(shè)計(jì)的時(shí)鐘頻率為 12MHZ。現(xiàn)在要使用中斷方法實(shí)現(xiàn)0.5S延遲,在定時(shí)器0中設(shè)置一個(gè)定時(shí)器。時(shí)間常數(shù)使其每0.5S產(chǎn)生一次中斷。 CPU響應(yīng)中斷后,R0中的計(jì)數(shù)值減1,R0=0AH,即實(shí)現(xiàn)0.5S延時(shí)。如果 T0 的工作模式設(shè)置為工作模式 1,則 T0 的初始值為 3CB0H,即由 MOV TH0,#3CH 和 MOV TL0,#0B0H 指令分配初始值。工作模式寄存器 TMOD(1) TMOD的地址為8

45、9H,用于設(shè)置T0和T1的工作模式。無位地址 地址不能按位尋址,只能通過字節(jié)指令設(shè)置。復(fù)位時(shí),TMOD 的所有位都是“ ” 0”。其格式如表 6 表 4.2 TMOD 位位格式TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D0功能門C/M1M0門C/M1M0定時(shí)器 T1定時(shí)器 T0TMOD的低4位為T0工作模式字段,高4位為T1工作模式字段,含義完全相同。M0和M1的工作模式選擇位對應(yīng)關(guān)系如表4.3所示:表4.3 M1. M2 M1 0 M工作方式功能說明0 0方式 013 位計(jì)數(shù)器0 1方式116 位計(jì)數(shù)器1 0方式2自動(dòng)重載計(jì)數(shù)器初值,8位計(jì)數(shù)器1 1方式3定時(shí)器 T0;分

46、為兩個(gè) 8 位計(jì)數(shù)器。定時(shí)器 T1,停止計(jì)數(shù)(2) C/功能選擇位。 C/ =0 為選擇計(jì)時(shí)模式,C/ =1 為外部事件計(jì)數(shù)模式。(3) GATE門控位TR0或TR1啟動(dòng)計(jì)數(shù)器T0或T1; GATE=1,允許通過外部引腳(P3.2)、TR0 或(P3.3)、TR1 啟動(dòng)計(jì)數(shù)器,并控制 T0 或 T1 的操作。TCON的地址為88H,有地址位,可以位尋址。用于存放定時(shí)器的溢出標(biāo)志TF0、TF1和定時(shí)器的啟??刂莆籘R0、TR1。復(fù)位時(shí),TCON 的所有位都是“ ” 0”。其格式如表 4.4S 表 4.4 TCON 位位格式位地址8FH8EH8DH8通道8BH8AH89H88H功能TF1TR1TF

47、0TR0IE1IT1IE0IT0在本設(shè)計(jì)中,定時(shí)器選擇為工作模式1,即當(dāng)M1和M2的兩位為01時(shí),模式1和模式0的區(qū)別僅在于計(jì)數(shù)器的位數(shù)。時(shí)鐘時(shí)序常數(shù)的確定定時(shí)器/計(jì)數(shù)器最常見的用途是部分定時(shí)和外部計(jì)數(shù)。定時(shí)持續(xù)時(shí)間與加載到 TH0 和 TL0 中的常數(shù)有關(guān)。時(shí)間常數(shù)TC的計(jì)算公式為:t=12/f( -TC)本設(shè)計(jì)中電子時(shí)鐘的中斷時(shí)序?yàn)?0mS,因?yàn)槟M晶振的頻率選擇為12MHZ,使用定時(shí)器T0工作模式1。模式 1 為 16 位計(jì)數(shù)器,其計(jì)時(shí)時(shí)間為TC= t*f/12 公式(1)取晶振頻率為12MHZ,即第6行,f=12MHZ,t=50mS=50000 Us ,根據(jù)公式(1)那么時(shí)序常數(shù)為TC

48、= 50000 12/12=15536=3CB0H,即TH0=3CH,TL0=0B0H。5.仿真調(diào)試單片機(jī)系統(tǒng)的硬件調(diào)試和軟件調(diào)試不能分開。很多硬件錯(cuò)誤是在軟件調(diào)試過程中發(fā)現(xiàn)并糾正的,但通常是在排除了明顯的硬件故障后,再結(jié)合軟件進(jìn)行調(diào)試,進(jìn)一步排除故障??梢娪布{(diào)試是基礎(chǔ)。如果硬件調(diào)試沒有通過軟件設(shè)計(jì),就無法啟動(dòng)。硬件的調(diào)試主要是調(diào)整電路的各種參數(shù)以滿足設(shè)計(jì)要求。首先排除硬件電路故障,包括設(shè)計(jì)錯(cuò)誤和工藝故障。大體原理是用萬用表或邏輯測試儀檢查電路各元件是否與引腳正確連接,是否有短路故障。5.1。硬件調(diào)試:硬件調(diào)試是利用DVCC實(shí)驗(yàn)和單片機(jī)開發(fā)系統(tǒng)、基本測試儀器等(電壓表、電流表、示波器)來檢查

49、設(shè)計(jì)系統(tǒng)硬件中存在的故障。硬件調(diào)試可以分為兩個(gè)步驟:靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試。靜態(tài)調(diào)試是設(shè)計(jì)系統(tǒng)不工作時(shí)的硬件測試。第 1 步:目視檢查。檢查各種外部元件或電路是否有斷點(diǎn)。第二步是用萬用表測試。先用萬用表目測檢查有問題的連接點(diǎn),再檢查各條電源線與地線是否短路。第三步是開機(jī)檢測。給電路板加電并檢查設(shè)備的所有插座或電源端子是否符合要求值。第四步,上網(wǎng)查。因?yàn)橹挥信浜蠁纹瑱C(jī)開發(fā)系統(tǒng)才能完成用戶系統(tǒng)的調(diào)試。動(dòng)態(tài)調(diào)試是一種硬件檢查,用于在用戶系統(tǒng)工作時(shí)發(fā)現(xiàn)并排除用戶系統(tǒng)硬件中存在的設(shè)備故障和設(shè)備連接邏輯錯(cuò)誤。動(dòng)態(tài)調(diào)試的一般方法是從近到遠(yuǎn),從分到近。從劃分到關(guān)閉是指首先將用戶系統(tǒng)的硬件電路按照邏輯功能劃分為若干

50、塊。調(diào)試電路時(shí),將所有與組件無關(guān)的設(shè)備從用戶系統(tǒng)中移除,從而將故障限制在本地電路上。優(yōu)越的。當(dāng)每塊電路無故障時(shí),將每塊電路逐塊添加到系統(tǒng)中,并調(diào)試每塊電路的功能和電路之間可能的互連。從拆分到關(guān)閉的調(diào)試就完成了。從近到遠(yuǎn),就是按照與單片機(jī)的邏輯距離對信號(hào)流經(jīng)的各個(gè)器件進(jìn)行分層,然后逐層調(diào)試。調(diào)試時(shí)仍采用剔除無關(guān)組件的方法,通過逐層調(diào)試定位故障組件。但是由于時(shí)間關(guān)系,很遺憾本設(shè)計(jì)只提供了硬件調(diào)試方案,沒有進(jìn)行實(shí)際仿真。但是,在進(jìn)行了詳細(xì)的軟件仿真之后,以后有機(jī)會(huì)就必須進(jìn)行這種設(shè)計(jì)的硬件仿真。5.2 軟件調(diào)試:軟件調(diào)試是通過對程序的組裝、鏈接和執(zhí)行,找出程序中存在的語法錯(cuò)誤和邏輯錯(cuò)誤,并排除和糾正的

51、過程。本設(shè)計(jì)使用keil軟件進(jìn)行仿真。 MCU開發(fā)軟件在不斷開發(fā)。 Keil 軟件是目前最流行的開發(fā) MCS-51 系列 MCU 的軟件。它提供了完整的開發(fā)解決方案,包括 C 編譯器、宏程序集、鏈接器、庫管理和強(qiáng)大的仿真器。 ,它通過集成開發(fā)環(huán)境 (uVision) 將這些部分組合在一起。本設(shè)計(jì)使用KeilC51與proteus連接實(shí)現(xiàn)軟件仿真。之所以選擇KeilC51開發(fā)系統(tǒng),是因?yàn)樗哂猩赡繕?biāo)代碼效率高、大多數(shù)語句生成的匯編代碼緊湊、易于理解等優(yōu)點(diǎn),更適合大型軟件的開發(fā)。體現(xiàn)高級(jí)語言的優(yōu)勢。5.2.1Keil C51開發(fā)系統(tǒng)基礎(chǔ)知識(shí)(一)系統(tǒng)概述Keil C51是美國Keil Softw

52、are公司生產(chǎn)的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng)。匯編語言在功能、結(jié)構(gòu)、可讀性和可維護(hù)性等方面優(yōu)勢明顯,易于學(xué)習(xí)和使用。Keil C51軟件提供豐富的庫函數(shù)和強(qiáng)大的集成開發(fā)調(diào)試工具,具有全Windows界面。還有一點(diǎn)很重要,只要看一下編譯后生成的匯編代碼,就可以發(fā)現(xiàn)Keil C51生成的目標(biāo)代碼非常高效,大部分語句生成的匯編代碼緊湊易懂。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分的功能和使用。( 2 ) Keil C51單片機(jī)軟件開發(fā)系統(tǒng)整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu)如圖(1)所示,其中uVision和Ishell分別是C51 for Windows

53、和Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、鏈接的整個(gè)開發(fā)過程、調(diào)試和仿真。 .開發(fā)人員可以使用 IDE 本身或其他編輯器編輯 C 或匯編源文件。然后,編譯 C51 和 A51 編譯器以生成目標(biāo)文件 (.OBJ)。目標(biāo)文件可以通過LIB51創(chuàng)建生成庫文件,也可以通過L51連接定位與庫文件連接生成絕對目標(biāo)文件(.ABS)。 ABS文件由OH51轉(zhuǎn)換為標(biāo)準(zhǔn)Hex文件,可供調(diào)試器dScope51或tScope51進(jìn)行源碼級(jí)調(diào)試,也可用于仿真器直接調(diào)試目標(biāo)板,也可直接寫入程序存儲(chǔ)器如 EPROM。使用獨(dú)立 Keil 模擬器時(shí)的注意事項(xiàng)仿真器標(biāo)配11.0592MHz晶振,但用戶可以在仿真器的晶

54、振插孔中更換其他頻率的晶振。本設(shè)計(jì)采用 12MHZ 晶振。仿真器上的復(fù)位按鈕只復(fù)位仿真器芯片,而不是目標(biāo)系統(tǒng)。仿真芯片的31腳(/EA)已經(jīng)接高電平,所以只能使用片內(nèi)ROM進(jìn)行仿真,不能使用片外ROM;但仿真器外部引腳中的31 引腳沒有連接到仿真芯片的31 引腳。 ,所以仿真器仍然可以插入到擴(kuò)展了外部ROM的目標(biāo)系統(tǒng)中(其CPU的/EA引腳接低電平)。軟件調(diào)試的具體步驟在proteus軟件中繪制電路圖,在Keil C51中編譯設(shè)計(jì)程序并生成可執(zhí)行文件;連接proteus和Keil C51,調(diào)用程序進(jìn)行仿真。仿真各步驟的顯示狀態(tài)和仿真結(jié)果如下圖組所示:允許,禁止 B道5.1 A圖 5.2 B 車

55、道保持紅燈,A 車道黃燈警告禁止,允許B車道5.3 A禁止車道保持,車道 B 警告5.4 圖 5.5 按下緊急按鈕 K0,A 和 B 都禁止六、實(shí)驗(yàn)結(jié)論與總結(jié)經(jīng)驗(yàn)6.1 設(shè)計(jì)結(jié)論交通信號(hào)燈控制在交通領(lǐng)域起著非常重要的作用。本設(shè)計(jì)完成了基于單片機(jī)的紅綠燈控制系統(tǒng)的設(shè)計(jì)與仿真,包括交通方案設(shè)計(jì)、系統(tǒng)硬件設(shè)計(jì)、軟件編程和仿真調(diào)試。在設(shè)計(jì)過程中,要完成的主要工作有:確定具體的紅綠燈系統(tǒng)交通方案,明確南北主車道B方向和東西B副車道B方向車輛的行駛狀態(tài)和時(shí)間分配,實(shí)現(xiàn)兩邊紅燈的實(shí)現(xiàn)通過緊急車輛時(shí)的道路 A 和 B。系統(tǒng)硬件設(shè)計(jì)以ATMEL公司的AT89S51單片機(jī)為核心。如果有緊急車輛經(jīng)過,手動(dòng)按下緊急電

56、路按鈕,CPU會(huì)不斷檢測到,如果輸入信號(hào)為低則轉(zhuǎn)中斷程序,即在兩個(gè)路口都設(shè)置紅燈,直到緊急車輛安全通過,向微控制器輸入高電平,轉(zhuǎn)為正常交通秩序。系統(tǒng)軟件采用匯編語言編寫,在開發(fā)過程中盡量與Keil軟件對接proteus進(jìn)行仿真,使得編寫和調(diào)試非常簡單易行。6.2 總結(jié)經(jīng)驗(yàn)本系統(tǒng)以單片機(jī)AT89 S 51芯片為核心部件,通過AT89 S 51芯片實(shí)現(xiàn)根據(jù)實(shí)際交通流量設(shè)置紅綠燈亮燈時(shí)間的功能。這一次,我們在軟件上花了很多時(shí)間。我們在網(wǎng)上搜索資料,去圖書館,盡可能多地了解紅綠燈。在硬件仿真方面,由于時(shí)間關(guān)系,無法對實(shí)物進(jìn)行仿真,但給出了完整的假設(shè)和具體步驟。通過這個(gè)畢業(yè)設(shè)計(jì):了以前的序號(hào)不能用章號(hào),可以用帶括號(hào)的數(shù)字全面系統(tǒng)的鍛煉,使原有的理論知識(shí)付諸具體實(shí)踐。以前的序號(hào)不能用章號(hào),可以用帶括號(hào)的數(shù)字在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程、掌握常用的編程和設(shè)計(jì)思維技巧(尤其是匯編語言編輯)方面,我都進(jìn)步了一步。在軟硬件仿真方面,在一定程度上了解了Keil C51單片機(jī)開發(fā)環(huán)境的功能特點(diǎn)和使用方法,并進(jìn)行了仿真。通過老師對設(shè)計(jì)思維的指導(dǎo),我制定了一個(gè)總點(diǎn)-通用的設(shè)計(jì)討論描述結(jié)構(gòu),把我的設(shè)計(jì)展示的更加清晰完整。參考1

溫馨提示

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

評論

0/150

提交評論