畢業(yè)設(shè)計(jì) --自適應(yīng)型交通信號(hào)燈控制系統(tǒng)的設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  本科畢業(yè)設(shè)計(jì)</b></p><p><b> ?。?012屆)</b></p><p><b>  摘 要</b></p><p>  本畢業(yè)設(shè)計(jì)主要研制自適應(yīng)型交通信號(hào)控制系統(tǒng),本系統(tǒng)可以根據(jù)實(shí)時(shí)的道路車輛滯留量來(lái)對(duì)下一次的放行時(shí)間進(jìn)行控制,從而實(shí)現(xiàn)交通燈的智能

2、控制。</p><p>  本系統(tǒng)設(shè)計(jì)以AT89S52單片機(jī)為路口控制核心、LED作為顯示、驅(qū)動(dòng)電路與部分模擬器件構(gòu)成的一種電子產(chǎn)品。AT89S52單片機(jī)為控制核心,能實(shí)時(shí)的進(jìn)行控制;由于LED有高節(jié)能、安全性高 、壽命長(zhǎng) 、快速響應(yīng)、運(yùn)行成本低等優(yōu)點(diǎn),所以用作顯示很合理;驅(qū)動(dòng)電路用于對(duì)LED的驅(qū)動(dòng);此系統(tǒng)可以長(zhǎng)時(shí)間穩(wěn)定的運(yùn)行,可用于各種十字路口,進(jìn)行自動(dòng)的交通控制,由于留有其它接口,可以很方便的進(jìn)行升級(jí)擴(kuò)展。&

3、lt;/p><p>  89C51單片機(jī)的程序,使用keil編譯器進(jìn)行設(shè)計(jì)和調(diào)試完成,其主要功能是作為中央控制器。</p><p>  系統(tǒng)成功實(shí)現(xiàn)了定時(shí)模式以及自適應(yīng)模式,還留有升級(jí)接口,可根據(jù)實(shí)際應(yīng)用對(duì)其進(jìn)行升級(jí)擴(kuò)展,對(duì)于現(xiàn)實(shí)應(yīng)用有實(shí)際意義。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī),交通信號(hào),自適應(yīng),智能控制</p><p><b> 

4、 ABSTRACT</b></p><p>  This graduation Design is mainly development of adaptive traffic signal control system, the system can be based on real-time road vehicles retention of control to the next releas

5、e time in order to achieve intelligent control of traffic lights.</p><p>  The system is designed to microcontroller AT89S52 junctions to the core, the LED as a display drive circuit part of the simulator co

6、nsisting of an electronic product. AT89S52 MCU is very reasonable for the control of the core real-time control; LED has high energy, high safety, long life, fast response, low operating costs, so used as an indicator; T

7、he drive circuit for the LED driver; This system can be a long run, can be used for a variety of crossroads, automatic traffic control, leaving othe</p><p>  The program of 89C51 MCU is designed in keil and

8、debugged using keil compiler. its main function is as a central controller.</p><p>  The successful implementation of the timing mode and adaptive mode, also left to upgrade the interface upgrade and expansi

9、on, according to the practical application of its practical significance for reality applications.</p><p>  Key words:MCU,Traffic signals,self-adaption, automatic control</p><p><b>  目

10、錄</b></p><p><b>  1 引言2</b></p><p><b>  2 概述3</b></p><p>  2.1 自適應(yīng)型交通信號(hào)燈控制系統(tǒng)3</p><p>  2.2 本設(shè)計(jì)方案思路3</p><p>  2.3 單片機(jī)

11、概述23</p><p>  2.4 8255可編程并行接口芯片概況:8</p><p>  2.4 74HC573概況9</p><p>  3 總體設(shè)計(jì)11</p><p>  3.1 定時(shí)模式下原理11</p><p>  3.2 自適應(yīng)模式下原理12</p><p>

12、;  3.3 其他說(shuō)明13</p><p>  4 硬件設(shè)計(jì)14</p><p>  4.1 主控制器部分設(shè)計(jì)14</p><p>  4.2 擴(kuò)展并行IO口設(shè)計(jì)17</p><p>  圖10 8255擴(kuò)展IO口電路17</p><p>  4.3顯示部分電路設(shè)計(jì)17</p>&l

13、t;p>  4.4隊(duì)尾位置傳感器設(shè)計(jì)19</p><p>  4.5系統(tǒng)控制按鍵設(shè)計(jì)20</p><p>  4.6總體電路原理圖21</p><p>  5 軟件設(shè)計(jì)22</p><p>  5.1 總體方案22</p><p>  5.2 程序流圖22</p><p

14、>  6 制作與調(diào)試29</p><p>  6.1 硬件電路仿真29</p><p>  6.2 原理圖繪制及PCB制板1230</p><p>  6.3 硬件電路布線焊接31</p><p>  6.4 調(diào)試31</p><p><b>  7 結(jié)論33</b>&

15、lt;/p><p><b>  致謝34</b></p><p><b>  參考文獻(xiàn)35</b></p><p><b>  附錄36</b></p><p><b>  1 引言</b></p><p>  當(dāng)今,紅綠燈安裝

16、在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見(jiàn)和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。</p><p>  1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。18

17、69年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。</p><p>  電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó),這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈

18、。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故。</p><p>  信號(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)向

19、。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過(guò)停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。</p><p>  隨著世界范圍內(nèi)城市化和機(jī)動(dòng)化進(jìn)程的加快,城市交通越來(lái)越成為一個(gè)全球化的問(wèn)題。簡(jiǎn)單的十字路口交通燈已經(jīng)不能適應(yīng)車流量越來(lái)越大的實(shí)際情況,所以這就需要一個(gè)更為合

