單片機控制交通燈課程設計報告書_第1頁
單片機控制交通燈課程設計報告書_第2頁
單片機控制交通燈課程設計報告書_第3頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、湖南工學院單片機課程設計說明書課題名稱:基于單片機的交通燈設計系部:電氣與信息工程系專業:電氣自動化班 級:0604班設計人:娟娟學 號:401061001同組成員:惠連 明月指導老師:陸秀令(教授)時 間:2008 年月11月摘要:近年來隨著科技的飛速發展,單片機的應用正在不斷深入,同時帶動傳統控制檢測技 術日益更新。在實時檢測和自動控制的單片機應用系統中,單片機往往作為一個核心部件 來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構軟硬件結合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現 這井然秩序呢?靠的就是交通信號燈的自動指揮系統。交通信號燈

2、控制方式很多。本系統 采用MSC-51系列單片機ATSC51和可編程并行I/O接口芯片8255A為中心器件來設計交通 燈控制器,實現了能根據實際車流量通過 8051芯片的P1 口設置紅、綠燈燃亮時間的功能; 紅綠燈循環點亮,倒計時剩 5秒時黃燈閃爍警示(交通燈信號通過 PA 口輸出,顯示時間 直接通過8255的PC 口輸出至雙位數碼管);車輛闖紅燈報警;綠燈時間可檢測車流量并 可通過雙位數碼管顯示。本系統實用性強、操作簡單、擴展功能強。關鍵詞:單片機交通燈闖紅燈檢測車流量1引言當今,紅綠燈安裝在各個道口上,已經成為疏導交通車輛最常見和最有效的手段。但 這一技術在19世紀就已出現了。1858年,

3、在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠 兩以旋轉式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2 日, 煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動的紅綠燈出現在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年 始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力 探測器安在地下

4、,車輛一接近紅燈便變為綠燈;另一種是用擴音器來啟動紅綠燈,司機遇 紅燈時按一下嗽叭,就使紅燈變為綠燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時, 它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行, 以免發生交通事故。信號燈的出現,使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少 交通事故有明顯效果。1968年,聯合國道路交通和道路標志信號協定對各種信號燈的 含義作了規定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉彎和右轉彎,除非另一 種標志禁止某一種轉向。左右轉彎車輛都必須讓合法地正在路口行駛的車輛和過人行橫道 的行人優先通行。紅燈是禁行信號,面對紅燈

5、的車輛必須在交叉路口的停車線后停車。黃 燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停 車時可以進入交叉路口。2單片機概述單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微 型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構成,部包含有計算機的基本功能部件:中央處理 器、存儲器和I/O接口電路等。因此,單片機只需要和適當的軟件及外部設備相結合,便 可成為一個單片機控制系統。單片機經過1、2、3、3代的發展,目前單片機正朝著高性能和多品種方向發展,它 們的CPU功能在增強,部資源在增多,弓I角的多功能

6、化,以及低電壓底功耗。3芯片簡介3.1 MSC-51芯片簡介MCS-51單片機部結構8051是MCS-51系列單片機的典型產品,我們以這一代表性的機型進行系統的講解。 8051單片機包含中央處理器、程序存儲器(ROM)數據存儲器(RAM)定時/計數器、并行接口、串行接口和中斷系統等幾大單元及數據總線、 地址總線和控制總線等三大總線, 現在我們分別加以說明:中央處理器:中央處理器(CPU)是整個單片機的核心部件,是 8位數據寬度的處理器,能處理 8 位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統協調的工作,完成運算和 控制輸入輸出功能等操作。數據存儲器(RAM)8051部有128個8

7、位用戶數據存儲單元和128個專用寄存器單元,它們是統一編址 的,專用寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據, 所以,用戶能使用的RAMR有128個,可存放讀寫的數據,運算的中間結果或用戶定義的 字型表。程序存儲器笄行呢串行通信口中斷累統8051吋鐘-程序存儲器(ROM)8051共有4096個8位掩膜ROM用于存放用戶程序,原始數據或表格-定時計數器(ROM)8051有兩個16位的可編程定時/計數器,以實現定時或計數產生中斷用于控制程序 轉向。并行輸入輸出(I/O) 口:8051共有4組8位I/O 口 (P0、P1、P2或P3),用于對外部數據的傳輸。全雙工串行口:

