基于車流量的智能交通燈控制系統(tǒng)的設(shè)計(jì)--畢業(yè)設(shè)計(jì).doc_第1頁(yè)
基于車流量的智能交通燈控制系統(tǒng)的設(shè)計(jì)--畢業(yè)設(shè)計(jì).doc_第2頁(yè)
基于車流量的智能交通燈控制系統(tǒng)的設(shè)計(jì)--畢業(yè)設(shè)計(jì).doc_第3頁(yè)
基于車流量的智能交通燈控制系統(tǒng)的設(shè)計(jì)--畢業(yè)設(shè)計(jì).doc_第4頁(yè)
基于車流量的智能交通燈控制系統(tǒng)的設(shè)計(jì)--畢業(yè)設(shè)計(jì).doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余45頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)課 題 名 稱 基于車流量的智能交通燈控制系統(tǒng)的設(shè)計(jì) 此設(shè)計(jì)還有原理圖和仿真圖,有需要的朋友下載了文檔后留下你的郵箱,方便我傳給你。摘要隨著現(xiàn)代社會(huì)對(duì)交通運(yùn)輸?shù)娜遮呉蕾?,交通燈成為了人們生活中不可或缺的一部分。傳統(tǒng)的交通燈控制系統(tǒng)雖然在一定程度上可以滿足指揮路口交通的需要,但隨著城市規(guī)模的不斷擴(kuò)大,原有的交通燈控制系統(tǒng)已經(jīng)表現(xiàn)出明顯的缺點(diǎn):紅綠燈時(shí)間相對(duì)固定,不能伴隨車流量的改變而調(diào)整紅綠燈的顯示時(shí)間。本論文以中、小城市區(qū)域交通控制為研究對(duì)象,以交通工程基本理論為基礎(chǔ),結(jié)合當(dāng)前的單片機(jī)應(yīng)用技術(shù),對(duì)智能交通燈控制系統(tǒng)進(jìn)行了分析和研究。文章論述了基于AT89C51單片機(jī)的交通燈控制系統(tǒng),該系統(tǒng)能根據(jù)路口車流量變化而改變交通燈閃亮?xí)r間,達(dá)到智能控制交通的目的。該系統(tǒng)具有實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性好等特點(diǎn)。關(guān)鍵詞:車流量;交通燈;智能控制IABSTRACTWith increasing reliance on transportation in modern society,Traffic lights have become an important part in pepoles daily lives. To some extent, traditional traffic control systems can meet the needs of the traffic junction, however, with the continuous expansion of city scale, the traditional traffic lights control systems have showed obvious shortcomings: a relatively fixed display time of traffic lights, which can not change as the different traffic flow at the crossing. In this thesis, according to basic traffic engineering theory, combined with current technology and application of microcotroller, which does detai analysis and research on intelligent traffic lights control system. This article discusses traffic lights control systems based on AT89C51 microcontroller, which can display different time of traffic lights in accordance with the actual traffic flow, and achieve the purpose of intelligent control of traffic.Key words:Traffic flow; Traffic lights; Intelligent control目 錄摘要IABSTRACTII目錄1第1章 緒論11.1 交通燈控制系統(tǒng)的發(fā)展11.2 課題研究的背景11.3 課題研究的主要內(nèi)容21.4 課題研究方案21.5 課題研究的意義5第2章 單元電路設(shè)計(jì)62.1 單片機(jī)概述62.2 光電開(kāi)關(guān)概述102.3 ULN2003芯片簡(jiǎn)介122.4 七段數(shù)碼管132.5 電源電路設(shè)計(jì)142.6 系統(tǒng)設(shè)計(jì)15第3章 程序設(shè)計(jì)173.1 軟件可靠性設(shè)計(jì)173.2 主程序流程圖183.3 中斷程序流程圖193.4 匯編程序設(shè)計(jì)19第4章 系統(tǒng)仿真與調(diào)試244.1 系統(tǒng)仿真244.2 系統(tǒng)調(diào)試29第5章 PCB制作305.1 PCB布局規(guī)則設(shè)置305.2 PCB布線規(guī)則設(shè)置315.3 轉(zhuǎn)印325.4 蝕刻325.5 元器件的安裝與焊接33總結(jié)35參考文獻(xiàn)36致謝37附錄I 系統(tǒng)總的原理圖38附錄II PCB頂層版圖39附錄III PCB底層版圖40附錄IV 元器件清單41 2邵陽(yáng)學(xué)院畢業(yè)設(shè)計(jì)(論文)第1章 緒論1.1 交通燈控制系統(tǒng)的發(fā)展1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1914年,電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó)。這種紅綠燈由紅綠黃三色圓形的投光器組成,裝在紐約5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)道路交通和道路標(biāo)志信號(hào)協(xié)定對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過(guò)停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。1.2 課題研究的背景隨著城市機(jī)動(dòng)車輛的不斷增加,許多大城市出現(xiàn)了交通超負(fù)荷運(yùn)行的情況。因此,自80年代后期,這些城市紛紛修建城市高速道路,在高速道路建設(shè)完成的初期,它們也曾有效地改善了交通狀況。然而,隨著交通量的快速增長(zhǎng)和缺乏對(duì)高速道路的系統(tǒng)研究和控制。高速道路沒(méi)有充分發(fā)揮出預(yù)期的作用。而城市高速道路在構(gòu)造上的特點(diǎn),也決定了城市高速道路的交通狀況必然受高速道路與普通道路耦合處交通狀況的制約。所以,如何采用合適的控制方法,最大限度利用好耗費(fèi)巨資修建的城市高速道路。緩解主干道與匝道、城區(qū)同周邊地區(qū)的交通擁堵?tīng)顩r,越來(lái)越成為交通運(yùn)輸管理和城市規(guī)劃部門亟待解決的主要問(wèn)題。目前,國(guó)內(nèi)大部分中小城市仍采用傳統(tǒng)的交通燈控制模式,但隨著城市的不斷發(fā)展,基于車流量的智能交通燈控制系統(tǒng)必將受到廣大人民的青睞。傳統(tǒng)的交通信號(hào)燈,通常采用定時(shí)分配方式控制,主要存在三方面的缺陷:(1)車道放行車輛時(shí),十字路口經(jīng)常出現(xiàn)不同相位上車輛放行時(shí)問(wèn)相同,車輛多的一方容易出現(xiàn)車輛堆積,造成下一路口的交通阻塞;(2)當(dāng)某相位上無(wú)車時(shí),恰好是該相位上的車輛通行時(shí)間,則在這段時(shí)間內(nèi),就出現(xiàn)了交通指揮盲點(diǎn);(3)當(dāng)一路口車流量很大時(shí),不能夠自動(dòng)延長(zhǎng)口的綠燈時(shí)間,導(dǎo)致在一個(gè)周期內(nèi)此路口的車輛不能完全通過(guò)。為了更好的解決上述問(wèn)題,本系統(tǒng)利用傳感器檢測(cè)車流量狀態(tài),用單片機(jī)AT89C51對(duì)路口車流量進(jìn)行統(tǒng)計(jì),并執(zhí)行相應(yīng)的處理程序,來(lái)實(shí)現(xiàn)智能交通燈控制系統(tǒng),達(dá)到了根據(jù)車流量大小實(shí)時(shí)控制路口的通行情況。該交通系統(tǒng)的設(shè)計(jì)具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低、實(shí)時(shí)性好、安裝維護(hù)方便等優(yōu)點(diǎn),具有廣泛的應(yīng)用前景。1.3 課題研究的主要內(nèi)容本課題研究的內(nèi)容有如下幾個(gè)方面:(1)基于車流量的智能交通燈控制系統(tǒng)的工作原理。(2)基于車流量的智能交通燈控制系統(tǒng)的硬件設(shè)計(jì)。(3)車流量檢測(cè)原理及其硬件電路設(shè)計(jì)。(4)基于車流量的智能交通燈控制系統(tǒng)的程序設(shè)計(jì)。1.4 課題研究方案1.4.1 系統(tǒng)總體方案通過(guò)對(duì)課題研究?jī)?nèi)容的理解,并考慮系統(tǒng)的性價(jià)比,得到系統(tǒng)的總體方案。紅綠燈顯示模塊數(shù)碼管顯示模塊車流量檢測(cè)信號(hào)AT89C51單片機(jī)電源模塊圖1.1 系統(tǒng)方框圖1.4.2 車流量檢測(cè)方案方案一:采用遙感微波檢測(cè)器(RTMS)。微波交通檢測(cè)器是利用雷達(dá)線性調(diào)頻技術(shù)原理,通過(guò)發(fā)射中心頻率為10.525GHz或24.200GHz的連續(xù)頻率調(diào)制微波(FMCW);在檢測(cè)路面上,投映一個(gè)寬度為3-4米,長(zhǎng)度為64米的微波帶。每當(dāng)車輛通過(guò)這個(gè)微波投映區(qū)時(shí),都會(huì)向RTMS反射一個(gè)微波信號(hào),RTMS接收反射的微波信號(hào),并計(jì)算接收頻率和時(shí)間的變化參數(shù)以得出車輛的速度及長(zhǎng)度,提供車流量、道路占有率、速度和車型等實(shí)時(shí)信息。為了檢測(cè)出車道上車的數(shù)量,RTMS在微波束的發(fā)射方向上以2M為一個(gè)層面分展探測(cè)物體,微波束在15度范圍內(nèi)投影形成一個(gè)分為32個(gè)十層面的橢圓形波束,(橢圓的寬度取決于儀器選擇的工作方式),通過(guò)這種方式可檢測(cè)出車量數(shù)RTMS具有兩種基本的使用模式,分別是路邊側(cè)向模式和前方正向模式。路邊側(cè)向模式可以使用一臺(tái)RTMS同時(shí)檢測(cè)多至8條車道,并提供每條車道的交通信息。前方正向模式,用一臺(tái)RTMS實(shí)時(shí)檢測(cè)一條單一車道的交通情況。RTMS的檢測(cè)精度高,且是一個(gè)全天候的車輛檢測(cè)器。方案二:采用磁感應(yīng)車輛檢測(cè)器.這種環(huán)形線圈檢測(cè)器是傳統(tǒng)的交通檢測(cè)器,是目前世界上用量最大的一種檢測(cè)設(shè)備。這些埋設(shè)在道路表面下的線圈可以檢測(cè)到車輛通過(guò)時(shí)的電磁變化進(jìn)而精確地算出交通流量。交通流量是交通統(tǒng)計(jì)和交通規(guī)劃的基本數(shù)據(jù),通過(guò)這些檢測(cè)結(jié)果可以用來(lái)計(jì)算占用率(表征交通密度), 在使用雙線圈模式時(shí)還可以提供速度、車輛行駛方向、車型分類等數(shù)據(jù),這些數(shù)據(jù)對(duì)于交通管理和統(tǒng)計(jì)是極為重要的。原理方框圖如下:環(huán)形檢測(cè)器1環(huán)形檢測(cè)器n自定義總線控制單元調(diào)制解調(diào)器監(jiān)控中心圖1.2 磁檢測(cè)器方框圖該方案測(cè)量精度較好,且性能穩(wěn)定。方案三:利用紅外線車輛檢測(cè)器。紅外線車輛檢測(cè)器是利用被檢測(cè)物對(duì)光束的遮擋或反射,通過(guò)同步回路檢測(cè)物體有無(wú)。物體不限于金屬,所有能反射光線的物體均可被檢測(cè)。光電開(kāi)關(guān)將輸入電流在發(fā)射器上轉(zhuǎn)換為光信號(hào)射出,接收器再根據(jù)接收到的光線的強(qiáng)弱或有無(wú)對(duì)目標(biāo)物體進(jìn)行探測(cè)。如當(dāng)汽車通過(guò)光掃描區(qū)域時(shí),部分或全部光束被遮擋,從而實(shí)現(xiàn)對(duì)車輛數(shù)據(jù)的綜合檢測(cè)。紅外線車輛掃描系統(tǒng)提供了車輛輪廓掃描的解決方案,并提供車輛分離信號(hào),同時(shí)還能夠檢測(cè)掛鉤是否存在及其位置,由于光學(xué)產(chǎn)品的高速響應(yīng),當(dāng)車速低于100公里/小時(shí),系統(tǒng)可對(duì)車輛間距0.3米車輛實(shí)現(xiàn)可靠的分離檢測(cè)并抓取車輛輪廓數(shù)據(jù),當(dāng)車速低于200公里/小時(shí),對(duì)車輛間距0.6米的車輛實(shí)現(xiàn)可靠的分離檢測(cè)并抓取輪廓數(shù)據(jù),系統(tǒng)可自動(dòng)分類超過(guò)100種車型,車輛自動(dòng)分類的準(zhǔn)確率超過(guò)99。常利用光電開(kāi)關(guān)技術(shù)成熟,高速響應(yīng),可輸出豐富的車輛數(shù)據(jù)信息,能可靠檢測(cè)各種特殊車輛??垢蓴_性強(qiáng),不受惡劣氣象條件或物體顏色的影響,安裝簡(jiǎn)便。方案一造價(jià)高,且易受環(huán)境影響,方案二需將檢測(cè)器埋入地底下,對(duì)已建成道路使用不方便。方案三性價(jià)比高,且設(shè)計(jì)簡(jiǎn)單,權(quán)衡利弊,故選用方案三。1.4.3 主控制器選擇方案一:采用數(shù)字電路設(shè)計(jì)。通過(guò)譯碼器,計(jì)數(shù)器,以及555定時(shí)器等組成一個(gè)交通燈控制系統(tǒng),雖然易于實(shí)現(xiàn),但由于涉及的集成數(shù)字芯片較多,且不便于實(shí)現(xiàn)車流量檢測(cè)信號(hào)的輸入,故很難完成系統(tǒng)設(shè)計(jì)任務(wù)。方案二:采用AT89C51單片機(jī)作為主控制器。AT89C51具有兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,便于對(duì)車流量進(jìn)行定時(shí)中斷檢測(cè)。32根I/O線,使其具有足夠的I/O口驅(qū)動(dòng)數(shù)碼管及交通燈。外部存貯器尋址范圍ROM、RAM64K,便于系統(tǒng)擴(kuò)展。其T0,T1口可以對(duì)外部脈沖進(jìn)行實(shí)時(shí)計(jì)數(shù)操作,故可以方便實(shí)現(xiàn)車流量檢測(cè)信號(hào)的輸入。單片機(jī)具有功耗小、速度快、價(jià)格低等優(yōu)點(diǎn),且編程簡(jiǎn)單,故選用方案二。1.4.4 顯示方案選擇該系統(tǒng)要求完成倒計(jì)時(shí)、狀態(tài)燈等顯示功能?;谏鲜鲈?,我們考慮了三種方案:方案一:完全采用數(shù)碼管顯示。這種方案只顯示有限的符號(hào)和數(shù)碼字符,無(wú)法勝任題目要求。方案二:完全采用點(diǎn)陣式LED顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。方案三:采用數(shù)碼管與點(diǎn)陣LED相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用數(shù)碼管與LED燈分別顯示時(shí)間及狀態(tài)信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。權(quán)衡利弊,第三種方案可互補(bǔ)一、二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。1.5 課題研究的意義本文設(shè)計(jì)的交通信號(hào)控制系統(tǒng)既可以用在單個(gè)路口實(shí)現(xiàn)獨(dú)立的智能交通控制功能,也可以多個(gè)單路口系統(tǒng)組建網(wǎng)絡(luò)實(shí)現(xiàn)一個(gè)區(qū)域或者一個(gè)城市的交通協(xié)調(diào)。本系統(tǒng)組網(wǎng)時(shí)需要傳輸?shù)臄?shù)據(jù)量較小,便于組成網(wǎng)絡(luò)結(jié)構(gòu)和遠(yuǎn)距離信息傳輸。所組成的網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,易于維護(hù),運(yùn)行穩(wěn)定。對(duì)基于車流量的智能交通燈控制系統(tǒng)進(jìn)行設(shè)計(jì)目的在于對(duì)所學(xué)知識(shí)的綜合運(yùn)用,將理論知識(shí)與實(shí)際應(yīng)用相結(jié)合?;谲嚵髁康闹悄芙煌艨刂葡到y(tǒng)設(shè)計(jì)意義重大,特別在人口密度集中的中國(guó),它起著更重要的作用。最直接的作用是改善車輛的堵塞狀況,減少車輛的等待時(shí)間,增加單位時(shí)間內(nèi)的通行量,從而解決交通擁擠的問(wèn)題。另外的社會(huì)經(jīng)濟(jì)效益是:減少交通事故的發(fā)生率、人員的死亡率;推動(dòng)相關(guān)產(chǎn)業(yè)的發(fā)展,增加就業(yè)崗位,促進(jìn)社會(huì)經(jīng)濟(jì)的健康發(fā)展;減少能源消耗量,降低環(huán)境污染程度。此設(shè)計(jì)尤其適合中、小城市的十字路口交通控制,具有安裝簡(jiǎn)單,使用方便,價(jià)格實(shí)惠等優(yōu)點(diǎn),毫無(wú)疑問(wèn)具有廣泛的應(yīng)用前景。第2章 單元電路設(shè)計(jì)2.1 單片機(jī)概述2.1.1 單片機(jī)發(fā)展單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過(guò)1、2、3三代發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引腳的多功能化,以及低電壓低功耗。2.1.2 AT89C51單片機(jī)簡(jiǎn)介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能的CMOS 8位微處理器,單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51的內(nèi)部結(jié)構(gòu)圖如下:圖2.1 AT89C51內(nèi)部結(jié)構(gòu)圖AT89C51單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在分別加以說(shuō)明:(1)中央處理器:中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。(2)數(shù)據(jù)存儲(chǔ)器(RAM)89C51內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。(3)程序存儲(chǔ)器(ROM):89C51共有4KB掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。(4)定時(shí)/計(jì)數(shù)器(ROM):89C51有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。(5)并行輸入輸出(I/O)口:89C51共有4組8位I/O口(P0、P1、P2和P3),用于對(duì)外部數(shù)據(jù)的傳輸。(6)全雙工串行口:89C51內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。(7)中斷系統(tǒng):89C51具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。(8)時(shí)鐘電路:89C51內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但89C51單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。AT89C51單片機(jī)的引腳說(shuō)明:MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。其常用封裝形勢(shì)如下: 圖2.2 DIP封裝 圖2.3 PQFP/TQFP封裝 引腳說(shuō)明:Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)89C51通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),及89C51的初始態(tài)。89C51的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,如圖2.4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電期間,此腳可接備用電源,以保證其內(nèi)部RAM的數(shù)據(jù)不丟失1。圖2.4 兩種復(fù)位電路Pin30:AE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,89C51內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的8031,EA端必須接地。在編程時(shí),EA/Vpp腳還需加上21V的編程電壓2。2.2 光電開(kāi)關(guān)概述2.2.1 光電開(kāi)關(guān)的工作原理光電開(kāi)關(guān)(光電傳感器)是光電接近開(kāi)關(guān)的簡(jiǎn)稱,它是利用被檢測(cè)物對(duì)光束的遮擋或反射,由同步回路選通電路,從而檢測(cè)物體有無(wú)的。物體不限于金屬,所有能反射光線的物體均可被檢測(cè)。光電開(kāi)關(guān)將輸入電流在發(fā)射器上轉(zhuǎn)換為光信號(hào)射出,接收器再根據(jù)接收到的光線的強(qiáng)弱或有無(wú)對(duì)目標(biāo)物體進(jìn)行探測(cè)。其工作原理圖如下:圖2.5 光電開(kāi)關(guān)工作原理簡(jiǎn)圖發(fā)送器對(duì)準(zhǔn)目標(biāo)發(fā)射光束,發(fā)射的光束一般來(lái)于半導(dǎo)體光源,發(fā)光二極管(LED)、激光二極管及紅外發(fā)射二極管。光束不間斷地發(fā)射,或者改變脈沖寬度。接收器有光電二極管、光電三極管、光電池組成。在接收器的前面,裝有光學(xué)元件如透鏡和光圈等。在其后面是檢測(cè)電路,它能濾出有效信號(hào)和應(yīng)用該信號(hào)。2.2.2 光電開(kāi)關(guān)的分類光電開(kāi)關(guān)按檢測(cè)方式可分為反射式、對(duì)射式和鏡面反射式三種類型。 對(duì)射式檢測(cè)距離遠(yuǎn),可檢測(cè)半透明物體的密度(透光度)。反射式的工作距離被限定在光束的交點(diǎn)附近,以避免背景影響。鏡面反射式的反射距離較遠(yuǎn),適宜作遠(yuǎn)距離檢測(cè),也可檢測(cè)透明或半透明物體。表2.1給出了光電開(kāi)關(guān)的檢測(cè)分類方式及特點(diǎn)說(shuō)明。表2.1 光電開(kāi)關(guān)的按檢測(cè)方式分類表光電開(kāi)關(guān)按結(jié)構(gòu)可分為放大器分離型、放大器內(nèi)藏型和電源內(nèi)藏型三種。放大器分離型是將放大器與傳感器分離,并采用專用集成電路和混合安裝工藝制成,由于傳感器具有超小型和多品種的特點(diǎn),而放大器的功能較多。因此,該類型采用端子臺(tái)連接方式,并可交、直流電源通用。具有接通和斷開(kāi)兩種延時(shí)功能,兼有接點(diǎn)和電平兩種輸出方式。放大器內(nèi)藏型是將放大器與傳感器一體化,采用專用集成電路和表面安裝工藝制成,使用直流電源工作。其響應(yīng)速度快,有0.1ms和1ms兩種,能檢測(cè)狹小和高速運(yùn)動(dòng)的物體。兼有電壓和電流兩種輸出方式,能防止相互干擾,在系統(tǒng)安裝中十分方便。電源內(nèi)藏型是將放大器、傳感器與電源裝置一體化,采用專用集成電路和表面安裝工藝制成,它一般使用交流電源,適用于在生產(chǎn)現(xiàn)場(chǎng)取代接觸式行程開(kāi)關(guān)??芍苯佑糜趶?qiáng)電控制電路,也可自行設(shè)置自診斷穩(wěn)定工作區(qū)指示燈,輸出備有SSR固態(tài)繼電器或繼電器常開(kāi)、常閉接點(diǎn),可防止相互干擾。2.2.3 光電開(kāi)關(guān)的應(yīng)用隨著我國(guó)工業(yè)自動(dòng)化技術(shù)的迅速發(fā)展,光電開(kāi)關(guān)自動(dòng)化元件將被普遍采用。應(yīng)用領(lǐng)域也在不斷擴(kuò)展,采用集成電路技術(shù)和SMT表面安裝工藝而制造的新一代光電開(kāi)關(guān)器件,具有延時(shí)、展寬、外同步、抗相互干擾、可靠性高、工作區(qū)域穩(wěn)定和自診斷等智能化功能。這種新穎的光電開(kāi)關(guān)是一種采用脈沖調(diào)制的主動(dòng)式光電探測(cè)系統(tǒng)型電子開(kāi)關(guān),它所使用的冷光源有紅外光、紅色光、綠色光和藍(lán)色光等,可非接觸、無(wú)損傷地檢測(cè)和控制各種固體。新型光電開(kāi)關(guān)具有體積小、功能多、壽命長(zhǎng)、精度高、響應(yīng)速度快、檢測(cè)距離遠(yuǎn)以及抗光、電、磁干擾能力強(qiáng)等優(yōu)點(diǎn)。目前,這種新型的光電開(kāi)關(guān)已被用作物位檢測(cè)、液位控制、產(chǎn)品計(jì)數(shù)、寬度判別、速度檢測(cè)、定長(zhǎng)剪切、孔洞識(shí)別、信號(hào)延時(shí)、自動(dòng)門傳感、色標(biāo)檢出、沖床和剪切機(jī)以及安全防護(hù)等諸多領(lǐng)域。在本系統(tǒng)中,采用對(duì)射式紅外線光電開(kāi)關(guān)HJS18-M14DNK檢測(cè)車流量。HJS18-M14DNK工作電壓為直流10-30V,檢測(cè)距離為10m,響應(yīng)時(shí)間小于3ms,能在-2555的溫度條件下正常工作。當(dāng)有車輛通過(guò)光電開(kāi)關(guān)之間時(shí),輸出端將輸出一個(gè)開(kāi)關(guān)信號(hào),送入單片機(jī),單片機(jī)執(zhí)行相應(yīng)程序自動(dòng)對(duì)輸入信號(hào)進(jìn)行計(jì)數(shù),從而完成對(duì)車流量的統(tǒng)計(jì)。2.3 ULN2003芯片簡(jiǎn)介2.3.1 ULN2003概述ULN2003是具有高耐壓、大電流,內(nèi)部由七個(gè)硅NPN達(dá)林頓管組成的驅(qū)動(dòng)芯片。它的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。ULN2003工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V的電壓,輸出還可以與高負(fù)載電流并行運(yùn)行6。2.3.2 ULN2003的內(nèi)部結(jié)構(gòu)ULN2003的內(nèi)部結(jié)構(gòu)方框圖如下:圖2.6 ULN2003內(nèi)部結(jié)構(gòu)圖ULN2003經(jīng)常應(yīng)用于顯示驅(qū)動(dòng)、繼電器驅(qū)動(dòng)、照明燈驅(qū)動(dòng)、電磁閥驅(qū)動(dòng)伺服電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)等電路中。2.4 七段數(shù)碼管數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。分段式數(shù)碼管由分布在同一平面上若干段發(fā)光的筆畫(huà)組成,如半導(dǎo)體顯示器。其基本結(jié)構(gòu)是PN結(jié),即用發(fā)光二極管(LED)組成字型來(lái)來(lái)顯示數(shù)字。這種數(shù)碼管的每個(gè)線段都是一個(gè)發(fā)光二極管,因此也稱LED數(shù)碼管或LED七段顯示器。共陽(yáng)數(shù)碼管(如圖2.7)在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。七段數(shù)碼管各段對(duì)應(yīng)代碼如圖2.87。 圖2.7 共陽(yáng)極數(shù)碼管結(jié)構(gòu)圖 圖2.8 數(shù)碼管各段對(duì)應(yīng)代碼圖2.5 電源電路設(shè)計(jì)2.5.1 三端穩(wěn)壓器簡(jiǎn)介三端穩(wěn)壓器,主要有兩種:一種輸出電壓是固定的,稱為固定輸出三端穩(wěn)壓器;另一種輸出電壓是可調(diào)的,稱為可調(diào)輸出三端穩(wěn)太器。其基本原理相同,均采用串聯(lián)型穩(wěn)壓電路。在線性集成穩(wěn)壓器中,由于三端穩(wěn)壓器只有三個(gè)引出端子,具有外接元件少,使用方便,性能穩(wěn)定,價(jià)格低廉等優(yōu)點(diǎn),因而得到廣泛應(yīng)用。三端穩(wěn)壓器的通用產(chǎn)品有78系列(正電源)和79系列(負(fù)電源),輸出電壓由具體型號(hào)中的后面兩個(gè)數(shù)字代表,有5V,6V,8V,9V,12V,15V,18V,24V等檔次。輸出電流以78(或79)后面加字母來(lái)區(qū)分。L表示0.1,AM表示0.5A,無(wú)字母表示1.5A,如78L05表示5V,0.1A。2.5.2 電源電路圖本設(shè)計(jì)需要提供兩種穩(wěn)定電壓,為了提高系統(tǒng)的穩(wěn)定性,采用雙電源分別對(duì)其提供穩(wěn)定電壓。故選擇MC7805穩(wěn)壓器提供單片機(jī)+5V電壓,MC7812穩(wěn)壓器提供光電開(kāi)關(guān)+15V電壓。其應(yīng)用電路如下:圖2.9 +5V三端穩(wěn)壓電源圖2.10 +12V三端穩(wěn)壓電源2.6 系統(tǒng)設(shè)計(jì)根據(jù)系統(tǒng)設(shè)計(jì)要求,結(jié)合各單元電路,得到如下的系統(tǒng)原理圖。圖2.11 系統(tǒng)原理圖(1)系統(tǒng)工作狀態(tài)說(shuō)明:光電開(kāi)關(guān)將檢測(cè)到的車流量脈沖信號(hào)送入單片機(jī)的T1口,T1對(duì)輸入脈沖計(jì)數(shù),同時(shí)單片機(jī)T0口對(duì)其定時(shí),在設(shè)置的一段時(shí)間內(nèi)(如1分鐘),通過(guò)單片機(jī)定時(shí)器T0的溢出中斷,將計(jì)數(shù)值送回,單片機(jī)通過(guò)執(zhí)行相應(yīng)的程序,從而控制交通狀態(tài)燈切換及數(shù)碼管的倒計(jì)時(shí)時(shí)間顯示。單片機(jī)根據(jù)車流量變化具體工作狀態(tài)如下: 當(dāng)定時(shí)時(shí)間,執(zhí)行定時(shí)中斷T0,單片機(jī)將T1的計(jì)數(shù)值送給車流量檢測(cè)變量CAR_NUMBEERS,單片機(jī)每執(zhí)行一次程序,都將掃描該變量的值。當(dāng)CAR_NUMBERS大于25輛/分,執(zhí)行狀態(tài):東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)40秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北亮黃燈5秒,東西保持紅燈狀態(tài)5秒后,重新掃描。 當(dāng)系統(tǒng)剛開(kāi)始工作或者CAR_NUMBERS大于或等于15輛/分,小于或等于25輛/分,將執(zhí)行狀態(tài):東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)30秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北亮黃燈5秒,東西保持紅燈狀態(tài)5秒后,重新掃描。 當(dāng)CAR_NUMBERS小于15輛/分,執(zhí)行狀態(tài):東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)50秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北綠燈,倒計(jì)時(shí)45秒后,南北亮黃燈5秒,東西保持紅燈5秒后,重新掃描4。(2)相關(guān)參數(shù)說(shuō)明交通量counts:是指在選定的時(shí)間段內(nèi),通過(guò)道路某一地點(diǎn)、某一斷面或某一條車道的車輛實(shí)體數(shù)。交通量是一個(gè)隨機(jī)數(shù),不同時(shí)間、不同地點(diǎn)的交通量都是變化的,交通量隨時(shí)間和空間變化的現(xiàn)象,稱之為交通量的時(shí)空分布特性。通常取某一時(shí)間段內(nèi)的平均值作為該時(shí)間段內(nèi)的交通量。參考時(shí)間t:為了更準(zhǔn)確地表示某個(gè)路口的車流量,選擇一個(gè)適合的時(shí)間段作為參考值,即參考時(shí)間。車流量CAR_NUMBERS:指單位時(shí)間內(nèi)通過(guò)某一地點(diǎn)、某一斷面或某一條車道的車輛實(shí)體數(shù)。具體關(guān)系如下:CAR_NUMBERS = counts/t (輛/分)第3章 程序設(shè)計(jì)3.1 軟件可靠性設(shè)計(jì)在單片機(jī)軟件程序的設(shè)計(jì)中,采用一些措施來(lái)提高單片機(jī)系統(tǒng)工作的可靠性。軟件抗干擾研究的內(nèi)容主要有:一、消除模擬輸入信號(hào)的嗓聲(如數(shù)字濾波技術(shù));二、程序運(yùn)行混亂時(shí)使程序重入正軌的方法。這里針對(duì)后者提出幾種有效的軟件抗干擾方法。 (1)指令冗余技術(shù) 單片機(jī)CPU取指令過(guò)程是先取操作碼,再取操作數(shù)。當(dāng)PC受干擾出現(xiàn)錯(cuò)誤,程序便脫離正常軌道“亂飛”,當(dāng)亂飛到某雙字節(jié)指令,若取指令時(shí)刻落在操作數(shù)上,誤將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e(cuò)。若“飛”到了三字節(jié)指令,出錯(cuò)機(jī)率更大。 在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫稱為指令冗余。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個(gè)字節(jié)以上的NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動(dòng)納入正軌。 此外,對(duì)系統(tǒng)流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入兩條NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。 (2)軟件陷阱技術(shù) 當(dāng)亂飛程序進(jìn)入非程序區(qū),冗余指令便無(wú)法起作用。通過(guò)設(shè)置軟件陷阱,攔截亂飛程序,將其引向指定位置,再進(jìn)行出錯(cuò)處理。軟件陷阱是指用來(lái)將捕獲的亂飛程序引向復(fù)位入口地址0000H的指令。 例如,對(duì)于8051單片機(jī),通常在單片機(jī)程序存儲(chǔ)器中非程序區(qū)填入以下指令作為軟件陷阱: NOP NOP LJMP 0000H 在用戶程序區(qū)各模塊之間的空余單元也可填入陷阱指令。當(dāng)使用的中斷因干擾而開(kāi)放時(shí),在對(duì)應(yīng)的中斷服務(wù)程序中設(shè)置軟件陷阱,能及時(shí)捕獲錯(cuò)誤的中斷。如某應(yīng)用系統(tǒng)雖未用到外部中斷1,外部中斷1的中斷服務(wù)程序可為如下形式: NOP NOPRETI 返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障診斷程序與系統(tǒng)自恢復(fù)程序的設(shè)計(jì)可靠、完善,用“LJMP 0000H”作返回指令可直接進(jìn)入故障診斷程序,盡早地處理故障并恢復(fù)程序的運(yùn)行11??紤]到程序存儲(chǔ)器的容量,軟件陷阱一般1K空間有2-3個(gè)就可以進(jìn)行有效攔截。 (3)軟件“看門狗”技術(shù) 若失控的程序進(jìn)入“死循環(huán)”,通常采用“看門狗”技術(shù)使程序脫離“死循環(huán)”。通過(guò)不斷檢測(cè)程序循環(huán)運(yùn)行時(shí)間,若發(fā)現(xiàn)程序循環(huán)時(shí)間超過(guò)最大循環(huán)運(yùn)行時(shí)間,則認(rèn)為系統(tǒng)陷入“死循環(huán)”,需進(jìn)行出錯(cuò)處理。“看門狗”技術(shù)可由硬件實(shí)現(xiàn),也可由軟件實(shí)現(xiàn)。 在工業(yè)應(yīng)用中,嚴(yán)重的干擾有時(shí)會(huì)破壞中斷方式控制字,關(guān)閉中斷。則系統(tǒng)無(wú)法定時(shí)“喂狗”,硬件“看門狗”電路失效。而軟件“看門狗”可有效地解決這類問(wèn)題3。3.2 主程序流程圖圖3.1 主程序流程圖3.3 中斷程序流程圖圖3.2 中斷程序流程圖3.4 匯編程序設(shè)計(jì)程序清單:ORG 0000HLJMP 100HORG 000BHLJMP T0_INTERUPTORG 100HEAST_GREEN DATA 70HEAST_YELLOW DATA 71HEAST_RED DATA 72HCAR_NUMBERS DATA 73HMOV 73H,#20 ;車流量初值START: MOV DPTR,#TAB MOV P3,#00H MOV SP,#60H MOV R3,#250 ;中斷延時(shí)15S MOV R4,#00H ; MOV TMOD,#01010001B MOV TH0,#15H MOV TL0,#0A0H ;60MS初值 MOV TH1,#00H MOV TL1,#00H MOV IE,#82H ;開(kāi)放T0中斷 SETB TR0 SETB TR1 SETB P3.5 ;I/O口輸入數(shù)據(jù)前需將其先置1LOOP: CLR P3.7 ;中斷檢驗(yàn)位清0 MOV A,CAR_NUMBERS CJNE A,#25,LOOP1LOOP1: JNC STATE1 CJNE A,#15,LOOP2LOOP2: JC STATE3 LJMP STATE2STATE1: MOV EAST_GREEN,#40 ;車流量大于25時(shí),顯示狀態(tài)1 MOV EAST_YELLOW,#5 MOV EAST_RED,#25 LJMP STATESTATE2: MOV EAST_GREEN,#30 ;車流量處于15和25之間,顯示狀態(tài)2 MOV EAST_YELLOW,#5 MOV EAST_RED,#25 LJMP STATESTATE3: MOV EAST_GREEN,#50;車流量小于15時(shí),顯示狀態(tài)3 MOV EAST_YELLOW,#5 MOV EAST_RED,#45 LJMP STATESTATE: MOV R0,EAST_GREEN ;東西綠燈,南北紅燈 MOV P1,#11011110BSTATE_1: LCALL T0_BCD LCALL DISPLAY LCALL DELAY_1S DJNZ R0,STATE_1STATE_2: MOV R0,EAST_YELLOW ;顯示黃燈 MOV P1,#11101110B ;低電平有效,東西由綠燈變?yōu)榧t燈時(shí)才需要亮黃燈,南北繼續(xù)紅燈STATE_22: LCALL T0_BCD LCALL DISPLAY LCALL DELAY_1S MOV P1,#11111110B MOV 74H,#100WAIT1: DJNZ 74H,WAIT1 MOV P1,#11101110B DJNZ R0,STATE_22STATE_3: MOV R0,EAST_RED ;東西紅燈,南北綠燈 MOV P1,#11110011BSTATE_33: LCALL T0_BCD LCALL DISPLAY LCALL DELAY_1S DJNZ R0,STATE_33STATE_4: MOV R0,EAST_YELLOW ;顯示黃燈,南北由綠燈變?yōu)榧t燈時(shí)才需要亮黃燈,東西繼續(xù)紅燈 MOV P1,#11110101BSTATE_44: LCALL T0_BCD LCALL DISPLAY LCALL DELAY_1S MOV P1,#11110111B MOV 74H,#100WAIT2: DJNZ 74H,WAIT2 MOV P1,#11110101B DJNZ R0,STATE_44LJMP LOOPT0_BCD: MOV A,R0;BCD轉(zhuǎn)換MOV B,#10DIV ABMOV R1,B ;個(gè)位數(shù)值MOV R2,A ;十位數(shù)值RETDISPLAY: ;靜態(tài)顯示LOW_DIS:MOV A,R1MOVC A,A+DPTRMOV P0,AHIGH_DIS:MOV A,R2MOVC A,A+DPTRMOV P2,ARETT0_INTERUPT:PUSH ACCDJNZ R3,AGAINMOV R3,#250INC R4CJNE R4,#4,AGAIN ;車流量檢測(cè)周期15*4=60SSETB P3.7 ;檢驗(yàn)中斷是否發(fā)生MOV R4,#00HMOV CAR_NUMBERS,TL1MOV TL1,#0MOV TH1,#0AGAIN:MOV TH0,#15HMOV TL0,#0A0HPOP ACCNOPNOPRETIDELAY_1S:MOV R7,#10;延時(shí)1s程序DEL1:MOV R6,#200DEL2:MOV R5,#248DJNZ R5,$DJNZ R6,DEL2DJNZ R7,DEL1RETTAB:DB 3fh,06h,5bh,4fh,66h,DB 6dh,7dh,07h,7fh,6fhEND第4章 系統(tǒng)仿真與調(diào)試4.1 系統(tǒng)仿真4.1.1 Protues仿真軟件簡(jiǎn)介Proteus是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與仿真軟件。Proteus是目前最好的模擬單片機(jī)外圍器件的工具,它可以仿真51系列、AVR,PIC等常用的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達(dá),LED,AD/DA,部分SPI器件,部分IC器件)。本文基于Proteus6.7SP3和KEIL uVision3軟件。運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)數(shù)字電路、模擬電路、數(shù)?;旌想娐?,是目前唯一能實(shí)現(xiàn)對(duì)51、PIC、AVR、HC11等處理器的仿真軟件。該軟件的特點(diǎn)是:(1)集原理圖設(shè)計(jì)、仿真和PCB設(shè)計(jì)于一體,實(shí)現(xiàn)從概念到產(chǎn)品的完整開(kāi)發(fā)工具。(2)具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真,是獨(dú)一無(wú)二的支持處理器與外圍電路的協(xié)同仿真電路設(shè)計(jì)軟件。(3)具有全速、單步、設(shè)置斷點(diǎn)等多種形式的調(diào)試功能。(4)具有各種信號(hào)源和電路分析所需的虛擬儀表,是電類教學(xué)實(shí)驗(yàn)與創(chuàng)新的平臺(tái)。(5)支持Keil C51 uVision2、MPTLAB等第三方的軟件編譯和調(diào)試環(huán)境。(6)具有強(qiáng)大的原理圖到PCB板設(shè)計(jì)功能,可以輸出多種格式的電路設(shè)計(jì)報(bào)表。4.1.2 仿真原理圖Proteus軟件具有仿真功能,要仿真首先要繪制原理圖。點(diǎn)擊圖標(biāo)打開(kāi)Proteus軟件,進(jìn)入繪圖界面后點(diǎn)擊按扭,點(diǎn)擊出現(xiàn)的元件列表框上方的按扭,在出現(xiàn)的“pick device”中的“keywords”下面的框中輸入元器件的名字,或者在category中找到元器件的名字;雙擊元器件名稱或者點(diǎn)擊,在元件列表框中就會(huì)出現(xiàn)所選的元器件。再點(diǎn)擊按扭,在元件列表框中選擇地線和電源。選好所有的元器件后單擊元件列表中的圖標(biāo)就可以把所需要的元件放入編輯窗口中,調(diào)整元件的位置,并把地線和電源放入編輯窗口中,最后進(jìn)行連線。通過(guò)在T1口接入一個(gè)開(kāi)關(guān),模擬光電開(kāi)關(guān)信號(hào),手動(dòng)控制開(kāi)關(guān)的脈沖數(shù),即為需要模擬的車流量,從而達(dá)到仿真效果。系統(tǒng)仿真圖如下:圖4.1 系統(tǒng)仿真圖4.1.3 加載仿真程序單擊“Debug”菜單,在下拉菜單中單擊“Go”選項(xiàng),(或者使用快捷鍵F5),然后再單擊“Debug”菜單,在下拉菜單中單擊“Stop Running”選項(xiàng)(或者使用快捷鍵Esc);再單擊“View”菜單,再在下拉菜單中單擊“Serial Windows #1”選項(xiàng),就可以看到程序運(yùn)行后的結(jié)果。單擊“Project”菜單,在下拉菜單中單擊“”單擊“Output”中單擊“Create HEX File”選項(xiàng),使程序編譯后產(chǎn)生HEX代碼,供下載器軟件使用,把程序下載到AT89C51單片機(jī)中4。4.1.4 系統(tǒng)仿真單擊仿真界面左下方的開(kāi)始按扭,仿真就開(kāi)始了。具體仿真過(guò)程如下:當(dāng)交通燈開(kāi)始工作后,執(zhí)行默認(rèn)狀態(tài),系統(tǒng)自動(dòng)進(jìn)入狀態(tài):東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)30秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北亮黃燈5秒,東西保持紅燈狀態(tài)5秒后,重新掃描;仿真結(jié)果如圖所示:圖4.2 默認(rèn)狀態(tài)仿真圖當(dāng)手動(dòng)按下開(kāi)關(guān),頻率小于15次/分時(shí),執(zhí)行狀態(tài):東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)50秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)45秒后,南北亮黃燈5秒,東西方向保持紅燈狀態(tài)5秒后,重新掃描;仿真結(jié)果如圖所示:圖4.3 狀態(tài)仿真圖當(dāng)手動(dòng)按下開(kāi)關(guān),頻率大于15次/分,小于或等于25次/分,執(zhí)行狀態(tài):東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)30秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北方向亮黃燈5秒,東西方向保持紅燈狀態(tài)5秒后,重新掃描;仿真結(jié)果如圖所示:圖4.4 狀態(tài)仿真圖當(dāng)手動(dòng)按下開(kāi)關(guān),頻率大于25次/分,執(zhí)行狀態(tài):東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)40秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北亮黃燈5秒,東西保持紅燈狀態(tài)5秒后,重新掃描;仿真結(jié)果如圖所示:圖4.5 狀態(tài)仿真圖4.2 系統(tǒng)調(diào)試經(jīng)過(guò)對(duì)該系統(tǒng)進(jìn)行測(cè)試,遇到了如下問(wèn)題,通過(guò)不斷的調(diào)試,得出了相應(yīng)的解決方案。(1)當(dāng)開(kāi)啟系統(tǒng)仿真時(shí),交通燈正常工作,數(shù)碼管卻顯示出亂碼。數(shù)碼管采用的是共陽(yáng)極七段數(shù)碼管,檢查程序中共陽(yáng)極數(shù)碼管的顯示代碼,沒(méi)有發(fā)現(xiàn)問(wèn)題。故首先排除程序錯(cuò)誤原因。由于P0及P2口均外接了一個(gè)ULN2003A芯片,猜想問(wèn)題與該芯片有關(guān)。去掉該芯片,連接好電路

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論