20、理和智能且成本不高的路口交通燈控制系統(tǒng)。我國(guó)社會(huì)經(jīng)濟(jì)的發(fā)展,城市化、城鎮(zhèn)化進(jìn)程的加快,道路交通堵塞問(wèn)題日趨嚴(yán)重,如何對(duì)交通進(jìn)行合理的管理和調(diào)度而盡可能減少堵車現(xiàn)象成為目前我國(guó)很多地方尤其是特大城市急需解決的問(wèn)題,顯然交通燈在其中起著不可或缺的作用。因此,一個(gè)好的交通燈控制系統(tǒng),將給道路擁擠、違章控制等方面給予技術(shù)革新。隨著大規(guī)模集成電路及計(jì)算機(jī)技術(shù)的迅速發(fā)展,以及人工智能在控制技術(shù)方面的廣泛運(yùn)用,智能設(shè)備有了很大的發(fā)展,是現(xiàn)代科技發(fā)展的

21、主流方向。</p><p>  本文所研究的自適應(yīng)型交通信號(hào)燈控制系統(tǒng)有一定的實(shí)際意義。</p><p><b>  2 概述</b></p><p>  2.1 自適應(yīng)型交通信號(hào)燈控制系統(tǒng)</p><p>  自適應(yīng)型交通信號(hào)燈控制系統(tǒng),可以根據(jù)實(shí)時(shí)的道路車輛滯留量來(lái)對(duì)下一次的放行時(shí)間進(jìn)行控制,從而實(shí)現(xiàn)交通燈的智能

22、控制。自適應(yīng)型交通信號(hào)燈控制系統(tǒng)以AT89S52單片機(jī)為路口控制核心、LED作為顯示、驅(qū)動(dòng)電路與部分模擬器件構(gòu)成的一種電子產(chǎn)品。AT89S52單片機(jī)為控制核心,能實(shí)時(shí)的進(jìn)行控制;由于LED有高節(jié)能、安全性高 、壽命長(zhǎng) 、快速響應(yīng)、運(yùn)行成本低等優(yōu)點(diǎn),所以用作顯示很合理;驅(qū)動(dòng)電路用于對(duì)LED的驅(qū)動(dòng);此系統(tǒng)可以長(zhǎng)時(shí)間穩(wěn)定的運(yùn)行,可用于各種十字路口,進(jìn)行自動(dòng)的交通控制,由于留有其它接口,可以很方便的進(jìn)行升級(jí)擴(kuò)展。</p><

23、p>  2.2 本設(shè)計(jì)方案思路</p><p>  本設(shè)計(jì)以實(shí)現(xiàn)自適應(yīng)型交通信號(hào)控制系統(tǒng),為實(shí)現(xiàn)其功能對(duì)于中央控制器的所擇極為重要。設(shè)計(jì)思路首先是選擇合理的中央控制器。</p><p>  因?yàn)閱纹瑱C(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本

24、功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過(guò)1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓低功耗。選擇8051單片機(jī)做為系統(tǒng)的控制器。</p><p>  8051雖然有4個(gè)8位I/O端口,但真正能提供借用的只有P1口,因?yàn)镻2和P0口通常用

25、于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8051通常需要擴(kuò)展。由于我們用外部輸入設(shè)定紅綠燈倒計(jì)時(shí)初值、數(shù)碼管的輸出顯示、紅綠黃信號(hào)燈的顯示都要用到一個(gè)I/O端口,顯然8051的端口是不夠,需要擴(kuò)展。擴(kuò)展的方法有兩種:(1)借用外部RAM地址來(lái)擴(kuò)展I/O端口;(2)采用I/O接口芯片來(lái)擴(kuò)充。我們用8255并行接口芯片來(lái)擴(kuò)展I/O端口。</p><p>  在選用單片機(jī)的基礎(chǔ)上對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)。<

26、/p><p>  2.3 單片機(jī)概述2</p><p>  單片機(jī)也被稱為微控制器(Microcontroller),是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。</p><p>  單片機(jī)由芯片內(nèi)僅有CPU

27、的專用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。</p><p>  STC單片機(jī):STC公司的單片機(jī)主要是基于8051內(nèi)核,是新一代增強(qiáng)型單片機(jī),指令代碼完全兼容傳統(tǒng)8051,速度快8~12倍,帶ADC,4路PWM,雙串口,有全球唯一ID號(hào),加密性好,抗干擾強(qiáng)。</p><p>  PI

28、C單片機(jī):是MICROCHIP公司的產(chǎn)品,其突出的特點(diǎn)是體積小,功耗低,精簡(jiǎn)指令集,抗干擾性好,可靠性高,有較強(qiáng)的模擬接口,代碼保密性好,大部分芯片有其兼容的FLASH程序存儲(chǔ)器的芯片。</p><p>  EMC單片機(jī):是臺(tái)灣義隆公司的產(chǎn)品,有很大一部分與PIC 8位單片機(jī)兼容,且相兼容產(chǎn)品的資源相對(duì)比PIC的多,價(jià)格便宜,有很多系列可選,但抗干擾較差。 </p><p>  ATMEL