8、8051置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可 以用作異步通信收發器,也可以當同步移位器使用。中斷系統:8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數器中斷和一個串行中斷, 可滿足不同的控制要求,并具有 2級的優先級別選擇。時鐘電路:8051置最高頻率達12MHZ勺時鐘電路,用于產生整個單片機運行的脈沖時序,但8051 單片機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數據存儲器分開的形式,即哈佛 (Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數據存儲器合二為一 的結構,即普林斯頓(Princeton)結構。INTE

9、L的MCS-51系列單片機采用的是哈佛結構的 形式,而后續產品16位的MCS-96系列單片機則采用普林斯頓結構。下圖是MCS-51系列單片機的部結構示意圖2。MCS-51的引腳說明:MCS-5係列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O 口,中斷口線與P3 口線復用。現在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-5係列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構, 右圖是它們的引腳配置,40個引腳中

10、,正電源和地線兩根,外置石英振蕩器的時鐘線兩根, 4組8位共32個I/O 口,中斷口線與P3 口線復用。現在我們對這些引腳的功能加以說明: 如圖3P1. 0 r:Pi. 1 cPl. 2 匸 Pl 3 C Fl.4 CFl. 5 CFl.6 CFl. T 匚EST C o c TWP3. 1 匸 ITO/?!. 2 C INT1/P3. 3 C T0/P?.4 u T1ZF5. 5 CT?R/P$. 6 c ED;FS. 7 匸 2ITJIL2 rJIT AL 1 CGNU C匸藥1039383T383534333231113012n2S1427152616251724182313222021

11、 Vcc P0. O/ADO3 P0. 1/01 PO 2/AE2 PO. FO. 4/AD43 PO. 5/ikD5 PO. S/AD& PO. ?/AD? EX/m3 ALE/PBGC PESH P2 7/A15 F2. &/A14 F2. 5/il3 P2, 4/£12 F2. 3/All P2. 2/1103 P2. 1/A P2. 0/A8圖3Pin 9:RESET"d復位信號復用腳,當8051通電,時鐘電路開始工作,在 RESET引腳上 出現24個時鐘周期以上的高電平,系統即初始復位。初始化后,程序計數器PC指向0000H P0-P3輸出口全部為

12、高電平,堆棧指針寫入 07H,其它專用寄存器被清“ 0”。RESET由高 電平下降為低電平后,系統即從0000H地址開始執行程序。然而,初始復位不改變RA(包 括工作寄存器R0-R7)的狀態,8051的初始態。8051的復位方式可以是自動復位,也可以是手動復位,見下圖4。此外,RESET/V還是一復用腳,V掉電其間,此腳可接上備用電源,以保證單片機部RAM的數據不丟失。圖4 Pin30:ALE/當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節。 而訪問部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于 識別單片機是否工作,也可以當作一個時鐘向外輸出。

13、更有一個特點,當訪問外部程序存 儲器,ALE會跳過一個脈沖。如果單片機是EPROM在編程其間,將用于輸入編程脈沖。 Pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數據將出現在P0和P2 口上,外部程序存儲器則把指令數據放到P0口上,由CPU賣入并執行。 Pin31:EA/Vp程序存儲器的外部選通線,8051和8751單片機,置有4kB的程序存儲 器,當EA為高電平并且程序地址小于 4kB時,讀取部程序存儲器指令數據,而超過 4kB 地址則讀取外部指令數據。如 EA為低電平,則不管地址大小,一律讀取外部程序存儲器 指令。顯然,對部無程序存儲器的 8031,EA端必須

14、接地。在編程時,EA/V>p腳還需加上21V的編程電壓。3.2 8255芯片簡介8255可編程并行接口芯片簡介:8255 可編程并行接口芯片有三個輸入輸出端口,即A 口、B 口和C口,對應于引腳PA& PA0 PB&PB0和PC& PC0其部還有一個控制寄存器,即控制口。通常A 口、B 口作為輸入輸出的數據端口。 C 口作為控制或狀態信息的端口,它在方式字的控制下,可以分成 4位的端口,每個端口包含一個 4位鎖存器。它們分別與端口 A/E配合使用,可以用作 控制信號輸出或作為狀態信號輸入。8255可編程并行接口芯片方式控制字格式說明:8255有兩種控制命令字;一個

15、是方式選擇控制字;另一個是C 口按位置位/復位控制字。其中C口按位置位/復位控制字方式使用較為繁難, 說明也較冗長,故在此不作敘述, 需要時用戶可自行查找有關資料。方式控制字格式說明如表1:表1D7D6D5D4D3D2D1D0D7 :設定工作方式標志, 1有效。D6、D5: A 口方式選擇0 0方式00 1方式11X方式2D4 :A 口功能(1=輸入,0=輸出)D3 :C 口高4位功能(1=輸入,0=輸出)D2 :B 口方式選擇(0=方式0,1=方式1)D1 :B 口功能(1=輸入,0=輸出)D0C 口低4位功能(仁輸入,0=輸出)8255可編程并行接口芯片工作方式說明:方式0:基本輸入/輸出

16、方式。適用于三個端口中的任何一個。每一個端口都可以用 作輸入或輸出。輸出可被鎖存,輸入不能鎖存。方式1:選通輸入/輸出方式。這時 A 口或B 口的8位外設線用作輸入或輸出,C 口 的4條線中三條用作數據傳輸的聯絡信號和中斷請求信號。方式2 :雙向總線方式。只有A 口具備雙向總線方式,8位外設線用作輸入或輸出, 此時C口的5條線用作通訊聯絡信號和中斷請求信號。3.3 74LS373 簡介” DDQ0 ' DIQl D2Q2-D3Q3-D4Q4 D5 DfrQS、 DT LEOE 匚 ILS37S74LS373是一種帶三態門的8D鎖存器,其管腳示意圖如下示:其中:1D-8D為8個輸入端。1

17、Q-8Q 為8個輸出端。LE為數據打入端:當LE為“1”時,鎖存器輸出 狀態同輸入狀態;當LE由“ 1”變“ 0”時,數據 打入鎖存器Oe為輸出允許端:當OE=0時,三態門打開;當OE=1時,三態門關閉,輸出高阻。4系統硬件設計4.1交通管理的方案論證東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈 的狀態即將切換,且黃燈燃亮時間為東西、南北兩干道的公共停車時間。設東西道比南北道的車流量大,指示燈燃亮的方案如表 260S5S80S5S東西道紅燈亮黃燈亮綠燈亮黃燈亮南北道綠燈亮黃燈亮紅燈亮黃燈

18、亮表2表2說明:(1當東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。時間為 60秒。(2)黃燈閃爍5秒,警示車輛和行人 紅、綠燈的狀態即將切換。(3)當東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通過, 行人通行。時間為80秒。東西方向車流大 通行時間長。(4)這樣如上表的時間和紅、綠、黃出現的順序依次出現這樣行人和車輛就能安全 暢通的通行。(5)此表可根據車流量動態設定紅綠燈初始值。4.2系統硬件設計選用設備8031單片機一片選用設備:8031彈片機一片,8255并行通用接口芯 片一片,74LS07兩片,MAX692'看

19、門狗一片,共陰極的七段數碼管兩個雙向晶閘 管若干,7805三端穩壓電源一個,紅、黃、綠交通燈各兩個,開關鍵盤、連線若干。4. 2. 1系統總框圖如下:4. 2. 2交通燈硬件線路圖4. 2. 3系統工作原理(1) 開關鍵盤輸入交通燈初始時間,通過 8051單片機P1輸入到系統(2) 由8051單片機的定時器每秒鐘通過 P0 口向8255的數據口送信息,由8255的PA 口顯示紅、綠、黃燈的燃亮情況;由8255的PC口顯示每個燈的燃亮時間。(3) 8051通過 設置 各個信號等的燃亮時間、通過 8031設置,綠、紅時間分別為 60秒、80秒循環由8051的P0 口向8255的數據口輸出。(4)

20、通過8051單片機的P3.0位來控制系統是工作或設置初值, 當.牌位0就對系統 進行初始化,為1系統就開始工作。(5) 紅燈倒計時時間,當有車輛闖紅燈時,啟動蜂鳴器進行報警,3S后然后恢復正常。(6) 增加每次綠燈時間車流量檢測的功能,并且通過查詢P2.0端口的電平是否為低, 開關按下為低電平,雙位數碼管顯示車流量,直到下一次綠燈時間重新記入。(7) 綠燈時間倒計時完畢,重新循環。5 .控制器的軟件設計5.1每秒鐘的設定延時方法可以有兩種一中是利用MCS-51部定時器才生溢出中斷來確定 1秒的時間,另一種是采用軟延時的方法。5.2計數器硬件延時計數器初值計算定時器工作時必須給計數器送計數器初值

21、,這個值是送到TH和TL中的。他是以加法記數的,并能從全1到全0時自動產生溢出中斷請求。因此,我們可以把計數器記滿為 零所需的計數值設定為C和計數初值設定為TC可得到如下計算通式:TC=M-C式中,M為計數器摸值,該值和計數器工作方式有關。在方式 0時M為213 ;在方式1時 M的值為216;在方式2和3為285.2.2 計算公式T= (M- TC) T 計數或TC=MT/ T計數T計數是單片機時鐘周期T clk的12倍;TC為定時初值如單片機的主脈沖頻率為T clk12MHZ ,經過12分頻方式0TMAX= 213 *1微秒=8.192毫秒方式1TMAX = 216 *1微秒= 6 5.5

22、3 6毫秒顯然1秒鐘已經超過了計數器的最大定時間,所以我們只有采用定時器和軟件相結合 的辦法才能解決這個問題.5231秒的方法我們采用在主程序中設定一個初值為2 0的軟件計數器和使TO定時5 0毫秒這 樣每當T0到5 0毫秒時CPU就響應它的溢出中斷請求,進入他的中斷服務子程序。在 中斷服務子程序中,CPU先使軟件計數器減1,然后判斷它是否為零。為零表示1秒已 到可以返回到輸出時間顯示程序。相應程序代碼(1)主程序定時器需定時5 0毫秒,故T0工作于方式1。初值:TC=MT/ T 計數=2 16 50 ms/1us=15536=3CBOHORG 1OOOHSTART: MOV TMOD, #0

23、1H ;令TO為定時器方式1MOV TH0, #3CH ;裝入定時器初值MOV TL0, #BOH;MOVIE,#82H;開T0中斷SEBTTR O;啟動T0計數器MOVRO,#14H;軟件計數器賦初值LOOP:SJMP $;等待中斷2)中斷服務子程序ORG0 0 0 BHAJMPBRT0ORG 00BHBRTO:DJNZ R0,NEXTAJMP TIME ;跳轉到時間及信號燈顯示子程序DJNZ MOV RO,#14H;恢復R0值MOV TH0, #3CH ;重裝入定時器初值MOV TL0, #BOH;MOV IE,#82HRET1END5.3軟件延時MCS-51的工作頻率為2-12MHZ我們

24、選用的8031單片機的工作頻率為6MHZ機器周期 與主頻有關,機器周期是主頻的12倍,所以一個機器周期的時間為12* (1/6M) =2us。我 們可以知道具體每條指令的周期數,這樣我們就可以通過指令的執行條數來確定1秒的時間。具體的延時程序分析:DELAY:MOV R4,#08H 延時1秒子程序DE2:LCALL DELAY1DJNZ R4,DE2RETDELAY1:M0V R6,#0 延時 125ms 子程序MOV R5,#0DE1: DJNZ R5,$DJNZ R6,DE1RETMOV RN #DATA字節數數為2 機器周期數為1所以此指令的執行時間為2msDELAY1為一個雙重循壞 循

25、環次數為 256*256=65536所以延時時間=65536*2=131072us 約為125usDELAY R4設置的初值為8 主延時程序循環8次,所以125us*8= 1秒由于單片機的運行速度很快其他的指令執行時間可以忽略不計。5.4時間及信號燈的顯示5.4.1 8051 并行口的擴展8051雖然有4個8位I/O端口 ,但真正能提供借用的只有P1 口 ,因為P2和P0 口通常用 于傳送外部傳送地址和數據,P3 口也有它的第二功能。因此,8031通常需要擴展。由于我 們用外部輸入設定紅綠燈倒計時初值、數碼管的輸出顯示、紅綠黃信號燈的顯示都要用到 一個I/O端口,顯然8031的端口是不夠,需要

26、擴展。擴展的方法有兩種:(1)借用外部RAM地址來擴展I/O端口;(2)采用I/O接口新片 來擴充。我們用8255并行接口信片來擴展I/O端口。顯示原理:當定時器定時為1秒,時程序跳轉到時間顯示及信號燈顯示子程序,它將依次顯示 信號燈時間,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃 燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數器賦初值,重新進入循環。5.4.3 8255PA 口輸出信號接信號燈:由于發光二極管為共陽極接法,輸出端口為低電平,對應的二極管發光,所以可以 用置位方法點亮紅,綠,黃發光二極管。5.4.4 8255輸出信號與數碼管的連接:LE

27、D燈的顯示原理:通過同名管腳上所加電平的高低來控制發光二極管是否點量而顯 示不同的字形如SP, g,f,e,d,c,b,a管角上加上7F H所以SP上為0伏,不亮其余為TTL高電平,全亮則顯示為8采用共陰級連接:其中 PC0PB0-a,PC1PB1-b,PC2PB2-c,PC3PB3-d,PC4PB4-e,PC5PB5-f,PC6PB6-gPC7PB7 -SP 接地顯示數值dop g f e d c b a驅動代碼(16進制)00 0 1 1 1 1 1 13FH10 0 0 0 0 1 1 006H20 1 0 1 1 0 1 15BH30 1 0 0 1 1 1 14FH40 1 1 0

28、0 1 1 066H50 1 1 0 1 1 0 06DH60 1 1 1 1 1 0 07DH70 0 0 0 0 1 1 107H80 1 1 1 1 1 1 17FH表3 驅動代碼表5.4.5 8255 與 8051 的連接:用8051的P0 口的p0.7連接8255的片選信號cs 我們用8031的地址采用全譯碼方式,當p0.7 =0時片選有效,其他無效,p0.1 p0.1 用于選擇8255端口P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 P0.1 P0.0A7A6A5A4A3A2A1 A01XXXXX0000H為8255的PAD1XXXXX0101H為8255的PB 口1

29、XXXXX1002H為8255的PC 口1XXXXX1103H為8255的控制口由于8051是分時對8255和儲存器進行訪問所以8051的P0 口不會發生沖突5.5程序設計圖8圖9程序流程圖程序源代碼ORG 0000H;LJMP MAIN;ORG 0003H;ORG 000BH;LJMP T0_INT;ORG 0013H;MAIN : MOV SP,#50HMOV IE,#8EH ;CPUMOV TMOD,#51H ;MOV TH1,#00H;T1MOV TL1,#00HSETB TR1;SETB EX1;SETB IT1 ;ANL A,#7FH ;P1.7MOV R7,#00H;R7MOV

30、R7,A ;主程序的入口地址跳轉到主程序的開始處外部中斷0的中斷程序入口地址定時器0的中斷程序入口地址跳轉到中斷服務程序處外部中斷1的中斷程序入口地址開中斷,允許T0中斷,T1中斷和外部中斷1中斷 設置T1為計數方式,T0為定時方式,且都工作于模式1 計數器清零啟動T1計時器允許INT1中斷選擇邊沿觸發方式MOV DPTR ,#0003HMOV A, #80H;給8255賦初值,8255工作于方式0MOVX DPTR, AAGAIN: JB P3.1,N0;判斷是否要設定東西方向紅綠燈時間的初值,若P3.1為1則跳轉MOV A,P1JB P1.7,RED ;判斷P1.7是否為1,若為1則設定紅

31、燈時間,否則設定綠燈時間MOV R0,#00H;R0 清零MOV R0,A ;存入東西方向綠燈初始時間MOV R3,ALCALL DISP1LCALL DELAYAJMP AGAINRED: MOV A,P1置0清零存入東西方向紅燈初始時間MOV R3,ALCALL DISP1LCALL DELAYAJMP AGAINNO: SETB TRO ;啟動TO計時器MOV 76H,R7;紅燈時間存入76HN00: MOV A,76H;東西方向禁止,南北方向通行MOV R3,AMOV DPTR,#0000H ; 置8255A口,東西方向紅燈亮,南北方向綠燈亮MOV A,#0DDHMOVX DPTR,

32、AN01: JB P2.0,B0N02: SETB P3.0CJNE R3,#00H,N01 ; 比較R3中的值是否為0,不為0轉到當前指令處執行 ;- 黃燈閃爍5秒程序-N1: SETB P3.0MOV R3,#05HMOV DPTR,#0000H ; 置8255A口,東西,南北方向黃燈亮MOV A,#0D4HMOVX DPTR,AN11: MOV R4,#00HN12: CJNE R4,#7DH,$;黃燈持續亮 0.5 秒N13: MOV DPTR,#0000H ; 置 8255A 口,南北方向黃燈滅MOV A,#0DDHMOVX DPTR,AN14: MOV R4,#00HCJNE R4

33、,#7DH,$; 黃燈持續滅0.5秒CJNE R3,#00H,N1 ;閃爍時間達5秒則退出N2: MOV R7,#00HMOV A,R0 ;東西通行,南北禁止MOV R3,AMOV DPTR,#0000H ; 置8255A口,東西方向綠燈亮,南北方向紅燈亮MOV A,#0EBHMOVX DPTR,AN21: JB P2.0,T03N22: CJNE R3,#00H,N21;- 黃燈閃爍5秒程序-N3: MOV R3,#05HMOV DPTR,#0000H; 置8255A口,東西,南北方向黃燈亮MOV A,#0E2HMOVX DPTR,AN31: MOV R4,#00HCJNE R4,#7DH,

34、$ ;黃燈持續亮0.5秒N32: MOV DPTR,#0000H ;置 8255A 口,南北方向黃燈滅MOV A,#0EBHMOVX DPTR,AN33: MOV R4,#00HCJNE R4,#7DH,$ ;黃燈持續滅0.5秒CJNE R3,#00H,N3 ;閃爍時間達5秒則退出SJMP N00;- 闖紅燈報警程序B0: MOV R2,#03H B01: MOV A,R3JZ N1;CLR P3.0;CJNE R2,#00H,B01SJMP N02;-1秒延時子程序N7: RETI報警持續時間3秒若倒計時完畢,不再報警 報警判斷3秒是否結束T0_INT:MOV TL0,#9AH MOV TH

35、0,#0F1H INC R4 INC R5CJNE R5,#0FAH,T01 ;MOV R5,#00H;R5DEC R3;DEC R2;T01: ACALL DISP ; RETI; 顯示子程序DISP: JNB P2.4,T02DISP1: MOV B,#0AHMOV A,R3 ;R3給定時器T0送定時10ms的初值判斷延時是否夠一秒,不夠則調用顯示子程序 清零倒計時初值減一報警初值減一調用顯示子程序中斷返回中值二轉十顯示轉換DIV ABMOV 79H,AMOV 7AH,BDIS: MOV A,79H;顯示十位MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,AMOV DPTR,#0001HMOV A,#0F7HMOVX DPTR,ALCALL DELAYDS2: MOV A,7AH ;顯示個位MOV DPTR,#TABMOVC

溫馨提示

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

評論

0/150

提交評論