

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)設(shè)計</b></p><p><b> (2012屆)</b></p><p><b> 摘 要</b></p><p> 本畢業(yè)設(shè)計主要研制自適應(yīng)型交通信號控制系統(tǒng),本系統(tǒng)可以根據(jù)實時的道路車輛滯留量來對下一次的放行時間進行控制,從而實現(xiàn)交通燈的智能
2、控制。</p><p> 本系統(tǒng)設(shè)計以AT89S52單片機為路口控制核心、LED作為顯示、驅(qū)動電路與部分模擬器件構(gòu)成的一種電子產(chǎn)品。AT89S52單片機為控制核心,能實時的進行控制;由于LED有高節(jié)能、安全性高 、壽命長 、快速響應(yīng)、運行成本低等優(yōu)點,所以用作顯示很合理;驅(qū)動電路用于對LED的驅(qū)動;此系統(tǒng)可以長時間穩(wěn)定的運行,可用于各種十字路口,進行自動的交通控制,由于留有其它接口,可以很方便的進行升級擴展。&
3、lt;/p><p> 89C51單片機的程序,使用keil編譯器進行設(shè)計和調(diào)試完成,其主要功能是作為中央控制器。</p><p> 系統(tǒng)成功實現(xiàn)了定時模式以及自適應(yīng)模式,還留有升級接口,可根據(jù)實際應(yīng)用對其進行升級擴展,對于現(xiàn)實應(yīng)用有實際意義。</p><p> 關(guān)鍵詞:單片機,交通信號,自適應(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)型交通信號燈控制系統(tǒng)3</p><p> 2.2 本設(shè)計方案思路3</p><p> 2.3 單片機
11、概述23</p><p> 2.4 8255可編程并行接口芯片概況:8</p><p> 2.4 74HC573概況9</p><p> 3 總體設(shè)計11</p><p> 3.1 定時模式下原理11</p><p> 3.2 自適應(yīng)模式下原理12</p><p>
12、; 3.3 其他說明13</p><p> 4 硬件設(shè)計14</p><p> 4.1 主控制器部分設(shè)計14</p><p> 4.2 擴展并行IO口設(shè)計17</p><p> 圖10 8255擴展IO口電路17</p><p> 4.3顯示部分電路設(shè)計17</p>&l
13、t;p> 4.4隊尾位置傳感器設(shè)計19</p><p> 4.5系統(tǒng)控制按鍵設(shè)計20</p><p> 4.6總體電路原理圖21</p><p> 5 軟件設(shè)計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> 參考文獻35</b></p><p><b> 附錄36</b></p><p><b> 1 引言</b></p><p> 當(dāng)今,紅綠燈安裝
16、在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。</p><p> 1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。18
17、69年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。</p><p> 電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈
18、。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。</p><p> 信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向
19、。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。</p><p> 隨著世界范圍內(nèi)城市化和機動化進程的加快,城市交通越來越成為一個全球化的問題。簡單的十字路口交通燈已經(jīng)不能適應(yīng)車流量越來越大的實際情況,所以這就需要一個更為合
20、理和智能且成本不高的路口交通燈控制系統(tǒng)。我國社會經(jīng)濟的發(fā)展,城市化、城鎮(zhèn)化進程的加快,道路交通堵塞問題日趨嚴(yán)重,如何對交通進行合理的管理和調(diào)度而盡可能減少堵車現(xiàn)象成為目前我國很多地方尤其是特大城市急需解決的問題,顯然交通燈在其中起著不可或缺的作用。因此,一個好的交通燈控制系統(tǒng),將給道路擁擠、違章控制等方面給予技術(shù)革新。隨著大規(guī)模集成電路及計算機技術(shù)的迅速發(fā)展,以及人工智能在控制技術(shù)方面的廣泛運用,智能設(shè)備有了很大的發(fā)展,是現(xiàn)代科技發(fā)展的
21、主流方向。</p><p> 本文所研究的自適應(yīng)型交通信號燈控制系統(tǒng)有一定的實際意義。</p><p><b> 2 概述</b></p><p> 2.1 自適應(yīng)型交通信號燈控制系統(tǒng)</p><p> 自適應(yīng)型交通信號燈控制系統(tǒng),可以根據(jù)實時的道路車輛滯留量來對下一次的放行時間進行控制,從而實現(xiàn)交通燈的智能
22、控制。自適應(yīng)型交通信號燈控制系統(tǒng)以AT89S52單片機為路口控制核心、LED作為顯示、驅(qū)動電路與部分模擬器件構(gòu)成的一種電子產(chǎn)品。AT89S52單片機為控制核心,能實時的進行控制;由于LED有高節(jié)能、安全性高 、壽命長 、快速響應(yīng)、運行成本低等優(yōu)點,所以用作顯示很合理;驅(qū)動電路用于對LED的驅(qū)動;此系統(tǒng)可以長時間穩(wěn)定的運行,可用于各種十字路口,進行自動的交通控制,由于留有其它接口,可以很方便的進行升級擴展。</p><
23、p> 2.2 本設(shè)計方案思路</p><p> 本設(shè)計以實現(xiàn)自適應(yīng)型交通信號控制系統(tǒng),為實現(xiàn)其功能對于中央控制器的所擇極為重要。設(shè)計思路首先是選擇合理的中央控制器。</p><p> 因為單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本
24、功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。單片機經(jīng)過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓低功耗。選擇8051單片機做為系統(tǒng)的控制器。</p><p> 8051雖然有4個8位I/O端口,但真正能提供借用的只有P1口,因為P2和P0口通常用
25、于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8051通常需要擴展。由于我們用外部輸入設(shè)定紅綠燈倒計時初值、數(shù)碼管的輸出顯示、紅綠黃信號燈的顯示都要用到一個I/O端口,顯然8051的端口是不夠,需要擴展。擴展的方法有兩種:(1)借用外部RAM地址來擴展I/O端口;(2)采用I/O接口芯片來擴充。我們用8255并行接口芯片來擴展I/O端口。</p><p> 在選用單片機的基礎(chǔ)上對系統(tǒng)進行設(shè)計。<
26、/p><p> 2.3 單片機概述2</p><p> 單片機也被稱為微控制器(Microcontroller),是因為它最早被用在工業(yè)控制領(lǐng)域。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。</p><p> 單片機由芯片內(nèi)僅有CPU
27、的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。</p><p> STC單片機:STC公司的單片機主要是基于8051內(nèi)核,是新一代增強型單片機,指令代碼完全兼容傳統(tǒng)8051,速度快8~12倍,帶ADC,4路PWM,雙串口,有全球唯一ID號,加密性好,抗干擾強。</p><p> PI
28、C單片機:是MICROCHIP公司的產(chǎn)品,其突出的特點是體積小,功耗低,精簡指令集,抗干擾性好,可靠性高,有較強的模擬接口,代碼保密性好,大部分芯片有其兼容的FLASH程序存儲器的芯片。</p><p> EMC單片機:是臺灣義隆公司的產(chǎn)品,有很大一部分與PIC 8位單片機兼容,且相兼容產(chǎn)品的資源相對比PIC的多,價格便宜,有很多系列可選,但抗干擾較差。 </p><p> ATMEL
29、單片機(51單片機):ATMEL公司的8位單片機有AT89、AT90兩個系列,AT89系列是8位Flash單片機,與8051系列單片機相兼容,靜態(tài)時鐘模式;AT90系列單片機是增強RISC結(jié)構(gòu)、全靜態(tài)工作方式、內(nèi)載在線可編程Flash的單片機,也叫AVR單片機。 </p><p> PHLIPIS 51PLC系列單片機(51單片機):PHILIPS公司的單片機是基于80C51內(nèi)核的單片機,嵌入了掉電檢測、模擬以
30、及片內(nèi)RC振蕩器等功能,這使51LPC在高集成度、低成本、低功耗的應(yīng)用設(shè)計中可以滿足多方面的性能要求。 </p><p> HOLTEK單片機:臺灣盛揚半導(dǎo)體的單片機,價格便宜,種類較多,但抗干擾較差,適用于消費類產(chǎn)品。 </p><p> TI公司單片機(51單片機):德州儀器提供了TMS370和MSP430兩大系列通用單片機。TMS370系列單片機是8位CMOS單片機,具有多種存儲
31、模式、多種外圍接口模式,適用于復(fù)雜的實時控制場合;MSP430系列單片機是一種超低功耗、功能集成度較高的16位低功耗單片機,特別適用于要求功耗低的場合</p><p> 松翰單片機(SONIX):是臺灣松翰公司的單片,大多為8位機,有一部分與PIC 8位單片機兼容,價格便宜,系統(tǒng)時鐘分頻可選項較多,有PMWAD內(nèi)振內(nèi)部雜訊濾波。缺點RAM空間過小,抗干擾較好。</p><p> 本系統(tǒng)
32、設(shè)計選用的是STC系列單片機。通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。</p><p> 單片機經(jīng)過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。</p><p
33、> 8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。 8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:</p><p><b> ·中央處理器:</b><
34、;/p><p> 中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。</p><p> ·數(shù)據(jù)存儲器(RAM):</p><p> 8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存
35、器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。8051內(nèi)部結(jié)構(gòu)如圖1所示:</p><p> 圖1 8051內(nèi)部結(jié)構(gòu)圖</p><p> ·程序存儲器(ROM):</p><p> 8051共有4096個8位掩膜ROM,用于存放用戶程序,原
36、始數(shù)據(jù)或表格。</p><p> ·定時/計數(shù)器(ROM):</p><p> 8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p> ·并行輸入輸出(I/O)口:</p><p> 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。&l
37、t;/p><p><b> ·全雙工串行口:</b></p><p> 8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b> ·中斷系統(tǒng):</b></p><p> 8051具備
38、較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p><b> ·時鐘電路:</b></p><p> 8051內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。</p><p> 單片機的結(jié)構(gòu)有兩
39、種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。</p><p> 下圖是MCS-51系列單片機的內(nèi)部結(jié)構(gòu)示意圖2。</p><p>
40、 圖2 MCS-51結(jié)構(gòu)框圖</p><p> MCS-51的引腳說明:</p><p> MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:</p><
41、p> MCS-51的引腳說明:</p><p> MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:如圖3</p><p> 圖3 8051單片機引腳圖</p&g
42、t;<p> Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。
43、8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p> 圖4 單片機復(fù)位電路</p><p> ·Pin30:ALE/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的
44、正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。</p><p> 如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。</p><p> ·Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由
45、CPU讀入并執(zhí)行。</p><p> ·Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。</p><p>
46、在編程時,EA/Vpp腳還需加上21V的編程電壓。</p><p> 2.4 8255可編程并行接口芯片概況:</p><p> 8255可編程并行接口芯片有三個輸入輸出端口,即A口、B口和C口,對應(yīng)于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成
47、4位的端口,每個端口包含一個4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。</p><p> 8255可編程并行接口芯片方式控制字格式說明:</p><p> 8255有兩種控制命令字;一個是方式選擇控制字;另一個是C口按位置位/復(fù)位控制字。其中C口按位置位/復(fù)位控制字方式使用較為繁難,說明也較冗長,故在此不作敘述,需要時用戶可自行查找有關(guān)資料。&l
48、t;/p><p> 方式控制字格式說明如表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可編程并行接口芯片工作方式說明:</p><p> 方式0:基本輸入/輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不
51、能鎖存。</p><p> 方式1:選通輸入/輸出方式。這時A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號和中斷請求信號。</p><p> 方式2 :雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時C口的5條線用作通訊聯(lián)絡(luò)信號和中斷請求信號。</p><p> 2.4 74HC573概況</p&g
52、t;<p> 74HC573八進制 3 態(tài)非反轉(zhuǎn)透明鎖存器高性能硅門 CMOS 器件 SL74HC573其管腳示意圖如圖5所示:</p><p> 圖5 74HC573引腳圖</p><p> 其中:1D-8D為8個輸入端。</p><p> 1Q-8Q為8個輸出端。</p><p> LE為數(shù)據(jù)打入端:當(dāng)LE為“1”
53、時,鎖存器輸出</p><p> 狀態(tài)同輸入狀態(tài);當(dāng)LE由“1”變“0”時,數(shù)據(jù)</p><p><b> 打入鎖存器</b></p><p> OE為輸出允許端:當(dāng)OE=0時,三態(tài)門打開;</p><p> 當(dāng)OE=1時,三態(tài)門關(guān)閉,輸出高阻。</p><p> 數(shù)據(jù)有效延遲后于時鐘信
54、號有效。這意味著時鐘信號先到,數(shù)據(jù)信號后到。 </p><p> 在某些運算器電路中有時采用鎖存器作為數(shù)據(jù)暫存器。所謂鎖存器,就是輸出端的狀態(tài)不會隨輸入端的狀態(tài)變化而變化,僅在有鎖存信號時輸入的狀態(tài)被保存到輸出,直到下一個鎖存信號到來時才改變。典型的鎖存器邏輯電路是 D 觸發(fā)器電路。 </p><p> 在某些應(yīng)用中,單片機的 I/O 口上需要外接鎖存器。例如,當(dāng)單片機連接片外存儲器時
55、,要接上鎖存器,這是為了實現(xiàn)地址的復(fù)用。假設(shè),MCU 端口其中的 8 路的 I/O 管腳既要用于地址信號又要用于數(shù)據(jù)信號,這時就可以用鎖存器先將地址鎖存起來。 </p><p> 8051訪問外部存儲器時P0口和P2口共做地址總線,P0口常接鎖存器再接存儲器。以防止總線間的沖突。而P2口直接接存儲器。因為單片機內(nèi)部時序只能鎖住P2口的地址,如果用P0口傳輸數(shù)據(jù)時不用鎖存器的話,地址就改變了。 </p>
56、;<p> 看看8051單片機總線操作的時序圖。由于數(shù)據(jù)總線、地址總線共用P0口,所以要分時復(fù)用。先送地址信息,由ALE使能鎖存器將地址信息鎖存在外設(shè)的地址端,然后送數(shù)據(jù)信息和讀寫使能信號,在指定的地址進行讀寫操作。 </p><p> 使用鎖存器來區(qū)分開單片機的地址和數(shù)據(jù),8051系列的單片機用的比較多,也有一些單片機內(nèi)部有地址鎖存功能,如8279就不用鎖存器了。</p><
57、;p><b> 3 總體設(shè)計</b></p><p> 系統(tǒng)整體設(shè)計框圖如圖6所示。</p><p><b> 圖6 系統(tǒng)框圖</b></p><p><b> 系統(tǒng)工作流程介紹:</b></p><p> ?。?)開關(guān)鍵盤輸入交通燈初始時間,以及設(shè)置工作模式。
58、</p><p> ?。?)緊急情況由緊急情況控制鍵觸發(fā)全局中斷實現(xiàn)。</p><p> (3)控制器通過讀取鍵盤狀態(tài)設(shè)置工作模式,以及綠、紅燈的初始時間。</p><p> ?。?)以鍵盤設(shè)置的工作模式由8051的 P0口向8255的數(shù)據(jù)口輸出。</p><p> ?。?)當(dāng)系統(tǒng)工作在定時模式下,隊尾位置傳感器處于關(guān)閉狀態(tài),交通信號燈以初
59、始設(shè)置的時間進行循環(huán)切換。</p><p> ?。?)當(dāng)系統(tǒng)工作在自適應(yīng)模式下,紅燈倒計時,判斷位置傳感器信號,感應(yīng)隊伍較長度是否超過設(shè)定值,超過則直接跳過紅燈倒計時。</p><p> 3.1 定時模式下原理</p><p> 十字路口模型如圖7。</p><p><b> 圖7 十字路口模型</b></
60、p><p> 東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時間。指示燈燃亮的方案如表2。 </p><p> 表2 交通信號燈設(shè)計</p><p> 表2說明: </p>
61、<p> (1)當(dāng)東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。</p><p> (2)黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。 </p><p> ?。?)當(dāng)東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通過,行人通行。</p><p> ?。?)這樣如上表的時間
62、和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。</p><p> ?。?)此表可根據(jù)車流量設(shè)定紅綠燈初始值。</p><p> 3.2 自適應(yīng)模式下原理</p><p> 自適應(yīng)模式十字路口模型如圖8所示。</p><p> 圖8 自適應(yīng)型交通十字路口</p><p> 自適應(yīng)型交通信號燈可
63、以通過時間設(shè)置不同時斷下,車輛排隊的長度來進行自動的調(diào)整十字路口紅綠燈的時間。工作模式介紹:</p><p> 當(dāng)十字路口選擇以自適應(yīng)來控制交通紅綠燈信號時,壓力傳感器開始啟動工作,假設(shè)東西方向為紅燈時,隨著排隊等候車輛的增加,東西方向道路上的壓力傳感器對隊伍的長度反饋到處理器,當(dāng)隊伍長度大于設(shè)置的長度后,系統(tǒng)將直接停止紅燈倒計時,跳到黃燈閃爍5秒后顯示綠燈,使得東西方向車輛可以通行。南北方向亦如是。</
64、p><p><b> 3.3 其他說明</b></p><p> 系統(tǒng)分為硬件部分和軟件部分。本論文主要設(shè)計制作硬件部分以及單片機程序。</p><p><b> 4 硬件設(shè)計</b></p><p> 4.1 主控制器部分設(shè)計</p><p> 利用單片機設(shè)計主
65、控部分。本系統(tǒng)使用STC89c52。 STC89C52系列單片機是從引腳到內(nèi)核都完全兼容標(biāo)準(zhǔn)8051的單片機,有PDIP(塑料雙列直插式封裝,芯片封裝的形式之一)-40、PLCC(特殊引腳芯片封裝,它是貼片封裝的一種)-44、PQFP(塑料方塊平面封裝,一種芯片封裝形式)-44三種封裝形式。STC推出的系列51單片機芯片是全面兼容其它51單片機的。STC89C51/芯片分別含有4K/字節(jié)FLASH ROM供用戶編程使用。STC89C系列
66、單片機是高速/低功耗的新一代8051單片機,最高工作頻率可分別達到25MHz~50MHz,具體在芯片上的型號名稱后以“-XX”標(biāo)注。STC89C系列單片機有較寬的工作電壓,5V型號的可工作于3.4V~6.0V,3.3V型號的可工作于2.0V~4.0V(ISP/IAP操作時對電壓要求會稍嚴(yán))。正常工作模式下的典型耗電為4mA~7mA,空閑模式為2mA,掉電模式’(可由外部中斷喚醒)下則小于0.1μA。此外,STC89C系列單片機在完全兼容
67、8052芯片(在標(biāo)準(zhǔn)8051基礎(chǔ)上增加了T2定時器和128字節(jié)內(nèi)部RAM)的基礎(chǔ)上,新增了許多實用功能。</p><p> 本次選用了PDIP-40的51單片機,這款單片機一共有40pin引腳。RST(復(fù)位輸入端),當(dāng)振蕩器運行時,在該引腳上出項兩個機器周期的高電平將是單片機復(fù)位。ALE/PROG當(dāng)訪問外部存儲器時,ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率
68、(此頻率為振蕩器的頻率的1/6)周期性地出現(xiàn)正脈沖信號。因此,它可用作對外輸出地時鐘,或用于定時目的。然而,要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。在對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(/PROG)。如必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只一條M0VX 和M0VC 指令A(yù)LE 才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序
69、時,應(yīng)設(shè)置ALE 無效。</p><p> PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S51 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當(dāng)訪問外部數(shù)據(jù)存儲器,沒 兩次有效的PSEN信號。</p><p> EA VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保
70、持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。F1ash存儲器編程時,該引腳加上+12V的編程電壓Vpp。</p><p> XTALl:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。</p><p> XTAL2:振蕩器反相放大器的輸出端。</p><p>
71、P0 :P0口是一組8位漏極開路型雙向I/0口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“l(fā)”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在F1ash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p> P1 :Pl 是一個帶內(nèi)部上拉
72、電阻的8位雙向I/O口,Pl的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗期間,Pl接收低8位地址。</p><p> P2 :P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)
73、4 個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程或校驗時,P2亦接收高位地址和其它控制信號。</p><p> P3 :P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/0 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL邏輯門電路。對P3口寫入“l(fā)”時,它們被
74、內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。</p><p> 由于本人在校期間比較習(xí)慣應(yīng)用89C51系列中的STC89C52RC,所以本設(shè)計的主控器選擇STC89C52RC。STC單片機的理由:降低成本,提升性能,原有程序直接使用,硬件無需改動。選用PLCC, PQFP小型封裝, 3.3V工作電壓單片機,可使產(chǎn)品更小,更輕,功耗更低。這里我們選擇用DIP-
75、40的封裝。</p><p> 最小系統(tǒng)由單片機、復(fù)位電路、晶振電路構(gòu)成。STC89C52RD其RST引腳在接收到2個機器周期的高電平信號后復(fù)位,復(fù)位電路可在上電是復(fù)位單片機,通過SW1復(fù)位按鈕在單片機運行過程當(dāng)中可以隨時復(fù)位。晶振電路MCS-51單片機內(nèi)部有一個用于構(gòu)成震蕩器的高增益反相放大器,管腳XTAL1和XTAL2分別是該反相放大器的輸入端和輸出端,在芯片的外部通過這兩個引腳跨接晶振和微調(diào)電容,形成反饋
76、電路,就構(gòu)成了一個穩(wěn)定的自激震蕩器。這里晶振選擇12MHZ,兩個微調(diào)電容取33P。</p><p> STC89C52RC的最小系統(tǒng)如圖9所示。</p><p> 圖9 單片機最小系統(tǒng) </p><p> 單片機復(fù)位電路的作用:單片機是屬于數(shù)字電路,數(shù)字電路就只有“0”低電平和“1”高電平兩個狀態(tài)。這兩狀態(tài)是已知狀態(tài),比如有的0代表是0.0-0.01v ,
77、1代表4.99-5.0v 。但在電路上電時候或電壓波動不穩(wěn)定的時候,當(dāng)給單片機上電那一瞬間,電壓有在幾微秒內(nèi)(有的是幾毫秒內(nèi))不是直接跳變到5V的而是一個直線上升的階段,這時候,單片機不能正常工作,需要復(fù)位電路給它延時以等到電壓穩(wěn)定。這叫上電復(fù)位。</p><p> 晶振的作用:片機系統(tǒng)里都有晶振,在單片機系統(tǒng)里晶振作用非常大,全程叫晶體振蕩器,他結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率,單片機晶振提供的時鐘
78、頻率越高,那么單片機運行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率。在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。同時為系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶
79、振,而通過電子調(diào)整頻率的方法保持同步。</p><p> 4.2 擴展并行IO口設(shè)計</p><p> 由于單片機并行IO口只有四個,本自適應(yīng)交通信號控制系統(tǒng)使用了并行IO口起過4個,方為便系統(tǒng)后續(xù)的升級及擴展使用,選用8255A可編程并行接口芯片。擴展并行IO口硬件電路如圖10所示:</p><p> 圖10 8255擴展IO口電路</p>
80、<p><b> 顯示部分電路設(shè)計</b></p><p> 由于LED有高節(jié)能、安全性高 、壽命長 、快速響應(yīng)、運行成本低等優(yōu)點,所以用作顯示很合理,特別是室外運作,LED更有優(yōu)勢。</p><p> 顯示部分顯示自適應(yīng)型交通信號系統(tǒng)信號燈的剩余時間。選擇用共陽數(shù)碼管來做顯示模塊。數(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 共陽數(shù)碼管腳圖</p><p> 數(shù)碼管由8255A輸出口PB口控制三極管驅(qū)動,信號燈由8255A輸出口PA控制,顯示部分電路圖如圖11所示:</p><p> 圖11 顯示原理電路</p>
82、;<p><b> 隊尾位置傳感器設(shè)計</b></p><p> 隊尾位置傳感器可選用壓力傳感器,當(dāng)有車輛停留在壓力傳感器上時,輸出信號給主控器做相應(yīng)處理。為了簡化電路,這里壓力傳感器用紅外反射對管替代。紅外對管如圖12所示:</p><p><b> 圖12 紅外對管圖</b></p><p> 電
83、路原理圖設(shè)計如圖13所示,其中P1與P3為紅外發(fā)射頭,P2與P4為紅外接收頭,信號輸出接R32、R31上拉電阻送主控單片機處理。</p><p> 圖12 紅外對管電路</p><p><b> 系統(tǒng)控制按鍵設(shè)計</b></p><p> 按鍵程序設(shè)計時考慮到按鍵開關(guān)去抖動問題,機械式按鍵再按下或釋放時,由于機械彈性作用的影響,通常伴隨有
84、一定時間的觸點機械抖動,然后其觸點才穩(wěn)定下來。其抖動過程如圖13所示,抖動時間的長短與開關(guān)的機械特性有關(guān),一般為510 ms。</p><p> 圖13 按鍵按下狀態(tài)圖</p><p> 軟件上采取的措施是:在檢測到有按鍵按下時,執(zhí)行一個10 ms左右(具體時間應(yīng)視所使用的按鍵進行調(diào)整)的延時程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài)。同
85、理,在檢測到該鍵釋放后,也應(yīng)采用相同的步驟進行確認(rèn),從而可消除抖動的影響。</p><p> 本系統(tǒng)有6個控制按鍵,及三個拔動控制鍵,按鍵與單片機P1口連接,加上拉電阻,當(dāng)按鍵按下或撥動到開狀態(tài)下時,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è)計</b></p><p><b> 5.1 總體方案</b></p><p> 軟件設(shè)計采用C51編寫,編譯器采用K
87、eil。該編譯器是51系列單片機程序設(shè)計的常用工具,既可用匯編,也支持C語言編譯。同時具有完善的調(diào)試功能。</p><p><b> 5.2 程序流圖</b></p><p><b> 圖16 程序流程圖</b></p><p><b> 程序流程說明:</b></p><
88、p> 1.程序開始進行初始化。</p><p> 2.全局中斷設(shè)置緊急情況觸發(fā),如有緊急情況,則進入緊急情況處理程序。</p><p> 3.等待鍵盤輸入事件,設(shè)置系統(tǒng)的工作模式,以及對紅綠燈的初始值。</p><p> 4.由鍵盤設(shè)置的工作模式使程序進入定時模式或自適應(yīng)模式。</p><p> 5.在定時模式下,紅綠燈安照設(shè)
89、置的初始值進行循環(huán)。</p><p> 6.在自適應(yīng)模式下紅燈倒計時過程中判斷隊尾有無觸發(fā),如隊尾過長隊尾位置傳感器有觸發(fā)信號過來,停止紅燈倒計時,最后綠燈倒計時判定紅燈方向隊尾觸發(fā)情況,有觸發(fā)停止紅燈倒計時,往回紅燈倒計時如此循環(huán)。</p><p> 5.2.1定時1秒程序設(shè)計</p><p> 我們可以使用延時程序或定時來產(chǎn)生一秒信號,使用定時期更加準(zhǔn)備。
90、本系統(tǒng)利用MCS-51內(nèi)部定時器才生溢出中斷來確定1秒的時間。 </p><p><b> 計數(shù)器初值計算:</b></p><p> 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通式:</p&
91、gt;<p><b> TC=M-C</b></p><p> 式中,M為計數(shù)器摸值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為213 ;在方式1時M的值為216;在方式2和3為28。</p><p><b> 計算公式:</b></p><p> T=(M-TC)T計數(shù)</p><
92、p> 或TC=M-T/T計數(shù)</p><p> T計數(shù)是單片機時鐘周期TCLK的12倍;TC為定時初值</p><p> 如單片機的主脈沖頻率為TCLK12MHZ ,經(jīng)過12分頻</p><p> 方式0:TMAX=213*1微秒=8.192毫秒</p><p> 方式1:TMAX=216*1微秒=65.536毫秒</p
93、><p> 顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題.</p><p><b> 1秒的方法:</b></p><p> 我們采用在主程序中設(shè)定一個初值為20的軟件計數(shù)器和使T0定時50毫秒,輸出50毫秒使T0工作在工作方式1下,計算初值,TH0=0x3C,TL0=0xB0。這樣每當(dāng)T0
94、到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時間顯示程序。</p><p><b> 相應(yīng)程序代碼:</b></p><p> void t0_second() interrupt 1</p><p><b>
95、{</b></p><p> TH0=0x3c;//恢復(fù)定時器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è)計</p><p> 本系統(tǒng)總共有8個共陽數(shù)碼管,使用動態(tài)延時掃描來輸出。數(shù)碼管顯示內(nèi)容通過查表法實現(xiàn)。數(shù)碼管驅(qū)動代碼表如下表3所示:</p><p><b> 表3 驅(qū)動代碼表</b></p><p><b> 延時程序:</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> //待顯示字符編碼隊列</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> 動態(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è)計</p><p> 按鍵通過程序設(shè)計實現(xiàn)消除抖動干擾。按鍵程序:</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è)計</p><p> 緊急中斷采用外部中斷0實現(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口擴展8255程序設(shè)計</p><p> 用8051的P0 口的 p0.2 連接8255的片選信號cs 我們用8051的地址采用全譯碼方式,當(dāng)p0.2 =0時片選有效, 其他無效,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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開題報告--自適應(yīng)型交通信號燈控制系統(tǒng)的設(shè)計
- 開題報告--自適應(yīng)型交通信號燈控制系統(tǒng)的設(shè)計
- 交通信號燈控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 交通信號燈控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---交通信號燈控制系統(tǒng)的設(shè)計
- 交通信號燈控制系統(tǒng)設(shè)計論文畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--交通信號燈模擬控制系統(tǒng)設(shè)計
- 交通信號燈plc控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--交通信號燈plc控制系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計---交通信號燈plc控制系統(tǒng)的設(shè)計
- 交通信號燈控制系統(tǒng)設(shè)計
- plc交通信號燈模擬控制系統(tǒng)畢業(yè)設(shè)計
- 智能交通信號燈模擬控制系統(tǒng)畢業(yè)設(shè)計
- 基于plc交通信號燈控制系統(tǒng)設(shè)計 畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--交通信號燈的控制
- 交通信號燈控制系統(tǒng)的設(shè)計
- 交通信號燈plc控制系統(tǒng)設(shè)計
- 交通信號燈模擬控制系統(tǒng)設(shè)計
- 交通信號燈畢業(yè)設(shè)計
- 交通信號燈畢業(yè)設(shè)計--基于單片機的交通信號控制系統(tǒng)
評論
0/150
提交評論