29、單片機(jī)(51單片機(jī)):ATMEL公司的8位單片機(jī)有AT89、AT90兩個(gè)系列,AT89系列是8位Flash單片機(jī),與8051系列單片機(jī)相兼容,靜態(tài)時(shí)鐘模式;AT90系列單片機(jī)是增強(qiáng)RISC結(jié)構(gòu)、全靜態(tài)工作方式、內(nèi)載在線可編程Flash的單片機(jī),也叫AVR單片機(jī)。 </p><p>  PHLIPIS 51PLC系列單片機(jī)(51單片機(jī)):PHILIPS公司的單片機(jī)是基于80C51內(nèi)核的單片機(jī),嵌入了掉電檢測(cè)、模擬以

30、及片內(nèi)RC振蕩器等功能,這使51LPC在高集成度、低成本、低功耗的應(yīng)用設(shè)計(jì)中可以滿足多方面的性能要求。 </p><p>  HOLTEK單片機(jī):臺(tái)灣盛揚(yáng)半導(dǎo)體的單片機(jī),價(jià)格便宜,種類較多,但抗干擾較差,適用于消費(fèi)類產(chǎn)品。 </p><p>  TI公司單片機(jī)(51單片機(jī)):德州儀器提供了TMS370和MSP430兩大系列通用單片機(jī)。TMS370系列單片機(jī)是8位CMOS單片機(jī),具有多種存儲(chǔ)

31、模式、多種外圍接口模式,適用于復(fù)雜的實(shí)時(shí)控制場(chǎng)合;MSP430系列單片機(jī)是一種超低功耗、功能集成度較高的16位低功耗單片機(jī),特別適用于要求功耗低的場(chǎng)合</p><p>  松翰單片機(jī)(SONIX):是臺(tái)灣松翰公司的單片,大多為8位機(jī),有一部分與PIC 8位單片機(jī)兼容,價(jià)格便宜,系統(tǒng)時(shí)鐘分頻可選項(xiàng)較多,有PMWAD內(nèi)振內(nèi)部雜訊濾波。缺點(diǎn)RAM空間過(guò)小,抗干擾較好。</p><p>  本系統(tǒng)

32、設(shè)計(jì)選用的是STC系列單片機(jī)。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。</p><p>  單片機(jī)經(jīng)過(guò)1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。</p><p

33、>  8051是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。    8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明:</p><p><b>  ·中央處理器:</b><

34、;/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>  ·數(shù)據(jù)存儲(chǔ)器(RAM):</p><p>  8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存

35、器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。8051內(nèi)部結(jié)構(gòu)如圖1所示:</p><p>  圖1 8051內(nèi)部結(jié)構(gòu)圖</p><p>  ·程序存儲(chǔ)器(ROM):</p><p>  8051共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原

36、始數(shù)據(jù)或表格。</p><p>  ·定時(shí)/計(jì)數(shù)器(ROM):</p><p>  8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p>  ·并行輸入輸出(I/O)口:</p><p>  8051共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。&l

37、t;/p><p><b>  ·全雙工串行口:</b></p><p>  8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b>  ·中斷系統(tǒng):</b></p><p>  8051具備

38、較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。</p><p><b>  ·時(shí)鐘電路:</b></p><p>  8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。</p><p>  單片機(jī)的結(jié)構(gòu)有兩

39、種類型,一種是程序存儲(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)。</p><p>  下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖2。</p><p>

40、  圖2 MCS-51結(jié)構(gòu)框圖</p><p>  MCS-51的引腳說(shuō)明:</p><p>  MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:</p><

41、p>  MCS-51的引腳說(shuō)明:</p><p>  MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:如圖3</p><p>  圖3 8051單片機(jī)引腳圖</p&g

42、t;<p>  Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8051通電,時(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),8051的初始態(tài)。

43、8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p>  圖4 單片機(jī)復(fù)位電路</p><p>  ·Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的

44、正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。</p><p>  如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。</p><p>  ·Pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由

