本站小編為你精心準(zhǔn)備了可編程交通控制系統(tǒng)設(shè)計(jì)參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1引言
在今天,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見(jiàn)和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。
1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠色兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。
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)入交叉路口。
2單片機(jī)概述
單片機(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、4代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引腳的多功能化,以及低電壓低功耗。
3芯片的選擇與簡(jiǎn)介
3.1方案設(shè)計(jì)與論證
(1)顯示界面方案
該系統(tǒng)要求完成倒計(jì)時(shí)功能,我考慮了兩種方案:
方案一:完全采用點(diǎn)陣式LCD顯示。這種方案功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。但實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作。
方案二:采用LED顯示。因?yàn)樵O(shè)計(jì)只要求倒計(jì)時(shí)數(shù)字輸出,考慮到現(xiàn)實(shí)情況,用LED顯示時(shí)間既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。權(quán)衡利弊,決定采用方案二以實(shí)現(xiàn)系統(tǒng)的顯示功能。
(2)輸入方案
題目要求系統(tǒng)能手動(dòng)設(shè)燈亮?xí)r間、緊急情況處理,我考慮了兩種方案:
方案一:采用8155擴(kuò)展I/O口及鍵盤,顯示等。該方案的優(yōu)點(diǎn)是:使用靈活且可編程,并且有RAM,及計(jì)數(shù)器。若用該方案,可提供較多I/O口,解決I/O口不足的難題。
方案二:采用ZLG7289來(lái)控制鍵盤及數(shù)碼管顯示。由于7289是串行控制方式,有專用的命令字,控制起來(lái)簡(jiǎn)單,占用較少口線,但成本高,且不能提供更多的I/O口。
綜上所述,故選擇方案二。
(3)交通燈演示方案:
采用在面板上焊接三色發(fā)光二極管模擬交通紅綠燈,以發(fā)光二極管拼出箭頭狀作為左右轉(zhuǎn)提示,簡(jiǎn)單明了,但由于市面上沒(méi)有三色發(fā)光二極管賣,所以只好選擇了單色發(fā)光二極管模擬交通紅綠燈。
(4)單片機(jī)控制方案:
由于系統(tǒng)所需資源少,一片8031足以勝任系統(tǒng)的要求。但由于市場(chǎng)對(duì)8031的需求不大,造成性價(jià)比低,因而,本次設(shè)計(jì)選用了功能更強(qiáng)大,價(jià)格更便宜,且具有8KB可改編程序Flash存儲(chǔ)器(可經(jīng)受1,000次的寫入/擦除周期)的AT89S52。
3.2AT89S52芯片簡(jiǎn)介
AT89系列單片機(jī)是以8051單片機(jī)為內(nèi)核,結(jié)合自己的技術(shù)優(yōu)勢(shì)構(gòu)成的產(chǎn)品,所以它和8051是兼容的系列。
AT89系列單片機(jī)具有下列很明顯的優(yōu)點(diǎn):
(1)AT89S52具有下列主要性能
.8KB可改編程序Flash存儲(chǔ)器(可經(jīng)受1,000次的寫入/擦除周期)
.全靜態(tài)工作:0Hz-24MHz
.三級(jí)程序存儲(chǔ)器保密
.1288字節(jié)內(nèi)部RAM
.2個(gè)16位定時(shí)器/計(jì)數(shù)器
.6個(gè)中斷源
.片內(nèi)時(shí)鐘振蕩器
(2)控制或與其它電源復(fù)用引腳RST、ALE/、和/Vpp
①RST復(fù)位輸入端。當(dāng)振蕩器運(yùn)行時(shí),在該引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。
②ALE/當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE端仍以不變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。然而要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。在對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖()。
如果需要的話,通過(guò)對(duì)專用寄存器(SFR)區(qū)中8EH單元的D0位置數(shù),可禁止ALE操作。該位置數(shù)后,只有在執(zhí)行一條MOVX或MOVC指令期間,ALE才會(huì)被激活。另外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),該設(shè)定禁止ALE位無(wú)效。
③程序存儲(chǔ)允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。當(dāng)AT89S52/LV51由外部程序存儲(chǔ)器取指令(或常數(shù))時(shí),每個(gè)機(jī)器周期兩次有效(既輸出2個(gè)脈沖)。但在此期間內(nèi),每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。
④/Vpp外部訪問(wèn)允許端。要使CPU只訪問(wèn)外部程序存儲(chǔ)器(地址為0000H~FFFFH),則端必須保持低電平(接到GND端)。然而要注意的是,如果保密位LB1被編程,復(fù)位時(shí)在內(nèi)部會(huì)鎖存端的狀態(tài)。
當(dāng)端保持高電平(接Vcc端)時(shí),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的程序。在Flash存儲(chǔ)器編程期間,該引腳也用于施加12V的編程允許電源Vpp。(3)輸入/輸出引腳P0.0-P0.7、P1.0-P1.7、P2.0-P2.7和P3.0-P3.7
①P0端口(P0.0-P0.7)P0是一個(gè)8位漏極開(kāi)路型雙向I/O端口。作為輸出口用時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL輸入,對(duì)端口寫1時(shí),又可作高阻抗輸入端用。
在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問(wèn)期間激活了內(nèi)部的上拉電阻。
在Flash編程時(shí),P0端口接收指令字節(jié);而在驗(yàn)證程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。
②P1端口(P1.0-P1.7)P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。作輸入口時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。
③P2端口(P2.0-P2.7)P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P2作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。
在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@DPIR指令)時(shí),P2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@RI指令)時(shí),P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。
④P3端口(P3.0-P3.7)P3是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。
在AT89S52中,P3端口還用于一些專門功能,這些兼用功能見(jiàn)表3-1
表3-1P3端口功能表
端口引腳兼用功能
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.38155芯片簡(jiǎn)介
3.3.18155芯片的管腳介紹
(1)8155采用40腳雙列直插式封裝,單一+5v電源。
(2)RESET:復(fù)位信號(hào)線,高電平有效,在該輸入端加一脈沖寬度為600ns的高電平信號(hào),就可使8155可靠復(fù)位,復(fù)位時(shí)三個(gè)輸入/輸出口預(yù)置為輸入方式。
(3):片選端,8155為低電平有效,當(dāng)8155上加上一個(gè)低電平時(shí),芯片被選中,可以與單片機(jī)交換信息。
(4)AD0~AD7:三態(tài)地址/數(shù)據(jù)總線,在ALE的下降沿把8位地址鎖存于內(nèi)部地址鎖存器,地址可代RAM或輸入/輸出用,由IO/信號(hào)的極性而定,8位數(shù)據(jù)的流向取決于或信號(hào)的狀態(tài)。
(5)ALE:地址鎖存器啟用信號(hào)線,高電平有效,其下降沿把AD0~AD7上的地址,片選信號(hào)、IO/信號(hào)鎖存起來(lái)。
(6)IO/:IO和RAM選擇信號(hào)線,該線高電平選擇IO輸入/輸出,該線低電平選擇存儲(chǔ)器。
(7):讀信號(hào)線,低電平有效,當(dāng)片選信號(hào)與有效時(shí),開(kāi)啟AD0~AD7緩沖器,如果IO/為低電平,則RAM的內(nèi)容讀至AD0~AD7,如果IO/為高電平,則選中的輸入/輸出口的內(nèi)容讀到AD0~AD7(8):寫信號(hào)線,低電平有效,當(dāng)片選信號(hào)和信號(hào)有效時(shí),AD0~AD7上的數(shù)據(jù)將根據(jù)IO/極性寫入RAM或I/O口。
(9)PA0~PA7:輸入/輸出口PA的信號(hào)線,通用8位輸入/輸出口,輸入/輸出的方向通過(guò)對(duì)命令/狀態(tài)寄存器的編程來(lái)選擇。
(10)PB0~PB7:輸入/輸出口PB的信號(hào)線,通用8位輸入/輸出口,輸入/輸出的方向通過(guò)對(duì)命令/狀態(tài)寄存器的編程來(lái)選擇。
(11)PC0~PC5:輸入/輸出口PC的信號(hào)線,6位可編程輸入/輸出口,也可用作PA和PB口的控制信號(hào)線,通過(guò)對(duì)命令/狀態(tài)寄存器編程來(lái)選擇。
8155可編程并行接口芯片有三個(gè)輸入輸出端口,即PA口、PB口和PC口,對(duì)應(yīng)于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個(gè)控制寄存器,即控制口。通常PA口、PB口作為輸入輸出的數(shù)據(jù)端口。PC口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個(gè)端口包含一個(gè)4位鎖存器。它們分別與端口PA/PB配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信號(hào)輸入。
8155可編程并行接口芯片方式控制字格式說(shuō)明:
8155有兩種控制命令字;一個(gè)是方式選擇控制字;另一個(gè)是PC口按位置位/復(fù)位控制字。其中PC口按位置位/復(fù)位控制字方式使用較為繁難,說(shuō)明也較冗長(zhǎng),故在此不作敘述,需要時(shí)用戶可自行查找有關(guān)資料。
方式控制字格式說(shuō)明如表3-2:
表3-28155方式控制字格式說(shuō)明
D7D6D5D4D3D2D1D0
D7:設(shè)定工作方式標(biāo)志,1有效。
D6、D5:PA口方式選擇
00—方式0
01—方式1
1×—方式2
D4:PA口功能(1=輸入,0=輸出)
D3:PC口高4位功能(1=輸入,0=輸出)
D2:PB口方式選擇(0=方式0,1=方式1)
D1:PB口功能(1=輸入,0=輸出)
D0:PC口低4位功能(1=輸入,0=輸出)
3.3.28155可編程并行接口芯片工作方式說(shuō)明
方式0:基本輸入/輸出方式。適用于三個(gè)端口中的任何一個(gè)。每一個(gè)端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。
方式1:選通輸入/輸出方式。這時(shí)PA口或PB口的8位外設(shè)線用作輸入或輸出,PC口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。
方式2:雙向總線方式。只有PA口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時(shí)PC口的5條線用作通訊聯(lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。新晨
3.4共陽(yáng)數(shù)碼管
圖3-2(a)共陰圖3-2(b)共陽(yáng)
圖3-1管腳圖
LED顯示器件是通過(guò)發(fā)光二極管顯示字段的器件。在單片機(jī)控制系統(tǒng)中常用的是由7段LED數(shù)碼管,它的顯示塊中有8個(gè)發(fā)光二極管,7個(gè)發(fā)光二極管組成字符“8”,1個(gè)發(fā)光二極管構(gòu)成小數(shù)點(diǎn),因此有人稱7段LED數(shù)碼管為8段顯示器。LED數(shù)碼管的管腳配置如圖3-1所示。LED數(shù)碼管有共陰極和共陽(yáng)極兩類。共陰極LED數(shù)碼管的發(fā)光二極管的陰極共地,如圖3-2(a),當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極電壓為高電平時(shí),二極管發(fā)光;而共陽(yáng)極LED數(shù)碼管是發(fā)光二極管的陽(yáng)極共接,如圖3-2(b),當(dāng)某個(gè)二極管的陰極電壓為低電平時(shí),二極管發(fā)光