

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 隨著現(xiàn)代社會對交通運(yùn)輸?shù)娜遮呉蕾?,交通燈成為了人們生活中不可或缺的一部分。傳統(tǒng)的交通燈控制系統(tǒng)雖然在一定程度上可以滿足指揮路口交通的需要,但隨著城市規(guī)模的不斷擴(kuò)大,原有的交通燈控制系統(tǒng)已經(jīng)表現(xiàn)出明顯的缺點(diǎn):紅綠燈時(shí)間相對固定,不能伴隨車流量的改變而調(diào)整紅綠燈的顯示時(shí)間。本論文以中、小城市區(qū)域交通控制為研究對象,以交通工程基本理論
2、為基礎(chǔ),結(jié)合當(dāng)前的單片機(jī)應(yīng)用技術(shù),對智能交通燈控制系統(tǒng)進(jìn)行了分析和研究。文章論述了基于AT89C51單片機(jī)的交通燈控制系統(tǒng),該系統(tǒng)能根據(jù)路口車流量變化而改變交通燈閃亮?xí)r間,達(dá)到智能控制交通的目的。該系統(tǒng)具有實(shí)用性強(qiáng)、操作簡單、擴(kuò)展性好等特點(diǎn)。</p><p> 關(guān)鍵詞:車流量;交通燈;智能控制</p><p><b> ABSTRACT</b></p>
3、<p> With increasing reliance on transportation in modern society,Traffic lights have become an important part in pepole’s daily lives. To some extent, traditional traffic control systems can meet the needs of th
4、e 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
5、change as the different traffic flow at the crossing. In this thesis, acc</p><p> Key words:Traffic flow; Traffic lights; Intelligent control</p><p><b> 目 錄</b></p><p>
6、;<b> 摘要I</b></p><p> ABSTRACTII</p><p><b> 目錄1</b></p><p><b> 第1章 緒論1</b></p><p> 1.1 交通燈控制系統(tǒng)的發(fā)展1</p><p> 1.
7、2 課題研究的背景1</p><p> 1.3 課題研究的主要內(nèi)容2</p><p> 1.4 課題研究方案2</p><p> 1.5 課題研究的意義5</p><p> 第2章 單元電路設(shè)計(jì)6</p><p> 2.1 單片機(jī)概述6</p><p> 2.2 光電開關(guān)
8、概述10</p><p> 2.3 ULN2003芯片簡介12</p><p> 2.4 七段數(shù)碼管13</p><p> 2.5 電源電路設(shè)計(jì)14</p><p> 2.6 系統(tǒng)設(shè)計(jì)15</p><p> 第3章 程序設(shè)計(jì)17</p><p> 3.1 軟件可靠性設(shè)計(jì)
9、17</p><p> 3.2 主程序流程圖18</p><p> 3.3 中斷程序流程圖19</p><p> 3.4 匯編程序設(shè)計(jì)19</p><p> 第4章 系統(tǒng)仿真與調(diào)試24</p><p> 4.1 系統(tǒng)仿真24</p><p> 4.2 系統(tǒng)調(diào)試29<
10、/p><p> 第5章 PCB制作30</p><p> 5.1 PCB布局規(guī)則設(shè)置30</p><p> 5.2 PCB布線規(guī)則設(shè)置31</p><p><b> 5.3 轉(zhuǎn)印32</b></p><p><b> 5.4 蝕刻32</b></p>
11、;<p> 5.5 元器件的安裝與焊接33</p><p><b> 總結(jié)35</b></p><p><b> 參考文獻(xiàn)36</b></p><p><b> 致謝37</b></p><p> 附錄I 系統(tǒng)總的原理圖38</p>
12、<p> 附錄II PCB頂層版圖39</p><p> 附錄III PCB底層版圖40</p><p> 附錄IV 元器件清單41</p><p><b> 第1章 緒論</b></p><p> 1.1 交通燈控制系統(tǒng)的發(fā)展</p><p> 1858年,在英國
13、倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。</p><p> 1914年,電氣啟動(dòng)的紅綠燈出現(xiàn)在美國。這種紅綠燈由紅綠黃三色圓形的投光器組成,裝在紐約5號大街的一座高塔上。紅
14、燈亮表示“停止”,綠燈亮表示“通行”。</p><p> 1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時(shí),它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故。</p>&
15、lt;p> 信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛
16、不能越過停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。</p><p> 1.2 課題研究的背景</p><p> 隨著城市機(jī)動(dòng)車輛的不斷增加,許多大城市出現(xiàn)了交通超負(fù)荷運(yùn)行的情況。因此,自80年代后期,這些城市紛紛修建城市高速道路,在高速道路建設(shè)完成的初期,它們也曾有效地改善了交通狀況。然而,隨著交通量的快速增長和缺乏對高速道路的系統(tǒng)研究和控制。高速道路沒有充分發(fā)揮
17、出預(yù)期的作用。而城市高速道路在構(gòu)造上的特點(diǎn),也決定了城市高速道路的交通狀況必然受高速道路與普通道路耦合處交通狀況的制約。所以,如何采用合適的控制方法,最大限度利用好耗費(fèi)巨資修建的城市高速道路。緩解主干道與匝道、城區(qū)同周邊地區(qū)的交通擁堵狀況,越來越成為交通運(yùn)輸管理和城市規(guī)劃部門亟待解決的主要問題。</p><p> 目前,國內(nèi)大部分中小城市仍采用傳統(tǒng)的交通燈控制模式,但隨著城市的不斷發(fā)展,基于車流量的智能交通燈控
18、制系統(tǒng)必將受到廣大人民的青睞。傳統(tǒng)的交通信號燈,通常采用定時(shí)分配方式控制,主要存在三方面的缺陷:(1)車道放行車輛時(shí),十字路口經(jīng)常出現(xiàn)不同相位上車輛放行時(shí)問相同,車輛多的一方容易出現(xiàn)車輛堆積,造成下一路口的交通阻塞;(2)當(dāng)某相位上無車時(shí),恰好是該相位上的車輛通行時(shí)間,則在這段時(shí)間內(nèi),就出現(xiàn)了交通指揮盲點(diǎn);(3)當(dāng)一路口車流量很大時(shí),不能夠自動(dòng)延長口的綠燈時(shí)間,導(dǎo)致在一個(gè)周期內(nèi)此路口的車輛不能完全通過。</p><p
19、> 為了更好的解決上述問題,本系統(tǒng)利用傳感器檢測車流量狀態(tài),用單片機(jī)AT89C51對路口車流量進(jìn)行統(tǒng)計(jì),并執(zhí)行相應(yīng)的處理程序,來實(shí)現(xiàn)智能交通燈控制系統(tǒng),達(dá)到了根據(jù)車流量大小實(shí)時(shí)控制路口的通行情況。該交通系統(tǒng)的設(shè)計(jì)具有結(jié)構(gòu)簡單、可靠性高、成本低、實(shí)時(shí)性好、安裝維護(hù)方便等優(yōu)點(diǎn),具有廣泛的應(yīng)用前景。</p><p> 1.3 課題研究的主要內(nèi)容</p><p> 本課題研究的內(nèi)容有如
20、下幾個(gè)方面:</p><p> ?。?)基于車流量的智能交通燈控制系統(tǒng)的工作原理。</p><p> ?。?)基于車流量的智能交通燈控制系統(tǒng)的硬件設(shè)計(jì)。</p><p> (3)車流量檢測原理及其硬件電路設(shè)計(jì)。</p><p> ?。?)基于車流量的智能交通燈控制系統(tǒng)的程序設(shè)計(jì)。</p><p> 1.4 課題研究
21、方案</p><p> 1.4.1 系統(tǒng)總體方案</p><p> 通過對課題研究內(nèi)容的理解,并考慮系統(tǒng)的性價(jià)比,得到系統(tǒng)的總體方案。</p><p> 圖1.1 系統(tǒng)方框圖</p><p> 1.4.2 車流量檢測方案</p><p><b> 方案一:</b></p>
22、<p> 采用遙感微波檢測器(RTMS)。微波交通檢測器是利用雷達(dá)線性調(diào)頻技術(shù)原理,通過發(fā)射中心頻率為10.525GHz或24.200GHz的連續(xù)頻率調(diào)制微波(FMCW);在檢測路面上,投映一個(gè)寬度為3-4米,長度為64米的微波帶。每當(dāng)車輛通過這個(gè)微波投映區(qū)時(shí),都會向RTMS反射一個(gè)微波信號,RTMS接收反射的微波信號,并計(jì)算接收頻率和時(shí)間的變化參數(shù)以得出車輛的速度及長度,提供車流量、道路占有率、速度和車型等實(shí)時(shí)信息。為了檢
23、測出車道上車的數(shù)量,RTMS在微波束的發(fā)射方向上以2M為一個(gè)層面分展探測物體,微波束在15度范圍內(nèi)投影形成一個(gè)分為32個(gè)十層面的橢圓形波束,(橢圓的寬度取決于儀器選擇的工作方式),通過這種方式可檢測出車量數(shù)RTMS具有兩種基本的使用模式,分別是路邊側(cè)向模式和前方正向模式。路邊側(cè)向模式可以使用一臺RTMS同時(shí)檢測多至8條車道,并提供每條車道的交通信息。前方正向模式,用一臺RTMS實(shí)時(shí)檢測一條單一車道的交通情況。RTMS的檢測精度高,且是一
24、個(gè)全天候的車輛檢測器。</p><p><b> 方案二:</b></p><p> 采用磁感應(yīng)車輛檢測器.這種環(huán)形線圈檢測器是傳統(tǒng)的交通檢測器,是目前世界上用量最大的一種檢測設(shè)備。這些埋設(shè)在道路表面下的線圈可以檢測到車輛通過時(shí)的電磁變化進(jìn)而精確地算出交通流量。交通流量是交通統(tǒng)計(jì)和交通規(guī)劃的基本數(shù)據(jù),通過這些檢測結(jié)果可以用來計(jì)算占用率(表征交通密度), 在使用雙線
25、圈模式時(shí)還可以提供速度、車輛行駛方向、車型分類等數(shù)據(jù),這些數(shù)據(jù)對于交通管理和統(tǒng)計(jì)是極為重要的。原理方框圖如下:</p><p> 圖1.2 磁檢測器方框圖</p><p> 該方案測量精度較好,且性能穩(wěn)定。</p><p><b> 方案三:</b></p><p> 利用紅外線車輛檢測器。紅外線車輛檢測器是利用
26、被檢測物對光束的遮擋或反射,通過同步回路檢測物體有無。物體不限于金屬,所有能反射光線的物體均可被檢測。光電開關(guān)將輸入電流在發(fā)射器上轉(zhuǎn)換為光信號射出,接收器再根據(jù)接收到的光線的強(qiáng)弱或有無對目標(biāo)物體進(jìn)行探測。如當(dāng)汽車通過光掃描區(qū)域時(shí),部分或全部光束被遮擋,從而實(shí)現(xiàn)對車輛數(shù)據(jù)的綜合檢測。紅外線車輛掃描系統(tǒng)提供了車輛輪廓掃描的解決方案,并提供車輛分離信號,同時(shí)還能夠檢測掛鉤是否存在及其位置,由于光學(xué)產(chǎn)品的高速響應(yīng),當(dāng)車速低于100公里/小時(shí),系
27、統(tǒng)可對車輛間距0.3米車輛實(shí)現(xiàn)可靠的分離檢測并抓取車輛輪廓數(shù)據(jù),當(dāng)車速低于200公里/小時(shí),對車輛間距0.6米的車輛實(shí)現(xiàn)可靠的分離檢測并抓取輪廓數(shù)據(jù),系統(tǒng)可自動(dòng)分類超過100種車型,車輛自動(dòng)分類的準(zhǔn)確率超過99%。常利用光電開關(guān)技術(shù)成熟,高速響應(yīng),可輸出豐富的車輛數(shù)據(jù)信息,能可靠檢測各種特殊車輛??垢蓴_性強(qiáng),不受惡劣氣象條件或物體顏色的影響,安裝簡便。</p><p> 方案一造價(jià)高,且易受環(huán)境影響,方案二需將
28、檢測器埋入地底下,對已建成道路使用不方便。方案三性價(jià)比高,且設(shè)計(jì)簡單,權(quán)衡利弊,故選用方案三。</p><p> 1.4.3 主控制器選擇</p><p><b> 方案一:</b></p><p> 采用數(shù)字電路設(shè)計(jì)。通過譯碼器,計(jì)數(shù)器,以及555定時(shí)器等組成一個(gè)交通燈控制系統(tǒng),雖然易于實(shí)現(xiàn),但由于涉及的集成數(shù)字芯片較多,且不便于實(shí)現(xiàn)車
29、流量檢測信號的輸入,故很難完成系統(tǒng)設(shè)計(jì)任務(wù)。</p><p><b> 方案二:</b></p><p> 采用AT89C51單片機(jī)作為主控制器。AT89C51具有兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,便于對車流量進(jìn)行定時(shí)中斷檢測。32根I/O線,使其具有足夠的I/O口驅(qū)動(dòng)數(shù)碼管及交通燈。外部存貯器尋址范圍ROM、RAM64K,便于系統(tǒng)擴(kuò)展。其T0,T1口可以對外
30、部脈沖進(jìn)行實(shí)時(shí)計(jì)數(shù)操作,故可以方便實(shí)現(xiàn)車流量檢測信號的輸入。</p><p> 單片機(jī)具有功耗小、速度快、價(jià)格低等優(yōu)點(diǎn),且編程簡單,故選用方案二。</p><p> 1.4.4 顯示方案選擇</p><p> 該系統(tǒng)要求完成倒計(jì)時(shí)、狀態(tài)燈等顯示功能?;谏鲜鲈颍覀兛紤]了三種方案:</p><p><b> 方案一:<
31、;/b></p><p> 完全采用數(shù)碼管顯示。這種方案只顯示有限的符號和數(shù)碼字符,無法勝任題目要求。</p><p><b> 方案二:</b></p><p> 完全采用點(diǎn)陣式LED顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。</p><p><
32、;b> 方案三:</b></p><p> 采用數(shù)碼管與點(diǎn)陣LED相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用數(shù)碼管與LED燈分別顯示時(shí)間及狀態(tài)信息。</p><p> 這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。權(quán)衡利弊,第三種方案可互補(bǔ)一、二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。</
33、p><p> 1.5 課題研究的意義</p><p> 本文設(shè)計(jì)的交通信號控制系統(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)簡單,易于維護(hù),運(yùn)行穩(wěn)定。對基于車流量的智能交通燈控制系統(tǒng)進(jìn)行設(shè)計(jì)目的在于對所學(xué)知識的綜合運(yùn)用,將理論知識與實(shí)際應(yīng)用
34、相結(jié)合?;谲嚵髁康闹悄芙煌艨刂葡到y(tǒng)設(shè)計(jì)意義重大,特別在人口密度集中的中國,它起著更重要的作用。最直接的作用是改善車輛的堵塞狀況,減少車輛的等待時(shí)間,增加單位時(shí)間內(nèi)的通行量,從而解決交通擁擠的問題。另外的社會經(jīng)濟(jì)效益是:減少交通事故的發(fā)生率、人員的死亡率;推動(dòng)相關(guān)產(chǎn)業(yè)的發(fā)展,增加就業(yè)崗位,促進(jìn)社會經(jīng)濟(jì)的健康發(fā)展;減少能源消耗量,降低環(huán)境污染程度。</p><p> 此設(shè)計(jì)尤其適合中、小城市的十字路口交通控制,
35、具有安裝簡單,使用方便,價(jià)格實(shí)惠等優(yōu)點(diǎn),毫無疑問具有廣泛的應(yīng)用前景。</p><p> 第2章 單元電路設(shè)計(jì)</p><p><b> 2.1 單片機(jī)概述</b></p><p> 2.1.1 單片機(jī)發(fā)展</p><p> 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片
36、機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。</p><p> 單片機(jī)經(jīng)過1、2、3三代發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引腳的多功能化,以及低電壓低功耗。</p>&
37、lt;p> 2.1.2 AT89C51單片機(jī)簡介</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能的CMOS 8位微處理器,單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令
38、集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。</p><p> AT89C51的內(nèi)部結(jié)構(gòu)圖如下:</p><p> 圖2.1 AT89C51內(nèi)部結(jié)構(gòu)圖</p><p> AT89C51單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷
39、系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在分別加以說明:</p><p><b> (1)中央處理器:</b></p><p> 中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p&g
40、t; (2)數(shù)據(jù)存儲器(RAM)</p><p> 89C51內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。</p><p> (3)程序存儲器(ROM):</p><p
41、> 89C51共有4KB掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> (4)定時(shí)/計(jì)數(shù)器(ROM):</p><p> 89C51有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p> (5)并行輸入輸出(I/O)口:</p><p> 89C51共有4組8位I/O口
42、(P0、P1、P2和P3),用于對外部數(shù)據(jù)的傳輸。</p><p> (6)全雙工串行口:</p><p> 89C51內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b> (7)中斷系統(tǒng):</b></p><p> 89C
43、51具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p><b> (8)時(shí)鐘電路:</b></p><p> 89C51內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但89C51單片機(jī)需外置振蕩電容。</p><p> 單片機(jī)的結(jié)
44、構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。</p><p> AT89C51單片機(jī)的引腳說明:MCS-51系列單片機(jī)中的8031、8051及875
45、1均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。其常用封裝形勢如下:</p><p> 圖2.2 DIP封裝 圖2.3 PQFP/TQFP封裝 </p><p><b&g
46、t; 引腳說明:</b></p><p> Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)89C51通電,時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RA
47、M(包括工作寄存器R0-R7)的狀態(tài),及89C51的初始態(tài)。</p><p> 89C51的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,如圖2.4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電期間,此腳可接備用電源,以保證其內(nèi)部RAM的數(shù)據(jù)不丟失[1]。</p><p> 圖2.4 兩種復(fù)位電路</p><p> Pin30:AE/當(dāng)訪問外部程序器時(shí),ALE
48、(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號,這個(gè)信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問外部程序存儲器,ALE會跳過一個(gè)脈沖。</p><p> 如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。</p><p> Pin29:當(dāng)訪問外部程序存儲器時(shí),此腳輸出負(fù)脈沖選通信號,
49、PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。</p><p> Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,89C51內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA
50、端必須接地。</p><p> 在編程時(shí),EA/Vpp腳還需加上21V的編程電壓[2]。</p><p> 2.2 光電開關(guān)概述</p><p> 2.2.1 光電開關(guān)的工作原理</p><p> 光電開關(guān)(光電傳感器)是光電接近開關(guān)的簡稱,它是利用被檢測物對光束的遮擋或反射,由同步回路選通電路,從而檢測物體有無的。物體不限于金屬,所
51、有能反射光線的物體均可被檢測。光電開關(guān)將輸入電流在發(fā)射器上轉(zhuǎn)換為光信號射出,接收器再根據(jù)接收到的光線的強(qiáng)弱或有無對目標(biāo)物體進(jìn)行探測。其工作原理圖如下:</p><p> 圖2.5 光電開關(guān)工作原理簡圖</p><p> 發(fā)送器對準(zhǔn)目標(biāo)發(fā)射光束,發(fā)射的光束一般來于半導(dǎo)體光源,發(fā)光二極管(LED)、激光二極管及紅外發(fā)射二極管。光束不間斷地發(fā)射,或者改變脈沖寬度。接收器有光電二極管、光電三極
52、管、光電池組成。在接收器的前面,裝有光學(xué)元件如透鏡和光圈等。在其后面是檢測電路,它能濾出有效信號和應(yīng)用該信號。</p><p> 2.2.2 光電開關(guān)的分類</p><p> 光電開關(guān)按檢測方式可分為反射式、對射式和鏡面反射式三種類型。 對射式檢測距離遠(yuǎn),可檢測半透明物體的密度(透光度)。反射式的工作距離被限定在光束的交點(diǎn)附近,以避免背景影響。鏡面反射式的反射距離較遠(yuǎn),適宜作遠(yuǎn)距離檢測
53、,也可檢測透明或半透明物體。表2.1給出了光電開關(guān)的檢測分類方式及特點(diǎn)說明。</p><p> 表2.1 光電開關(guān)的按檢測方式分類表</p><p> 光電開關(guān)按結(jié)構(gòu)可分為放大器分離型、放大器內(nèi)藏型和電源內(nèi)藏型三種。放大器分離型是將放大器與傳感器分離,并采用專用集成電路和混合安裝工藝制成,由于傳感器具有超小型和多品種的特點(diǎn),而放大器的功能較多。因此,該類型采用端子臺連接方式,并可交、直
54、流電源通用。具有接通和斷開兩種延時(shí)功能,兼有接點(diǎn)和電平兩種輸出方式。放大器內(nèi)藏型是將放大器與傳感器一體化,采用專用集成電路和表面安裝工藝制成,使用直流電源工作。其響應(yīng)速度快,有0.1ms和1ms兩種,能檢測狹小和高速運(yùn)動(dòng)的物體。兼有電壓和電流兩種輸出方式,能防止相互干擾,在系統(tǒng)安裝中十分方便。電源內(nèi)藏型是將放大器、傳感器與電源裝置一體化,采用專用集成電路和表面安裝工藝制成,它一般使用交流電源,適用于在生產(chǎn)現(xiàn)場取代接觸式行程開關(guān)??芍苯佑?/p>
55、于強(qiáng)電控制電路,也可自行設(shè)置自診斷穩(wěn)定工作區(qū)指示燈,輸出備有SSR固態(tài)繼電器或繼電器常開、常閉接點(diǎn),可防止相互干擾。</p><p> 2.2.3 光電開關(guān)的應(yīng)用</p><p> 隨著我國工業(yè)自動(dòng)化技術(shù)的迅速發(fā)展,光電開關(guān)自動(dòng)化元件將被普遍采用。應(yīng)用領(lǐng)域也在不斷擴(kuò)展,采用集成電路技術(shù)和SMT表面安裝工藝而制造的新一代光電開關(guān)器件,具有延時(shí)、展寬、外同步、抗相互干擾、可靠性高、工作區(qū)域
56、穩(wěn)定和自診斷等智能化功能。這種新穎的光電開關(guān)是一種采用脈沖調(diào)制的主動(dòng)式光電探測系統(tǒng)型電子開關(guān),它所使用的冷光源有紅外光、紅色光、綠色光和藍(lán)色光等,可非接觸、無損傷地檢測和控制各種固體。新型光電開關(guān)具有體積小、功能多、壽命長、精度高、響應(yīng)速度快、檢測距離遠(yuǎn)以及抗光、電、磁干擾能力強(qiáng)等優(yōu)點(diǎn)。</p><p> 目前,這種新型的光電開關(guān)已被用作物位檢測、液位控制、產(chǎn)品計(jì)數(shù)、寬度判別、速度檢測、定長剪切、孔洞識別、信號
57、延時(shí)、自動(dòng)門傳感、色標(biāo)檢出、沖床和剪切機(jī)以及安全防護(hù)等諸多領(lǐng)域。</p><p> 在本系統(tǒng)中,采用對射式紅外線光電開關(guān)HJS18-M14DNK檢測車流量。HJS18-M14DNK工作電壓為直流10-30V,檢測距離為10m,響應(yīng)時(shí)間小于3ms,能在-25℃~55℃的溫度條件下正常工作。當(dāng)有車輛通過光電開關(guān)之間時(shí),輸出端將輸出一個(gè)開關(guān)信號,送入單片機(jī),單片機(jī)執(zhí)行相應(yīng)程序自動(dòng)對輸入信號進(jìn)行計(jì)數(shù),從而完成對車流量的
58、統(tǒng)計(jì)。</p><p> 2.3 ULN2003芯片簡介</p><p> 2.3.1 ULN2003概述</p><p> ULN2003是具有高耐壓、大電流,內(nèi)部由七個(gè)硅NPN達(dá)林頓管組成的驅(qū)動(dòng)芯片。它的每一對達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。</
59、p><p> ULN2003工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V的電壓,輸出還可以與高負(fù)載電流并行運(yùn)行[6]。</p><p> 2.3.2 ULN2003的內(nèi)部結(jié)構(gòu)</p><p> ULN2003的內(nèi)部結(jié)構(gòu)方框圖如下:</p><p> 圖2.6 ULN2003內(nèi)部結(jié)構(gòu)圖</p>&l
60、t;p> ULN2003經(jīng)常應(yīng)用于顯示驅(qū)動(dòng)、繼電器驅(qū)動(dòng)、照明燈驅(qū)動(dòng)、電磁閥驅(qū)動(dòng)</p><p> 伺服電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)等電路中。</p><p><b> 2.4 七段數(shù)碼管</b></p><p> 數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。分段式數(shù)碼管由分布在同一平面上若干段發(fā)光的筆畫組成,如半導(dǎo)體顯示器。其基本結(jié)
61、構(gòu)是PN結(jié),即用發(fā)光二極管(LED)組成字型來來顯示數(shù)字。這種數(shù)碼管的每個(gè)線段都是一個(gè)發(fā)光二極管,因此也稱LED數(shù)碼管或LED七段顯示器。共陽數(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ā)光二
62、極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。七段數(shù)碼管各段對應(yīng)代碼如圖2.8[7]。</p><p> 圖2.7 共陽極數(shù)碼管結(jié)構(gòu)圖 圖2.8 數(shù)碼管各段對應(yīng)代碼圖</p><p> 2.5 電源電路設(shè)計(jì)</p><p> 2.5.1 三端穩(wěn)壓器簡介</p><p>
63、 三端穩(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)用。</p><p> 三端穩(wěn)壓器的通用產(chǎn)品有78系列(正電源)和79系列(負(fù)電源),輸出電壓由具體型號中的后面兩個(gè)數(shù)字代表,有5V,6
64、V,8V,9V,12V,15V,18V,24V等檔次。輸出電流以78(或79)后面加字母來區(qū)分。L表示0.1,AM表示0.5A,無字母表示1.5A,如78L05表示5V,0.1A。</p><p> 2.5.2 電源電路圖</p><p> 本設(shè)計(jì)需要提供兩種穩(wěn)定電壓,為了提高系統(tǒng)的穩(wěn)定性,采用雙電源分別對其提供穩(wěn)定電壓。故選擇MC7805穩(wěn)壓器提供單片機(jī)+5V電壓,MC7812穩(wěn)壓器
65、提供光電開關(guān)+15V電壓。其應(yīng)用電路如下:</p><p> 圖2.9 +5V三端穩(wěn)壓電源</p><p> 圖2.10 +12V三端穩(wěn)壓電源</p><p><b> 2.6 系統(tǒng)設(shè)計(jì)</b></p><p> 根據(jù)系統(tǒng)設(shè)計(jì)要求,結(jié)合各單元電路,得到如下的系統(tǒng)原理圖。</p><p>
66、 圖2.11 系統(tǒng)原理圖</p><p> (1)系統(tǒng)工作狀態(tài)說明:</p><p> 光電開關(guān)將檢測到的車流量脈沖信號送入單片機(jī)的T1口,T1對輸入脈沖計(jì)數(shù),同時(shí)單片機(jī)T0口對其定時(shí),在設(shè)置的一段時(shí)間內(nèi)(如1分鐘),通過單片機(jī)定時(shí)器T0的溢出中斷,將計(jì)數(shù)值送回,單片機(jī)通過執(zhí)行相應(yīng)的程序,從而控制交通狀態(tài)燈切換及數(shù)碼管的倒計(jì)時(shí)時(shí)間顯示。單片機(jī)根據(jù)車流量變化具體工作狀態(tài)如下:</p
67、><p> 當(dāng)定時(shí)時(shí)間,執(zhí)行定時(shí)中斷T0,單片機(jī)將T1的計(jì)數(shù)值送給車流量檢測變量CAR_NUMBEERS,單片機(jī)每執(zhí)行一次程序,都將掃描該變量的值。當(dāng)CAR_NUMBERS大于25輛/分,執(zhí)行狀態(tài)Ⅰ:東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)40秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北亮黃燈5秒,東西保持紅燈狀態(tài)5秒后,重新掃描。</p><p>
68、 當(dāng)系統(tǒng)剛開始工作或者CAR_NUMBERS大于或等于15輛/分,小于或等于25輛/分,將執(zhí)行狀態(tài)Ⅱ:東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)30秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北亮黃燈5秒,東西保持紅燈狀態(tài)5秒后,重新掃描。 </p><p> 當(dāng)CAR_NUMBERS小于15輛/分,執(zhí)行狀態(tài)Ⅲ:東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)50秒,然后東西黃燈5秒,南北
69、保持紅燈5秒,緊接著東西紅燈,南北綠燈,倒計(jì)時(shí)45秒后,南北亮黃燈5秒,東西保持紅燈5秒后,重新掃描[4]。</p><p><b> ?。?)相關(guān)參數(shù)說明</b></p><p> 交通量counts:是指在選定的時(shí)間段內(nèi),通過道路某一地點(diǎn)、某一斷面或某一條車道的車輛實(shí)體數(shù)。交通量是一個(gè)隨機(jī)數(shù),不同時(shí)間、不同地點(diǎn)的交通量都是變化的,交通量隨時(shí)間和空間變化的現(xiàn)象,稱
70、之為交通量的時(shí)空分布特性。通常取某一時(shí)間段內(nèi)的平均值作為該時(shí)間段內(nèi)的交通量。</p><p> 參考時(shí)間t:為了更準(zhǔn)確地表示某個(gè)路口的車流量,選擇一個(gè)適合的時(shí)間段作為參考值,即參考時(shí)間。</p><p> 車流量CAR_NUMBERS:指單位時(shí)間內(nèi)通過某一地點(diǎn)、某一斷面或某一條車道的車輛實(shí)體數(shù)。具體關(guān)系如下:</p><p> CAR_NUMBERS = co
71、unts/t (輛/分)</p><p><b> 第3章 程序設(shè)計(jì)</b></p><p> 3.1 軟件可靠性設(shè)計(jì)</p><p> 在單片機(jī)軟件程序的設(shè)計(jì)中,采用一些措施來提高單片機(jī)系統(tǒng)工作的可靠性。軟件抗干擾研究的內(nèi)容主要有:一、消除模擬輸入信號的嗓聲(如數(shù)字濾波技術(shù));二、程序運(yùn)行混亂時(shí)使程序重入正軌的方法。這里針對后者提出幾種
72、有效的軟件抗干擾方法。 ?。?)指令冗余技術(shù) 單片機(jī)CPU取指令過程是先取操作碼,再取操作數(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ù)上,
73、由于空操作指令NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動(dòng)納入正軌。 此外,對系統(tǒng)流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入兩條NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。 ?。?)軟件陷阱技術(shù) 當(dāng)亂飛程序進(jìn)入非程序區(qū),冗余指令便無法起作用。通過設(shè)置軟件陷阱,攔截亂飛程序,將其</p><p> 3.2 主程序流程圖</p&g
74、t;<p> 圖3.1 主程序流程圖</p><p> 3.3 中斷程序流程圖</p><p> 圖3.2 中斷程序流程圖</p><p> 3.4 匯編程序設(shè)計(jì)</p><p><b> 程序清單:</b></p><p><b> ORG 0000H<
75、/b></p><p><b> LJMP 100H</b></p><p><b> ORG 000BH</b></p><p> LJMP T0_INTERUPT</p><p><b> ORG 100H</b></p><p>
76、EAST_GREEN DATA 70H</p><p> EAST_YELLOW DATA 71H</p><p> EAST_RED DATA 72H</p><p> CAR_NUMBERS DATA 73H</p><p> MOV 73H,#20 ;車流量初值</p><p> START:
77、MOV DPTR,#TAB</p><p> MOV P3,#00H</p><p> MOV SP,#60H</p><p> MOV R3,#250 ;中斷延時(shí)15S</p><p> MOV R4,#00H ;</p><p> MOV TMOD,#01010001B</p><p&
78、gt; MOV TH0,#15H</p><p> MOV TL0,#0A0H ;60MS初值</p><p> MOV TH1,#00H</p><p> MOV TL1,#00H</p><p> MOV IE,#82H ;開放T0中斷</p><p><b> SETB TR0</b&
79、gt;</p><p><b> SETB TR1</b></p><p> SETB P3.5 ;I/O口輸入數(shù)據(jù)前需將其先置1</p><p> LOOP: CLR P3.7 ;中斷檢驗(yàn)位清0</p><p> MOV A,CAR_NUMBERS</p><p> CJNE
80、 A,#25,LOOP1</p><p> LOOP1: JNC STATE1</p><p> CJNE A,#15,LOOP2</p><p> LOOP2: JC STATE3</p><p> LJMP STATE2</p><p> STATE1: MOV EAST_GREEN,#40
81、;車流量大于25時(shí),顯示狀態(tài)1</p><p> MOV EAST_YELLOW,#5</p><p> MOV EAST_RED,#25</p><p> LJMP STATE</p><p> STATE2: MOV EAST_GREEN,#30 ;車流量處于15和25之間,顯示狀態(tài)2</p><p>
82、MOV EAST_YELLOW,#5</p><p> MOV EAST_RED,#25</p><p> LJMP STATE</p><p> STATE3: MOV EAST_GREEN,#50;車流量小于15時(shí),顯示狀態(tài)3</p><p> MOV EAST_YELLOW,#5</p><p> MO
83、V EAST_RED,#45</p><p> LJMP STATE</p><p> STATE: MOV R0,EAST_GREEN ;東西綠燈,南北紅燈</p><p> MOV P1,#11011110B</p><p> STATE_1: LCALL T0_BCD</p><p>
84、LCALL DISPLAY</p><p> LCALL DELAY_1S</p><p> DJNZ R0,STATE_1</p><p> STATE_2: MOV R0,EAST_YELLOW ;顯示黃燈</p><p> MOV P1,#11101110B ;低電平有效,東西由綠燈變?yōu)榧t燈時(shí)才需要亮黃燈,南北繼續(xù)紅燈
85、</p><p> STATE_22: LCALL T0_BCD</p><p> LCALL DISPLAY</p><p> LCALL DELAY_1S</p><p> MOV P1,#11111110B</p><p> MOV 74H,#100</p><p> WA
86、IT1: DJNZ 74H,WAIT1</p><p> MOV P1,#11101110B</p><p> DJNZ R0,STATE_22</p><p> STATE_3: MOV R0,EAST_RED ;東西紅燈,南北綠燈</p><p> MOV P1,#11110011B</p><p&g
87、t; STATE_33: LCALL T0_BCD</p><p> LCALL DISPLAY</p><p> LCALL DELAY_1S</p><p> DJNZ R0,STATE_33</p><p> STATE_4: MOV R0,EAST_YELLOW ;顯示黃燈,南北由綠燈變?yōu)榧t燈時(shí)才需要亮黃燈,東西繼續(xù)紅
88、燈</p><p> MOV P1,#11110101B</p><p> STATE_44: LCALL T0_BCD</p><p> LCALL DISPLAY</p><p> LCALL DELAY_1S</p><p> MOV P1,#11110111B</p><p>
89、 MOV 74H,#100</p><p> WAIT2: DJNZ 74H,WAIT2</p><p> MOV P1,#11110101B</p><p> DJNZ R0,STATE_44</p><p><b> LJMP LOOP</b></p><p> T0_BCD:
90、MOV A,R0;BCD轉(zhuǎn)換</p><p><b> MOV B,#10</b></p><p><b> DIV AB</b></p><p> MOV R1,B ;個(gè)位數(shù)值</p><p> MOV R2,A ;十位數(shù)值</p><p><b> R
91、ET</b></p><p> DISPLAY: ;靜態(tài)顯示</p><p> LOW_DIS:MOV A,R1</p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A</b></p><p> HIGH_DIS:MOV
92、 A,R2</p><p> MOVC A,@A+DPTR</p><p><b> MOV P2,A</b></p><p><b> RET</b></p><p> T0_INTERUPT:PUSH ACC</p><p> DJNZ R3,AGAIN<
93、/p><p> MOV R3,#250</p><p><b> INC R4</b></p><p> CJNE R4,#4,AGAIN ;車流量檢測周期15*4=60S</p><p> SETB P3.7 ;檢驗(yàn)中斷是否發(fā)生</p><p> MOV R4,#00H</p>
94、;<p> MOV CAR_NUMBERS,TL1</p><p> MOV TL1,#0</p><p> MOV TH1,#0</p><p> AGAIN:MOV TH0,#15H</p><p> MOV TL0,#0A0H</p><p><b> POP ACC</
95、b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> RETI</b></p><p> DELAY_1S:MOV R7,#10;延時(shí)1s程序</p><p> DEL1:MO
96、V R6,#200</p><p> DEL2:MOV R5,#248</p><p><b> DJNZ R5,$</b></p><p> DJNZ R6,DEL2</p><p> DJNZ R7,DEL1</p><p><b> RET</b></p
97、><p> TAB:DB 3fh,06h,5bh,4fh,66h,</p><p> DB 6dh,7dh,07h,7fh,6fh</p><p><b> END</b></p><p> 第4章 系統(tǒng)仿真與調(diào)試</p><p><b> 4.1 系統(tǒng)仿真</b>&l
98、t;/p><p> 4.1.1 Protues仿真軟件簡介</p><p> Proteus是英國Labcenter公司開發(fā)的電路分析與仿真軟件。Proteus是目前最好的模擬單片機(jī)外圍器件的工具,它可以仿真51系列、AVR,PIC等常用的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達(dá),LED,AD/DA,部分SPI器件,部分IC器件)。本文基于Proteus6.7SP3和KEI
99、L uVision3軟件。運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)數(shù)字電路、模擬電路、數(shù)?;旌想娐?,是目前唯一能實(shí)現(xiàn)對51、PIC、AVR、HC11等處理器的仿真軟件。該軟件的特點(diǎn)是:</p><p> (1)集原理圖設(shè)計(jì)、仿真和PCB設(shè)計(jì)于一體,實(shí)現(xiàn)從概念到產(chǎn)品的完整開發(fā)工具。</p><p> (2)具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的
100、仿真,是獨(dú)一無二的支持處理器與外圍電路的協(xié)同仿真電路設(shè)計(jì)軟件。</p><p> (3)具有全速、單步、設(shè)置斷點(diǎn)等多種形式的調(diào)試功能。</p><p> (4)具有各種信號源和電路分析所需的虛擬儀表,是電類教學(xué)實(shí)驗(yàn)與創(chuàng)新的平臺。</p><p> (5)支持Keil C51 uVision2、MPTLAB等第三方的軟件編譯和調(diào)試環(huán)境。</p>&
101、lt;p> (6)具有強(qiáng)大的原理圖到PCB板設(shè)計(jì)功能,可以輸出多種格式的電路設(shè)計(jì)報(bào)表。</p><p> 4.1.2 仿真原理圖</p><p> Proteus軟件具有仿真功能,要仿真首先要繪制原理圖。點(diǎn)擊圖標(biāo)打開Proteus軟件,進(jìn)入繪圖界面后點(diǎn)擊按扭,點(diǎn)擊出現(xiàn)的元件列表框上方的按扭,在出現(xiàn)的“pick device”中的“keywords”下面的框中輸入元器件的名字,或
102、者在category中找到元器件的名字;雙擊元器件名稱或者點(diǎn)擊,在元件列表框中就會出現(xiàn)所選的元器件。再點(diǎn)擊按扭,在元件列表框中選擇地線和電源。選好所有的元器件后單擊元件列表中的圖標(biāo)就可以把所需要的元件放入編輯窗口中,調(diào)整元件的位置,并把地線和電源放入編輯窗口中,最后進(jìn)行連線。通過在T1口接入一個(gè)開關(guān),模擬光電開關(guān)信號,手動(dòng)控制開關(guān)的脈沖數(shù),即為需要模擬的車流量,從而達(dá)到仿真效果。系統(tǒng)仿真圖如下:</p><p>
103、 圖4.1 系統(tǒng)仿真圖</p><p> 4.1.3 加載仿真程序</p><p> 單擊“Debug”菜單,在下拉菜單中單擊“Go”選項(xiàng),(或者使用快捷鍵F5),然后再單擊“Debug”菜單,在下拉菜單中單擊“Stop Running”選項(xiàng)(或者使用快捷鍵Esc);再單擊“View”菜單,再在下拉菜單中單擊“Serial Windows #1”選項(xiàng),就可以看到程序運(yùn)行后的結(jié)果。&l
104、t;/p><p> 單擊“Project”菜單,在下拉菜單中單擊“”單擊“Output”中單擊“Create HEX File”選項(xiàng),使程序編譯后產(chǎn)生HEX代碼,供下載器軟件使用,把程序下載到AT89C51單片機(jī)中[4]。</p><p> 4.1.4 系統(tǒng)仿真</p><p> 單擊仿真界面左下方的開始按扭,仿真就開始了。具體仿真過程如下:</p>
105、<p> ?、佼?dāng)交通燈開始工作后,執(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é)果如圖所示:</p><p> 圖4.2 默認(rèn)狀態(tài)仿真圖</p><p> ?、诋?dāng)手動(dòng)按下開關(guān),頻率小于15次/分時(shí),執(zhí)行狀態(tài)Ⅲ:
106、東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)50秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)45秒后,南北亮黃燈5秒,東西方向保持紅燈狀態(tài)5秒后,</p><p> 重新掃描;仿真結(jié)果如圖所示:</p><p> 圖4.3 狀態(tài)Ⅲ仿真圖</p><p> ③當(dāng)手動(dòng)按下開關(guān),頻率大于15次/分,小于或等于25次/分,執(zhí)行狀態(tài)Ⅱ:東西方向綠燈
107、,南北方向紅燈,倒計(jì)時(shí)30秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北方向亮黃燈5秒,東西方向保持紅燈狀態(tài)5秒后,重新掃描;仿真結(jié)果如圖所示:</p><p> 圖4.4 狀態(tài)Ⅱ仿真圖</p><p> ④當(dāng)手動(dòng)按下開關(guān),頻率大于25次/分,執(zhí)行狀態(tài)Ⅰ:東西方向綠燈,南北方向紅燈,倒計(jì)時(shí)40秒,然后東西黃燈5秒,南北保持紅燈5秒,緊接著東西
108、紅燈,南北方向綠燈,倒計(jì)時(shí)25秒后,南北亮黃燈5秒,東西保持紅燈狀態(tài)5秒后,重新掃描;仿真結(jié)果如圖所示:</p><p> 圖4.5 狀態(tài)Ⅰ仿真圖</p><p><b> 4.2 系統(tǒng)調(diào)試</b></p><p> 經(jīng)過對該系統(tǒng)進(jìn)行測試,遇到了如下問題,通過不斷的調(diào)試,得出了相應(yīng)的解決方案。</p><p>
109、(1)當(dāng)開啟系統(tǒng)仿真時(shí),交通燈正常工作,數(shù)碼管卻顯示出亂碼。數(shù)碼管采用的是共陽極七段數(shù)碼管,檢查程序中共陽極數(shù)碼管的顯示代碼,沒有發(fā)現(xiàn)問題。故首先排除程序錯(cuò)誤原因。由于P0及P2口均外接了一個(gè)ULN2003A芯片,猜想問題與該芯片有關(guān)。去掉該芯片,連接好電路后,發(fā)現(xiàn)數(shù)碼管倒計(jì)時(shí)顯示正常,但顯示較暗。</p><p> 此時(shí),已找到問題所在。原因如下:一方面,ULN2003A芯片是一種反向芯片,它具有使輸入信號反
110、向的功能,故I/O口輸出的是共陰極代碼信號,而程序中使用的仍然是共陽極數(shù)碼管顯示代碼,因而出現(xiàn)亂碼。另一方面,ULN2003A具有提高I/O口驅(qū)動(dòng)能力的作用,去掉此芯片后,I/O口的帶負(fù)載能力明顯減弱,從而顯示變暗。綜上原因,得出如下解決方案:將程序中的共陽極數(shù)碼管顯示代碼換成共陰極顯示代碼,其他部分不變。更改之后,數(shù)碼管倒計(jì)時(shí)顯示,且顯示明亮。</p><p> (2)測試過程中,發(fā)現(xiàn)無論從綠燈狀態(tài)切換到紅燈
111、,還是從紅燈切換到綠燈狀態(tài),都需要先轉(zhuǎn)換到黃燈,才能完成切換。這顯然不符合實(shí)際需要。在實(shí)際的交通燈控制系統(tǒng)中,紅燈狀態(tài)切換到綠燈是不需要經(jīng)過黃燈狀態(tài)的??紤]從硬件電路著手很難解決問題,故從軟件著手。當(dāng)單片機(jī)每次執(zhí)行從紅燈切換到綠燈狀態(tài)程序時(shí),保持原方向的紅燈狀態(tài)5s后,再實(shí)現(xiàn)切換,從而與另一方向的從綠燈切換到紅燈狀態(tài)的時(shí)間保持一致。</p><p><b> 第5章 PCB制作</b>&l
112、t;/p><p> 5.1 PCB布局規(guī)則設(shè)置</p><p> (1)按電路模塊進(jìn)行布局,實(shí)現(xiàn)同一功能的相關(guān)電路稱為模塊,電路模塊中的元件應(yīng)采用就近集中原則,同時(shí)數(shù)字電路和模擬電路分開。</p><p> (2)定位孔、標(biāo)準(zhǔn)孔等非安裝孔周圍1.27mm內(nèi)不得貼裝元件,螺釘?shù)劝惭b孔周圍3.5mm內(nèi)不得貼原器件。</p><p> (3)臥
113、裝電阻、電感、電解電容等元件的下方避免布過孔,以免波峰焊后過孔與元件殼體短路。</p><p> (4)元器件的外側(cè)距板邊的距離為5mm。</p><p> (5)貼裝元件焊盤的外側(cè)與相鄰插裝元件的外側(cè)距離大于2mm。</p><p> (6)金屬殼體元件與金屬件不能與其他殼體相碰,不能緊貼印制線、焊盤,其間距應(yīng)大于2mm;定位孔、緊固件安裝孔、橢圓孔及板中其
114、他方孔外側(cè)距板邊的尺寸應(yīng)大于3mm。</p><p> (7)發(fā)熱元件不能緊鄰導(dǎo)線和熱敏元件,高熱器件要均勻分布。</p><p> (8)電源插座要盡量布置在印制板的四周,電源插座與其相連的匯流條接線端應(yīng)布置在同側(cè)。</p><p> (9)所有IC元件單邊對齊,有極性元件極性標(biāo)示明確,同一印制板上極性標(biāo)示不得多于兩個(gè),出現(xiàn)兩個(gè)方向時(shí),兩個(gè)方向互相垂直。&l
115、t;/p><p> (10)板面布線應(yīng)疏密得當(dāng),當(dāng)疏密差別太大時(shí)應(yīng)以網(wǎng)狀填充,網(wǎng)格大于8mil。</p><p> (11)貼片焊盤上不能有通孔,以免焊膏流失造成元件虛焊。</p><p> (12)貼片單端對齊,字符方向一致,封裝方向一致。</p><p> (13)有極性的器件在以同一板上的極性標(biāo)示方向一致[9]。</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通燈控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----交通燈控制系統(tǒng)的設(shè)計(jì)
- 交通燈控制系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)----模擬交通燈控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)—模擬交通燈控制系統(tǒng)
- 交通燈畢業(yè)設(shè)計(jì)--基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)
- 模擬交通燈控制系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 交通燈控制系統(tǒng)畢業(yè)設(shè)計(jì)開題報(bào)告
- 基于plc交通燈控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于plc交通燈控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于plc交通燈控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-基于plc的交通燈控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)過街交通燈plc控制系統(tǒng)的設(shè)計(jì)
- 交通燈課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
- 城市交通燈畢業(yè)設(shè)計(jì)---基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)
- plc控制交通燈畢業(yè)設(shè)計(jì)---基于89s51的交通燈控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于plc的交通燈控制系統(tǒng)的設(shè)計(jì)
- 交通燈自動(dòng)控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-單片機(jī)控制交通燈控制系統(tǒng)設(shè)計(jì)
- 交通燈控制系統(tǒng)設(shè)計(jì)
評論
0/150
提交評論