45、CPU讀入并執(zhí)行。</p><p>  ·Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(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端必須接地。</p><p>  

46、在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。</p><p>  2.4 8255可編程并行接口芯片概況:</p><p>  8255可編程并行接口芯片有三個(gè)輸入輸出端口,即A口、B口和C口,對(duì)應(yīng)于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個(gè)控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成

47、4位的端口,每個(gè)端口包含一個(gè)4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信號(hào)輸入。</p><p>  8255可編程并行接口芯片方式控制字格式說(shuō)明:</p><p>  8255有兩種控制命令字;一個(gè)是方式選擇控制字;另一個(gè)是C口按位置位/復(fù)位控制字。其中C口按位置位/復(fù)位控制字方式使用較為繁難,說(shuō)明也較冗長(zhǎng),故在此不作敘述,需要時(shí)用戶可自行查找有關(guān)資料。&l

48、t;/p><p>  方式控制字格式說(shuō)明如表1:</p><p><b>  表1</b></p><p>  D7:設(shè)定工作方式標(biāo)志,1有效。</p><p>  D6、D5:A口方式選擇</p><p><b>  0 0 —方式0</b></p><p&

49、gt;<b>  0 1 —方式1</b></p><p><b>  1 ×—方式2</b></p><p>  D4:A口功能 (1=輸入,0=輸出)</p><p>  D3:C口高4位功能 (1=輸入,0=輸出)</p><p>  D2:B口方式選擇 (0=方式0

50、,1=方式1)</p><p>  D1:B口功能 (1=輸入,0=輸出)</p><p>  D0:C口低4位功能 (1=輸入,0=輸出)</p><p>  8255可編程并行接口芯片工作方式說(shuō)明:</p><p>  方式0:基本輸入/輸出方式。適用于三個(gè)端口中的任何一個(gè)。每一個(gè)端口都可以用作輸入或輸出。輸出可被鎖存,輸入不

51、能鎖存。</p><p>  方式1:選通輸入/輸出方式。這時(shí)A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。</p><p>  方式2 :雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時(shí)C口的5條線用作通訊聯(lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。</p><p>  2.4 74HC573概況</p&g

52、t;<p>  74HC573八進(jìn)制 3 態(tài)非反轉(zhuǎn)透明鎖存器高性能硅門 CMOS 器件 SL74HC573其管腳示意圖如圖5所示:</p><p>  圖5 74HC573引腳圖</p><p>  其中:1D-8D為8個(gè)輸入端。</p><p>  1Q-8Q為8個(gè)輸出端。</p><p>  LE為數(shù)據(jù)打入端:當(dāng)LE為“1”

53、時(shí),鎖存器輸出</p><p>  狀態(tài)同輸入狀態(tài);當(dāng)LE由“1”變“0”時(shí),數(shù)據(jù)</p><p><b>  打入鎖存器</b></p><p>  OE為輸出允許端:當(dāng)OE=0時(shí),三態(tài)門打開(kāi);</p><p>  當(dāng)OE=1時(shí),三態(tài)門關(guān)閉,輸出高阻。</p><p>  數(shù)據(jù)有效延遲后于時(shí)鐘信

54、號(hào)有效。這意味著時(shí)鐘信號(hào)先到,數(shù)據(jù)信號(hào)后到。 </p><p>  在某些運(yùn)算器電路中有時(shí)采用鎖存器作為數(shù)據(jù)暫存器。所謂鎖存器,就是輸出端的狀態(tài)不會(huì)隨輸入端的狀態(tài)變化而變化,僅在有鎖存信號(hào)時(shí)輸入的狀態(tài)被保存到輸出,直到下一個(gè)鎖存信號(hào)到來(lái)時(shí)才改變。典型的鎖存器邏輯電路是 D 觸發(fā)器電路。 </p><p>  在某些應(yīng)用中,單片機(jī)的 I/O 口上需要外接鎖存器。例如,當(dāng)單片機(jī)連接片外存儲(chǔ)器時(shí)

55、,要接上鎖存器,這是為了實(shí)現(xiàn)地址的復(fù)用。假設(shè),MCU 端口其中的 8 路的 I/O 管腳既要用于地址信號(hào)又要用于數(shù)據(jù)信號(hào),這時(shí)就可以用鎖存器先將地址鎖存起來(lái)。 </p><p>  8051訪問(wèn)外部存儲(chǔ)器時(shí)P0口和P2口共做地址總線,P0口常接鎖存器再接存儲(chǔ)器。以防止總線間的沖突。而P2口直接接存儲(chǔ)器。因?yàn)閱纹瑱C(jī)內(nèi)部時(shí)序只能鎖住P2口的地址,如果用P0口傳輸數(shù)據(jù)時(shí)不用鎖存器的話,地址就改變了。 </p>

56、;<p>  看看8051單片機(jī)總線操作的時(shí)序圖。由于數(shù)據(jù)總線、地址總線共用P0口,所以要分時(shí)復(fù)用。先送地址信息,由ALE使能鎖存器將地址信息鎖存在外設(shè)的地址端,然后送數(shù)據(jù)信息和讀寫使能信號(hào),在指定的地址進(jìn)行讀寫操作。 </p><p>  使用鎖存器來(lái)區(qū)分開(kāi)單片機(jī)的地址和數(shù)據(jù),8051系列的單片機(jī)用的比較多,也有一些單片機(jī)內(nèi)部有地址鎖存功能,如8279就不用鎖存器了。</p><

57、;p><b>  3 總體設(shè)計(jì)</b></p><p>  系統(tǒng)整體設(shè)計(jì)框圖如圖6所示。</p><p><b>  圖6 系統(tǒng)框圖</b></p><p><b>  系統(tǒng)工作流程介紹:</b></p><p> ?。?)開(kāi)關(guān)鍵盤輸入交通燈初始時(shí)間,以及設(shè)置工作模式。

58、</p><p> ?。?)緊急情況由緊急情況控制鍵觸發(fā)全局中斷實(shí)現(xiàn)。</p><p> ?。?)控制器通過(guò)讀取鍵盤狀態(tài)設(shè)置工作模式,以及綠、紅燈的初始時(shí)間。</p><p> ?。?)以鍵盤設(shè)置的工作模式由8051的 P0口向8255的數(shù)據(jù)口輸出。</p><p> ?。?)當(dāng)系統(tǒng)工作在定時(shí)模式下,隊(duì)尾位置傳感器處于關(guān)閉狀態(tài),交通信號(hào)燈以初

59、始設(shè)置的時(shí)間進(jìn)行循環(huán)切換。</p><p>  (6)當(dāng)系統(tǒng)工作在自適應(yīng)模式下,紅燈倒計(jì)時(shí),判斷位置傳感器信號(hào),感應(yīng)隊(duì)伍較長(zhǎng)度是否超過(guò)設(shè)定值,超過(guò)則直接跳過(guò)紅燈倒計(jì)時(shí)。</p><p>  3.1 定時(shí)模式下原理</p><p>  十字路口模型如圖7。</p><p><b>  圖7 十字路口模型</b></

60、p><p>  東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間。指示燈燃亮的方案如表2。 </p><p>  表2 交通信號(hào)燈設(shè)計(jì)</p><p>  表2說(shuō)明: </p>

61、<p> ?。?)當(dāng)東西方向?yàn)榧t燈,此道車輛禁止通行,東西道行人可通過(guò);南北道為綠燈,此道車輛通過(guò),行人禁止通行。</p><p> ?。?)黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。 </p><p> ?。?)當(dāng)東西方向?yàn)榫G燈,此道車輛通行;南北方向?yàn)榧t燈,南北道車輛禁止通過(guò),行人通行。</p><p> ?。?)這樣如上表的時(shí)間

62、和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。</p><p>  (5)此表可根據(jù)車流量設(shè)定紅綠燈初始值。</p><p>  3.2 自適應(yīng)模式下原理</p><p>  自適應(yīng)模式十字路口模型如圖8所示。</p><p>  圖8 自適應(yīng)型交通十字路口</p><p>  自適應(yīng)型交通信號(hào)燈可

63、以通過(guò)時(shí)間設(shè)置不同時(shí)斷下,車輛排隊(duì)的長(zhǎng)度來(lái)進(jìn)行自動(dòng)的調(diào)整十字路口紅綠燈的時(shí)間。工作模式介紹:</p><p>  當(dāng)十字路口選擇以自適應(yīng)來(lái)控制交通紅綠燈信號(hào)時(shí),壓力傳感器開(kāi)始啟動(dòng)工作,假設(shè)東西方向?yàn)榧t燈時(shí),隨著排隊(duì)等候車輛的增加,東西方向道路上的壓力傳感器對(duì)隊(duì)伍的長(zhǎng)度反饋到處理器,當(dāng)隊(duì)伍長(zhǎng)度大于設(shè)置的長(zhǎng)度后,系統(tǒng)將直接停止紅燈倒計(jì)時(shí),跳到黃燈閃爍5秒后顯示綠燈,使得東西方向車輛可以通行。南北方向亦如是。</

64、p><p><b>  3.3 其他說(shuō)明</b></p><p>  系統(tǒng)分為硬件部分和軟件部分。本論文主要設(shè)計(jì)制作硬件部分以及單片機(jī)程序。</p><p><b>  4 硬件設(shè)計(jì)</b></p><p>  4.1 主控制器部分設(shè)計(jì)</p><p>  利用單片機(jī)設(shè)計(jì)主

65、控部分。本系統(tǒng)使用STC89c52。 STC89C52系列單片機(jī)是從引腳到內(nèi)核都完全兼容標(biāo)準(zhǔn)8051的單片機(jī),有PDIP(塑料雙列直插式封裝,芯片封裝的形式之一)-40、PLCC(特殊引腳芯片封裝,它是貼片封裝的一種)-44、PQFP(塑料方塊平面封裝,一種芯片封裝形式)-44三種封裝形式。STC推出的系列51單片機(jī)芯片是全面兼容其它51單片機(jī)的。STC89C51/芯片分別含有4K/字節(jié)FLASH ROM供用戶編程使用。STC89C系列

66、單片機(jī)是高速/低功耗的新一代8051單片機(jī),最高工作頻率可分別達(dá)到25MHz~50MHz,具體在芯片上的型號(hào)名稱后以“-XX”標(biāo)注。STC89C系列單片機(jī)有較寬的工作電壓,5V型號(hào)的可工作于3.4V~6.0V,3.3V型號(hào)的可工作于2.0V~4.0V(ISP/IAP操作時(shí)對(duì)電壓要求會(huì)稍嚴(yán))。正常工作模式下的典型耗電為4mA~7mA,空閑模式為2mA,掉電模式’(可由外部中斷喚醒)下則小于0.1μA。此外,STC89C系列單片機(jī)在完全兼容

67、8052芯片(在標(biāo)準(zhǔn)8051基礎(chǔ)上增加了T2定時(shí)器和128字節(jié)內(nèi)部RAM)的基礎(chǔ)上,新增了許多實(shí)用功能。</p><p>  本次選用了PDIP-40的51單片機(jī),這款單片機(jī)一共有40pin引腳。RST(復(fù)位輸入端),當(dāng)振蕩器運(yùn)行時(shí),在該引腳上出項(xiàng)兩個(gè)機(jī)器周期的高電平將是單片機(jī)復(fù)位。ALE/PROG當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE端仍以不變的頻率

68、(此頻率為振蕩器的頻率的1/6)周期性地出現(xiàn)正脈沖信號(hào)。因此,它可用作對(duì)外輸出地時(shí)鐘,或用于定時(shí)目的。然而,要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。在對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(/PROG)。如必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只一條M0VX 和M0VC 指令A(yù)LE 才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序

69、時(shí),應(yīng)設(shè)置ALE 無(wú)效。</p><p>  PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi) 兩次有效的PSEN信號(hào)。</p><p>  EA VPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保

70、持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。F1ash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓Vpp。</p><p>  XTALl:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>  

71、P0 :P0口是一組8位漏極開(kāi)路型雙向I/0口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“l(fā)”可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在F1ash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p>  P1 :Pl 是一個(gè)帶內(nèi)部上拉

72、電阻的8位雙向I/O口,Pl的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“l(fā)”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。Flash編程和程序校驗(yàn)期間,Pl接收低8位地址。</p><p>  P2 :P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)

73、4 個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和其它控制信號(hào)。</p><p>  P3 :P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/0 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門電路。對(duì)P3口寫入“l(fā)”時(shí),它們被

74、內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。</p><p>  由于本人在校期間比較習(xí)慣應(yīng)用89C51系列中的STC89C52RC,所以本設(shè)計(jì)的主控器選擇STC89C52RC。STC單片機(jī)的理由:降低成本,提升性能,原有程序直接使用,硬件無(wú)需改動(dòng)。選用PLCC, PQFP小型封裝, 3.3V工作電壓?jiǎn)纹瑱C(jī),可使產(chǎn)品更小,更輕,功耗更低。這里我們選擇用DIP-

75、40的封裝。</p><p>  最小系統(tǒng)由單片機(jī)、復(fù)位電路、晶振電路構(gòu)成。STC89C52RD其RST引腳在接收到2個(gè)機(jī)器周期的高電平信號(hào)后復(fù)位,復(fù)位電路可在上電是復(fù)位單片機(jī),通過(guò)SW1復(fù)位按鈕在單片機(jī)運(yùn)行過(guò)程當(dāng)中可以隨時(shí)復(fù)位。晶振電路MCS-51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成震蕩器的高增益反相放大器,管腳XTAL1和XTAL2分別是該反相放大器的輸入端和輸出端,在芯片的外部通過(guò)這兩個(gè)引腳跨接晶振和微調(diào)電容,形成反饋

76、電路,就構(gòu)成了一個(gè)穩(wěn)定的自激震蕩器。這里晶振選擇12MHZ,兩個(gè)微調(diào)電容取33P。</p><p>  STC89C52RC的最小系統(tǒng)如圖9所示。</p><p>  圖9 單片機(jī)最小系統(tǒng) </p><p>  單片機(jī)復(fù)位電路的作用:?jiǎn)纹瑱C(jī)是屬于數(shù)字電路,數(shù)字電路就只有“0”低電平和“1”高電平兩個(gè)狀態(tài)。這兩狀態(tài)是已知狀態(tài),比如有的0代表是0.0-0.01v ,

77、1代表4.99-5.0v 。但在電路上電時(shí)候或電壓波動(dòng)不穩(wěn)定的時(shí)候,當(dāng)給單片機(jī)上電那一瞬間,電壓有在幾微秒內(nèi)(有的是幾毫秒內(nèi))不是直接跳變到5V的而是一個(gè)直線上升的階段,這時(shí)候,單片機(jī)不能正常工作,需要復(fù)位電路給它延時(shí)以等到電壓穩(wěn)定。這叫上電復(fù)位。</p><p>  晶振的作用:片機(jī)系統(tǒng)里都有晶振,在單片機(jī)系統(tǒng)里晶振作用非常大,全程叫晶體振蕩器,他結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率,單片機(jī)晶振提供的時(shí)鐘

78、頻率越高,那么單片機(jī)運(yùn)行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率。在通常工作條件下,普通的晶振頻率絕對(duì)精度可達(dá)百萬(wàn)分之五十。高級(jí)的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。同時(shí)為系統(tǒng)提供基本的時(shí)鐘信號(hào)。通常一個(gè)系統(tǒng)共用一個(gè)晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶

79、振,而通過(guò)電子調(diào)整頻率的方法保持同步。</p><p>  4.2 擴(kuò)展并行IO口設(shè)計(jì)</p><p>  由于單片機(jī)并行IO口只有四個(gè),本自適應(yīng)交通信號(hào)控制系統(tǒng)使用了并行IO口起過(guò)4個(gè),方為便系統(tǒng)后續(xù)的升級(jí)及擴(kuò)展使用,選用8255A可編程并行接口芯片。擴(kuò)展并行IO口硬件電路如圖10所示:</p><p>  圖10 8255擴(kuò)展IO口電路</p>

80、<p><b>  顯示部分電路設(shè)計(jì)</b></p><p>  由于LED有高節(jié)能、安全性高 、壽命長(zhǎng) 、快速響應(yīng)、運(yùn)行成本低等優(yōu)點(diǎn),所以用作顯示很合理,特別是室外運(yùn)作,LED更有優(yōu)勢(shì)。</p><p>  顯示部分顯示自適應(yīng)型交通信號(hào)系統(tǒng)信號(hào)燈的剩余時(shí)間。選擇用共陽(yáng)數(shù)碼管來(lái)做顯示模塊。數(shù)碼管與8255A輸出口PC連接,a-PC0、b-PC1、c-PC2、

81、d-PC3、e-PC4、f-PC5、g-PC6、DP-PC7。</p><p>  數(shù)碼管管腳圖如圖11所示。</p><p>  圖11 共陽(yáng)數(shù)碼管腳圖</p><p>  數(shù)碼管由8255A輸出口PB口控制三極管驅(qū)動(dòng),信號(hào)燈由8255A輸出口PA控制,顯示部分電路圖如圖11所示:</p><p>  圖11 顯示原理電路</p>

82、;<p><b>  隊(duì)尾位置傳感器設(shè)計(jì)</b></p><p>  隊(duì)尾位置傳感器可選用壓力傳感器,當(dāng)有車輛停留在壓力傳感器上時(shí),輸出信號(hào)給主控器做相應(yīng)處理。為了簡(jiǎn)化電路,這里壓力傳感器用紅外反射對(duì)管替代。紅外對(duì)管如圖12所示:</p><p><b>  圖12 紅外對(duì)管圖</b></p><p>  電

83、路原理圖設(shè)計(jì)如圖13所示,其中P1與P3為紅外發(fā)射頭,P2與P4為紅外接收頭,信號(hào)輸出接R32、R31上拉電阻送主控單片機(jī)處理。</p><p>  圖12 紅外對(duì)管電路</p><p><b>  系統(tǒng)控制按鍵設(shè)計(jì)</b></p><p>  按鍵程序設(shè)計(jì)時(shí)考慮到按鍵開(kāi)關(guān)去抖動(dòng)問(wèn)題,機(jī)械式按鍵再按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有

84、一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)。其抖動(dòng)過(guò)程如圖13所示,抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為510 ms。</p><p>  圖13 按鍵按下?tīng)顟B(tài)圖</p><p>  軟件上采取的措施是:在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)10 ms左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài)。同

85、理,在檢測(cè)到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而可消除抖動(dòng)的影響。</p><p>  本系統(tǒng)有6個(gè)控制按鍵,及三個(gè)拔動(dòng)控制鍵,按鍵與單片機(jī)P1口連接,加上拉電阻,當(dāng)按鍵按下或撥動(dòng)到開(kāi)狀態(tài)下時(shí),P1口相應(yīng)被拉低。電路如圖14所示:</p><p><b>  圖14 按鍵電路圖</b></p><p><b>  總體電路原理

86、圖</b></p><p>  總體電路圖如圖15所示:</p><p>  圖15 總電路圖設(shè)置</p><p><b>  5 軟件設(shè)計(jì)</b></p><p><b>  5.1 總體方案</b></p><p>  軟件設(shè)計(jì)采用C51編寫,編譯器采用K

87、eil。該編譯器是51系列單片機(jī)程序設(shè)計(jì)的常用工具,既可用匯編,也支持C語(yǔ)言編譯。同時(shí)具有完善的調(diào)試功能。</p><p><b>  5.2 程序流圖</b></p><p><b>  圖16 程序流程圖</b></p><p><b>  程序流程說(shuō)明:</b></p><

88、p>  1.程序開(kāi)始進(jìn)行初始化。</p><p>  2.全局中斷設(shè)置緊急情況觸發(fā),如有緊急情況,則進(jìn)入緊急情況處理程序。</p><p>  3.等待鍵盤輸入事件,設(shè)置系統(tǒng)的工作模式,以及對(duì)紅綠燈的初始值。</p><p>  4.由鍵盤設(shè)置的工作模式使程序進(jìn)入定時(shí)模式或自適應(yīng)模式。</p><p>  5.在定時(shí)模式下,紅綠燈安照設(shè)

89、置的初始值進(jìn)行循環(huán)。</p><p>  6.在自適應(yīng)模式下紅燈倒計(jì)時(shí)過(guò)程中判斷隊(duì)尾有無(wú)觸發(fā),如隊(duì)尾過(guò)長(zhǎng)隊(duì)尾位置傳感器有觸發(fā)信號(hào)過(guò)來(lái),停止紅燈倒計(jì)時(shí),最后綠燈倒計(jì)時(shí)判定紅燈方向隊(duì)尾觸發(fā)情況,有觸發(fā)停止紅燈倒計(jì)時(shí),往回紅燈倒計(jì)時(shí)如此循環(huán)。</p><p>  5.2.1定時(shí)1秒程序設(shè)計(jì)</p><p>  我們可以使用延時(shí)程序或定時(shí)來(lái)產(chǎn)生一秒信號(hào),使用定時(shí)期更加準(zhǔn)備。

90、本系統(tǒng)利用MCS-51內(nèi)部定時(shí)器才生溢出中斷來(lái)確定1秒的時(shí)間。 </p><p><b>  計(jì)數(shù)器初值計(jì)算:</b></p><p>  定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值設(shè)定為C和計(jì)數(shù)初值設(shè)定為TC 可得到如下計(jì)算通式:</p&

91、gt;<p><b>  TC=M-C</b></p><p>  式中,M為計(jì)數(shù)器摸值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為213 ;在方式1時(shí)M的值為216;在方式2和3為28。</p><p><b>  計(jì)算公式:</b></p><p>  T=(M-TC)T計(jì)數(shù)</p><

92、p>  或TC=M-T/T計(jì)數(shù)</p><p>  T計(jì)數(shù)是單片機(jī)時(shí)鐘周期TCLK的12倍;TC為定時(shí)初值</p><p>  如單片機(jī)的主脈沖頻率為TCLK12MHZ ,經(jīng)過(guò)12分頻</p><p>  方式0:TMAX=213*1微秒=8.192毫秒</p><p>  方式1:TMAX=216*1微秒=65.536毫秒</p

93、><p>  顯然1秒鐘已經(jīng)超過(guò)了計(jì)數(shù)器的最大定時(shí)間,所以我們只有采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問(wèn)題.</p><p><b> ?。泵氲姆椒?</b></p><p>  我們采用在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使T0定時(shí)50毫秒,輸出50毫秒使T0工作在工作方式1下,計(jì)算初值,TH0=0x3C,TL0=0xB0。這樣每當(dāng)T0

94、到50毫秒時(shí)CPU就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計(jì)數(shù)器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時(shí)間顯示程序。</p><p><b>  相應(yīng)程序代碼:</b></p><p>  void t0_second() interrupt 1</p><p><b>  

95、{</b></p><p>  TH0=0x3c;//恢復(fù)定時(shí)器0初值</p><p><b>  TL0=0xb0;</b></p><p><b>  s++;</b></p><p><b>  if(s==20)</b></p><p

96、><b>  {</b></p><p><b>  s=0;</b></p><p><b>  t--;</b></p><p><b>  }</b></p><p><b>  }</b></p><

97、p>  5.2.2數(shù)碼管顯示程序設(shè)計(jì)</p><p>  本系統(tǒng)總共有8個(gè)共陽(yáng)數(shù)碼管,使用動(dòng)態(tài)延時(shí)掃描來(lái)輸出。數(shù)碼管顯示內(nèi)容通過(guò)查表法實(shí)現(xiàn)。數(shù)碼管驅(qū)動(dòng)代碼表如下表3所示:</p><p><b>  表3 驅(qū)動(dòng)代碼表</b></p><p><b>  延時(shí)程序:</b></p><p>  

98、void delay(uint c)</p><p><b>  {</b></p><p><b>  uint i,j;</b></p><p>  for(i=0;i<c;i++)</p><p>  for(j=0;j<100;j++);</p><p>

99、<b>  }</b></p><p><b>  數(shù)碼管顯示定義:</b></p><p>  //待顯示字符編碼隊(duì)列</p><p>  uchar code DSY_CODE[]={</p><p>  0Xc0,/*0*/</p><p>  0Xf9,/*1*/&l

100、t;/p><p>  0Xa4,/*2*/</p><p>  0Xb0,/*3*/</p><p>  0X99,/*4*/</p><p>  0X92,/*5*/</p><p>  0X82,/*6*/</p><p>  0Xf8,/*7*/</p><p>  0

101、X80,/*8*/</p><p>  0X90,/*9*/</p><p>  0Xff,/*NULL*/</p><p><b>  };</b></p><p><b>  //數(shù)碼管選通</b></p><p>  uchar code DSY_choice[]={0

102、x01,0x02,0x04,0x08};</p><p><b>  動(dòng)態(tài)掃描程序:</b></p><p>  PB=DSY_choice[0];</p><p>  PC=DSY_CODE[set_t/10];</p><p>  delay(10);</p><p>  PB=DSY_c

103、hoice[1];</p><p>  PC=DSY_CODE[set_t%10];</p><p>  delay(10);</p><p>  PB=DSY_choice[2];</p><p>  PC=DSY_CODE[(set_t-5)/10];</p><p>  delay(10);</p>

104、;<p>  PB=DSY_choice[3];</p><p>  PC=DSY_CODE[(set_t-5)%10];</p><p>  delay(10);</p><p>  5.2.3按鍵程序設(shè)計(jì)</p><p>  按鍵通過(guò)程序設(shè)計(jì)實(shí)現(xiàn)消除抖動(dòng)干擾。按鍵程序:</p><p>  void

105、key_scan()</p><p><b>  {</b></p><p>  if(P1_5==0)//加1鍵</p><p><b>  {</b></p><p>  delay(50);</p><p>  if(P1_5==0)</p><p

106、><b>  {</b></p><p>  set_t=set_t+1;</p><p>  } while(P1_5==0);</p><p><b>  }</b></p><p>  if(P1_4==0) //加5鍵</p><p><b> 

107、 {</b></p><p>  delay(50);</p><p>  if(P1_4==0)</p><p><b>  {</b></p><p>  set_t=set_t+5;</p><p>  } while(P1_4==0);</p><p>

108、<b>  }</b></p><p>  if(P1_3==0)//減5鍵</p><p><b>  {</b></p><p>  delay(50);</p><p>  if(P1_3==0)</p><p><b>  {</b></

109、p><p>  set_t=set_t-5;</p><p>  } while(P1_3==0);</p><p><b>  }</b></p><p>  if(P1_2==0) //減1鍵</p><p><b>  {</b></p><p&g

110、t;  delay(50);</p><p>  if(P1_2==0)</p><p><b>  {</b></p><p>  set_t=set_t-1;</p><p>  } while(P1_2==0);</p><p><b>  }</b></p>

111、;<p><b>  }</b></p><p>  5.2.4緊急中斷程序設(shè)計(jì)</p><p>  緊急中斷采用外部中斷0實(shí)現(xiàn),緊急中斷程序:</p><p>  void int0(void) interrupt 0 using 1</p><p><b>  {</b></

112、p><p><b>  delay(2);</b></p><p>  if(P3_2==0)</p><p><b>  {</b></p><p><b>  P2_0=1;</b></p><p><b>  P2_1=1;</b>

113、;</p><p><b>  P2_2=0;</b></p><p><b>  P2_3=1;</b></p><p><b>  P2_4=1;</b></p><p><b>  P2_5=0;</b></p><p>&l

114、t;b>  P2_6=1;</b></p><p><b>  P2_7=1;</b></p><p><b>  P3_6=1;</b></p><p><b>  P3_7=1;</b></p><p><b>  P0=0xff;</b

115、></p><p><b>  };</b></p><p><b>  while(1)</b></p><p>  { if(P1_6==0) //按鍵P1_6按下退出中斷</p><p><b>  {</b></p><p>&l

116、t;b>  delay(2);</b></p><p>  if(P1_6==0);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>&l

117、t;b>  }</b></p><p>  5.2.5 IO口擴(kuò)展8255程序設(shè)計(jì)</p><p>  用8051的P0 口的 p0.2 連接8255的片選信號(hào)cs 我們用8051的地址采用全譯碼方式,當(dāng)p0.2 =0時(shí)片選有效, 其他無(wú)效,p0.0 p0.1 用于選擇8255端口</p><p>  P0.7 P0.6 P0.5 P0.

118、4 P0.3 P0.2 P0.1 P0.0</p><p>  A7 A6 A5 A4 A3 A2 A1 A0</p><p>  X X X X X 1 0 0 00H為8255 的PA口</p><p>  X X X X X 1 0

溫馨提示

  • 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ù)僅提供信息存儲(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)論