




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機交通燈自動化控制設計學生姓名: xxxxxxxxxx 學生學號: xxxxxxxxxxxx 年級專業(yè):指導教師 二一一年五月十二攀枝花學院??飘厴I(yè)論文(設計) 摘 要摘 要近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構軟硬件結合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本系統(tǒng)采用msc-51系列單片機8051和可編程
2、并行i/o接口芯片8255a為中心器件來設計交通燈控制器,實現(xiàn)了能根據實際車流量通過8051芯片的p1口設置紅、綠燈燃亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示(交通燈信號通過pa口輸出,顯示時間直接通過8255的pc口輸出至雙位數碼管);車輛闖紅燈報警;綠燈時間可檢測車流量并可通過雙位數碼管顯示。本系統(tǒng)實用性強、操作簡單、擴展功能強。關鍵詞 單片機 交通燈 闖紅燈 檢測車流量攀枝花學院??飘厴I(yè)論文(設計) abstractabstract in recent years along with science and technology of fly soon developm
3、ent, list slice machine of application just at continuously thorough, arouse in the meantime tradition control examination technique day by day renewal.in solidly the hour the examination and the auto the control of the list the slice the machine the application the system, list slice the machine be
4、 usually a core parts to usage, only list the slices machine knowledge be not enough, return should according to concrete the hardware structure soft hardware combine and take into perfect.the intersections vehicle wear shuttle, pedestrian xi rang, garage driveway, persons sidewalk, orderly.so depen
5、d what come to realization this well arranged order?depend of be the auto of the traffic sign light conductor system.the control way of the traffic sign light is a lot of.the machine 8051 of this system adoption series msc-51 list slice with programmable proceed together the i/o pick up a people the
6、 chip 8255 an is center spare part to design transportation light controller, realization ability according to actual the car discharge pass the p of 8051 chips 1 people constitution red, the green light ran be bright time of function;traffic lights circulation the point be bright, while remaining 5
7、 while pouring to account huang2 deng flicker caution;(transportation light the signal pass a pa output, manifestation time direct pass 8255 of pc output to double figures tube)the vehicle run the red light to report to the police;time of the green light can examination car discharge combine can pas
8、s a pair of figures tube manifestation.this system function is strong, the operation be simple and expand function strong.keywords list slice the machine the transportation light run the red light the examination car discharge攀枝花學院專科畢業(yè)論文(設計) 前言前 言 當今,紅綠燈安裝在各個道口上,已經成為疏導交通車輛最常見和最有效的手段。但這一技術在19世紀就已出現(xiàn)了。
9、1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地
10、下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國道路交通和道路標志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉彎和右轉彎,除非另一種標志禁止某一種轉向。左右轉彎車輛都必須讓合法地正在路口內行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須
11、在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。攀枝花學院??飘厴I(yè)論文(設計) 目錄目 錄1 緒論12 單片機概述23 芯片簡介33.1 msc-51芯片簡介33.2 8255芯片簡介63.3 74ls373簡介74 系統(tǒng)硬件設計8 4.1交通管理的方案論證84.2系統(tǒng)硬件設計10421 系統(tǒng)總框圖10422 交通燈硬件線路圖11423 系統(tǒng)工作原理13 控制器的軟件設計145.1每秒鐘的設定145.2計數器硬件延時145.3 軟件延時155.4 時間及信號燈的顯示165.5 程序設計175.5.1流程圖175.5
12、.2 程序源代碼186 結論24參考文獻25致 謝26攀枝花學院??飘厴I(yè)論文(設計) 緒論 1緒論1.1課題目的本課題是設計一個單片機控制十字路口交通信號燈電路,通過本設計了解掌握單片機交通自動化控制電路的工作原理,進而研究電子產品設計的技術方法。通過對交通信號燈控制電路的設計、安裝與調試,熟練掌握各種電子測量儀器、儀表的正確使用方法,熟悉掌握數字邏輯電路原理及各類型數字單元電路的工作原理、電路形式、調試方法、整機電路統(tǒng)調技巧等方面知識;同時,通過對系統(tǒng)設計結果的理論分析,加強理論聯(lián)系實際的工作能力,對加強數字邏輯電路原理與技術方法的掌握,得到全面的、系統(tǒng)的訓練,為今后從事本專業(yè)工作奠定堅實的
13、技術基礎。1.2課題意義在現(xiàn)代城市中,人口和汽車日益增長,市區(qū)交通也日益擁擠,人們的安全問題也日益重要。因此,紅綠交通信號燈成為交管部門管理交通的重要工具之一。有了交通燈人們的安全出行有了很大的保障。自從交通燈誕生以來,其內部的電路控制系統(tǒng)就不斷的被改進,設計方法也開始多種多樣,從而使交通燈顯得更加智能化。尤其是近幾年來,隨著電子與計算機技術的飛速發(fā)展,電子電路分析和設計方法有了很大的改進,電子設計自動化也已經成為現(xiàn)代電子系統(tǒng)中不可缺少的工具和手段,這些為交通燈控制電路的設計提供了一定的技術基礎。1.3本文主要研究內容本設計的主要內容是針對交通十字路口經常出現(xiàn)的問題,基于以單片機8051為主,
14、兼用一些如液晶顯示器,交通指示燈,電阻排等器件,來設計的一個單片機控制的交通燈控制系統(tǒng)。經過設計出來的系統(tǒng),其結果是能夠讓車輛順暢的通行。這樣當兩車道都有車輛時,兩車道輪流放行。當一道有車而另一道無車,有車先行。當有緊急車輛時,讓緊急車輛先行。當兩車道輪流放行間,有一段轉換警告時間,這樣可以給司機一段緩沖時間。本系統(tǒng)采用msc-51系列單片機8051和可編程并行i/o接口芯片8255a為中心器件來設計交通燈控制器,實現(xiàn)了能根據實際車流量通過8051芯片的p1口設置紅、綠燈燃亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示(交通燈信號通過pa口輸出,顯示時間直接通過8255的pc口輸出至
15、雙位數碼管);車輛闖紅燈報警;綠燈時間可檢測車流量并可通過雙位數碼管顯示。本系統(tǒng)實用性強、操作簡單、擴展功能強。28攀枝花學院專科畢業(yè)論文(設計) 單片機概述2 單片機概述 單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。 通常,單片機由單塊集成電路芯片構成,集成了cpu、rom、ram、i/o接口、定時器/計數器、中斷系統(tǒng)等功能部件。因此,單片機只需要和適當的軟件及外部設備相結合,便可成為一個單片機控制系統(tǒng)。 單片機的應用結束了計算機專業(yè)人員“壟斷”計算機計算機系統(tǒng)開發(fā)與應用的時代,它既給各專業(yè)人員帶來了學習
16、和掌握計算機的緊迫性,同時也帶來了可能性,增強了人們進入這一領域的自信心。單片機經過萌芽階段、初級8位機階段、高級八位機階段、16位單片機階段的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的cpu功能在增強,內部資源在增多,引角的多功能化,以及低電壓底功耗。攀枝花學院??飘厴I(yè)論文(設計) 芯片簡介3 芯片簡介3.1 msc-51芯片簡介mcs-51單片機內部結構 8051是mcs-51系列單片機的典型產品,我們以這一代表性的機型進行系統(tǒng)的講解。 8051單片機包含中央處理器、程序存儲器(rom)、數據存儲器(ram)、定時/計數器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數據總線、地址總
17、線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(cpu)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,cpu負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完成運算和控制輸入輸出功能等操作。數據存儲器(ram)8051內部有128個8位用戶數據存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的ram只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。 圖1程序存儲器(rom):8051共有4096個8位掩膜rom,用于存放用戶程序,原始數據
18、或表格。定時/計數器(rom):8051有兩個16位的可編程定時/計數器,以實現(xiàn)定時或計數產生中斷用于控制程序轉向。并行輸入輸出(i/o)口:8051共有4組8位i/o口(p0、 p1、p2或p3),用于對外部數據的傳輸。全雙工串行口:8051內置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8051內置最高頻率達12mhz的時鐘電路,用于產生整個單片機運行的脈沖時序,但8051單片
19、機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數據存儲器分開的形式,即哈佛(harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數據存儲器合二為一的結構,即普林斯頓(princeton)結構。intel的mcs-51系列單片機采用的是哈佛結構的形式,而后續(xù)產品16位的mcs-96系列單片機則采用普林斯頓結構。下圖是mcs-51系列單片機的內部結構示意圖2。 圖2mcs-51的引腳說明:mcs-51系列單片機中的8031、8051及8751均采用40pin封裝的雙列直接dip結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8
20、位共32個i/o口,中斷口線與p3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:mcs-51的引腳說明:mcs-51系列單片機中的8031、8051及8751均采用40pin封裝的雙列直接dip結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個i/o口,中斷口線與p3口線復用。現(xiàn)在我們對這些引腳的功能加以說明:如圖3 圖3pin9:reset/vpd復位信號復用腳,當8051通電,時鐘電路開始工作,在reset引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數器pc指向0000h,p0-p3輸出口全部為高電平,堆棧指針寫
21、入07h,其它專用寄存器被清“0”。reset由高電平下降為低電平后,系統(tǒng)即從0000h地址開始執(zhí)行程序。然而,初始復位不改變ram(包括工作寄存器r0-r7)的狀態(tài),8051的初始態(tài)。8051的復位方式可以是自動復位,也可以是手動復位,見下圖4。此外,reset/vpd還是一復用腳,vcc掉電其間,此腳可接上備用電源,以保證單片機內部ram的數據不丟失。 圖4pin30:ale/當訪問外部程序器時,ale(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內部程序存儲器時,ale端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當
22、訪問外部程序存儲器,ale會跳過一個脈沖。如果單片機是eprom,在編程其間,將用于輸入編程脈沖。pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,pc的16位地址數據將出現(xiàn)在p0和p2口上,外部程序存儲器則把指令數據放到p0口上,由cpu讀入并執(zhí)行。pin31:ea/vpp程序存儲器的內外部選通線,8051和8751單片機,內置有4kb的程序存儲器,當ea為高電平并且程序地址小于4kb時,讀取內部程序存儲器指令數據,而超過4kb地址則讀取外部指令數據。如ea為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內部無程序存儲器的8031,ea端必須接地。在編程時,ea/vp
23、p腳還需加上21v的編程電壓。3.2 8255芯片簡介8255可編程并行接口芯片簡介: 8255可編程并行接口芯片有三個輸入輸出端口,即a口、b口和c口,對應于引腳pa7pa0、pb7pb0和pc7pc0。其內部還有一個控制寄存器,即控制口。通常a口、b口作為輸入輸出的數據端口。c口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個端口包含一個4位鎖存器。它們分別與端口a配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。8255可編程并行接口芯片方式控制字格式說明:8255有兩種控制命令字;一個是方式選擇控制字;另一個是c口按位置位復位控制字。其中c口按位置位復位控制字方式
24、使用較為繁難,說明也較冗長,故在此不作敘述,需要時用戶可自行查找有關資料。方式控制字格式說明如表1: 表1d7d6d5d4d3d2d1d0 d7:設定工作方式標志,1有效。 d6、d5:a口方式選擇 0 0 方式0 0 1 方式1 1 方式2 d4:a口功能 (1=輸入,0=輸出) d3:c口高4位功能 (1=輸入,0=輸出) d2:b口方式選擇 (0=方式0,1=方式1) d1:b口功能 (1=輸入,0=輸出)d0:c口低4位功能 (1=輸入,0=輸出) 8255可編程并行接口芯片工作方式說明: 方式0:基本輸入輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖
25、存,輸入不能鎖存。 方式1:選通輸入輸出方式。這時a口或b口的8位外設線用作輸入或輸出,c口的4條線中三條用作數據傳輸的聯(lián)絡信號和中斷請求信號。 方式2 :雙向總線方式。只有a口具備雙向總線方式,8位外設線用作輸入或輸出,此時c口的5條線用作通訊聯(lián)絡信號和中斷請求信號。3.3 74ls373簡介74ls373 是一種帶三態(tài)門的8d鎖存器,其管腳示意圖如下示:其中:1d-8d為8個輸入端。 1q-8q為8個輸出端。 le為數據打入端:當le為“1”時,鎖存器輸出 狀態(tài)同輸入狀態(tài);當le由“1”變“0”時,數據 打入鎖存器 oe為輸出允許端:當oe=0時,三態(tài)門打開; 當oe=1時,三態(tài)門關閉,輸
26、出高阻。攀枝花學院專科畢業(yè)論文(設計) 系統(tǒng)硬件設計4 系統(tǒng)硬件設計4.1交通管理的方案論證圖5是一個十字路口示意圖。分別用1、2、3、4表明四個流向的主車道,用a、b、c、p分別表示各主車道的左行車道、直行車道、右行車道以及人行道。用a、b、c、p分別表示左轉、直行、右轉和人行道的交通信號燈,如圖6所示。交通燈閃亮的過程:路口1的車直行時的所有指示燈情況為:3a3b2p綠3c紅+4a4b4c 3p全紅+1c 綠1a1b4p紅+2c綠2a2b1p紅路口2的車直行時的所有指示燈情況為:4a4b3p綠4c紅+ 1a1b1c 4p全紅+ 2c綠2a2b1p紅+3c綠3a3b2p紅故路口3的車直行時的
27、所有指示燈情況為:1a1b4p綠1c紅+ 2a2b2c 1p全紅+3c綠 3a3b2p紅+4c 綠4a4b3p紅故路口4的車直行時的所有指示燈情況為:2a2b1p綠2c紅+3c3a3b2p全紅+4c綠4a4b3p紅+1c綠1a1b4p紅圖5:十字路口交通示意圖 圖6:十字路口通行順序示意圖 圖7:十字路口交通指示燈示意圖4.2系統(tǒng)硬件設計選用設備8051單片機一片選用設備:8051單片機一片,8255并行通用接口芯片一片,74ls07兩片,max692看門狗一片,共陰極的七段數碼管兩個雙向晶閘管若干,7805三端穩(wěn)壓電源一個,紅、黃、綠交通燈各兩個,開關鍵盤、連線若干。421 系統(tǒng)總框圖如下:
28、圖8422 交通燈硬件線路圖 423 系統(tǒng)工作原理(1) 開關鍵盤輸入交通燈初始時間,通過8051單片機p1輸入到系統(tǒng)(2) 由8051單片機的定時器每秒鐘通過p0口向8255的數據口送信息,由8255的pa 口顯示紅、綠、黃燈的燃亮情況;由8255的pc口顯示每個燈的燃亮時間。(3) 8051通過 設置 各個信號等的燃亮時間、通過8031設置,綠、紅時間分別為60秒、80秒循環(huán)由8051的 p0口向8255的數據口輸出。(4) 通過8051單片機的p3.0位來控制系統(tǒng)是工作或設置初值,當.牌位0就對系統(tǒng)進行初始化,為1系統(tǒng)就開始工作。(5) 紅燈倒計時時間,當有車輛闖紅燈時,啟動蜂鳴器進行報
29、警,3s后然后恢復正常。(6) 增加每次綠燈時間車流量檢測的功能,并且通過查詢p2.0端口的電平是否為低,開關按下為低電平,雙位數碼管顯示車流量,直到下一次綠燈時間重新記入。(7) 綠燈時間倒計時完畢,重新循環(huán)。攀枝花學院??飘厴I(yè)論文(設計) 控制器的軟件設計控制器的軟件設計5.1每秒鐘的設定 延時方法可以有兩種一中是利用mcs-51內部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。5.2計數器硬件延時5.2.1 計數器初值計算 定時器工作時必須給計數器送計數器初值,這個值是送到th和tl中的。他是以加法記數的,并能從全1到全0時自動產生溢出中斷請求。因此,我們可以把計數器記滿
30、為零所需的計數值設定為c和計數初值設定為tc 可得到如下計算通式: tc=m-c式中,m為計數器摸值,該值和計數器工作方式有關。在方式0時m為213 ;在方式1時m的值為216;在方式2和3為285.2.2 計算公式 t=(mtc)t計數 或t計數t計數是單片機時鐘周期的倍;為定時初值如單片機的主脈沖頻率為,經過分頻方式213微秒毫秒方式216微秒毫秒顯然秒鐘已經超過了計數器的最大定時間,所以我們只有采用定時器和軟件相結合的辦法才能解決這個問題5.2.3 秒的方法我們采用在主程序中設定一個初值為的軟件計數器和使定時毫秒這樣每當到毫秒時就響應它的溢出中斷請求,進入他的中斷服務子程序。在中斷服務子
31、程序中,先使軟件計數器減,然后判斷它是否為零。為零表示秒已到可以返回到輸出時間顯示程序。5.2.4相應程序代碼()主程序定時器需定時毫秒,故工作于方式。初值: t計數ms/1us=15536=3cboh org 1000h start: mov tmod, #01h ; 令為定時器方式 mov th0, #3ch ;裝入定時器初值 mov tl0, #boh; mov ie,#82h ;開中斷 sebt to;啟動計數器 mov ro,#14h;軟件計數器賦初值loop:sjmp $;等待中斷()中斷服務子程序 :djnz ,ajmp time ; 跳轉到時間及信號燈顯示子程序 djnz:,;
32、恢復值 mov th0, #3ch ;重裝入定時器初值 mov tl0, #boh; mov ie,#82h 5.3 軟件延時 mcs-51的工作頻率為2-12mhz,我們選用的8051單片機的工作頻率為6mhz。機器周期與主頻有關,機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/6m)=2us。我們可以知道具體每條指令的周期數,這樣我們就可以通過指令的執(zhí)行條數來確定1秒的時間。 具體的延時程序分析: delay:mov r4,#08h 延時1秒子程序 de2:lcall delay1 djnz r4,de2 retdelay1:mov r6,#0 延時125ms 子程序 mov
33、r5,#0de1: djnz r5,$ djnz r6,de1 ret mov rn,#data 字節(jié)數數為2 機器周期數為1所以此指令的執(zhí)行時間為2ms delay1 為一個雙重循壞 循環(huán)次數為256*256=65536 所以延時時間=65536*2=131072us 約為125us delay r4設置的初值為8 主延時程序循環(huán)8次,所以125us*8= 1秒 由于單片機的運行速度很快其他的指令執(zhí)行時間可以忽略不計。5.4 時間及信號燈的顯示5.4.1 8051并行口的擴展 8051雖然有4個8位i/o端口,但真正能提供借用的只有p1口,因為p2和p0口通常用于傳送外部傳送地址和數據,p3
34、口也有它的第二功能。因此,8051通常需要擴展。由于我們用外部輸入設定紅綠燈倒計時初值、數碼管的輸出顯示、紅綠黃信號燈的顯示都要用到一個i/o端口,顯然8051的端口是不夠,需要擴展。 擴展的方法有兩種:(1)借用外部ram地址來擴展i/o端口;(2)采用i/o接口新片來擴充。我們用8255并行接口信片來擴展i/o端口。5.4.2顯示原理:當定時器定時為1秒,時程序跳轉到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數器賦初值 ,重新進入循環(huán)。 5.4.3 8
35、255pa口輸出信號接信號燈: 由于發(fā)光二極管為共陽極接法,輸出端口為低電平,對應的二極管發(fā)光,所以可以用置位方法點亮紅,綠,黃發(fā)光二極管。 5.4.4 8255輸出信號與數碼管的連接: led 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點量而顯示不同的字形如 sp,g,f,e,d,c,b,a 管角上加上所以上為伏,不亮其余為高電平,全亮則顯示為采用共陰級連接:其中 pc0pb0-a,pc1pb1-b, pc2pb2-c,pc3pb3-d,pc4pb4-e, pc5pb5-f,pc6pb6-gpc7pb7 -sp接地顯示數值dop g f e d c b a 驅動代碼(16
36、進制)00 0 1 1 1 1 1 1 3fh1 0 0 0 0 0 1 1 006h2 0 1 0 1 1 0 1 15bh3 0 1 0 0 1 1 1 14fh4 0 1 1 0 0 1 1 066h5 0 1 1 0 1 1 0 06dh6 0 1 1 1 1 1 0 07dh7 0 0 0 0 0 1 1 107h8 0 1 1 1 1 1 1 17fh 表 3 驅動代碼表5.4.5 8255與8051的連接:用8051的p0 口的 p0.7 連接8255的片選信號cs 我們用8051的地址采用全譯碼方式,當p0.7 =0 時片選有效, 其他無效, p0.1 p0.1 用于選擇825
37、5端口 p0.7 p0.6 p0.5 p0.4 p0.3 p0.2 p0.1 p0.0a7 a6 a5 a4 a3 a2 a1 a01 x x x x x 0 0 00h為8255 的pa口1 x x x x x 0 1 01h 為8255的pb口1 x x x x x 1 0 02h 為8255的pc口1 x x x x x 1 1 03h 為8255的控制口由于8051是分時對8255和儲存器進行訪問所以8051的p0口不會發(fā)生沖突5.5 程序設計5.5.1流程圖如圖所示開始初始化等待鍵盤事件 顯示程序處理鍵盤事件處理 圖10 圖11 程序流程圖5.5.2 程序源代碼 org 0000h
38、;主程序的入口地址 ljmp main ;跳轉到主程序的開始處 org 0003h ;外部中斷0的中斷程序入口地址 org 000bh ;定時器0的中斷程序入口地址 ljmp t0_int ;跳轉到中斷服務程序處 org 0013h ;外部中斷1的中斷程序入口地址 main : mov sp,#50h mov ie,#8eh ;cpu開中斷,允許t0中斷,t1中斷和外部中斷1中斷 mov tmod,#51h ;設置t1為計數方式,t0為定時方式,且都工作于模式1 mov th1,#00h ;t1計數器清零 mov tl1,#00h setb tr1 ;啟動t1計時器 setb ex1 ;允許i
39、nt1中斷 setb it1 ;選擇邊沿觸發(fā)方式 mov dptr ,#0003h mov a, #80h ;給8255賦初值,8255工作于方式0 movx dptr, aagain: jb p3.1,n0 ;判斷是否要設定東西方向紅綠燈時間的初值,若p3.1為1 則跳轉 mov a,p1 jb p1.7,red ;判斷p1.7是否為1,若為1則設定紅燈時間,否則設定綠燈時間 mov r0,#00h ;r0清零 mov r0,a ;存入東西方向綠燈初始時間 mov r3,a lcall disp1 lcall delay ajmp againred: mov a,p1 anl a,#7fh
40、;p1.7置0 mov r7,#00h ;r7清零 mov r7,a ;存入東西方向紅燈初始時間 mov r3,a lcall disp1 lcall delay ajmp again;-n0: setb tr0 ;啟動t0計時器 mov 76h,r7 ;紅燈時間存入76hn00: mov a,76h ;東西方向禁止,南北方向通行 mov r3,a mov dptr,#0000h ;置8255a口,東西方向紅燈亮,南北方向綠燈亮 mov a,#0ddh movx dptr, an01: jb p2.0,b0n02: setb p3.0 cjne r3,#00h,n01 ;比較r3中的值是否為0
41、,不為0轉到當前指令處執(zhí)行;-黃燈閃爍5秒程序-n1: setb p3.0 mov r3,#05h mov dptr,#0000h ;置8255a口,東西,南北方向黃燈亮 mov a,#0d4h movx dptr,an11: mov r4,#00hn12: cjne r4,#7dh,$ ;黃燈持續(xù)亮0.5秒n13: mov dptr,#0000h ; 置8255a口,南北方向黃燈滅 mov a,#0ddh movx dptr,an14: mov r4,#00h cjne r4,#7dh,$ ;黃燈持續(xù)滅0.5秒 cjne r3,#00h,n1 ;閃爍時間達5秒則退出;-n2: mov r7,
42、#00h mov a,r0 ;東西通行,南北禁止 mov r3,a mov dptr,#0000h ; 置8255a口,東西方向綠燈亮,南北方向紅燈亮 mov a,#0ebh movx dptr,an21: jb p2.0,t03 n22: cjne r3,#00h,n21;-黃燈閃爍5秒程序-n3: mov r3,#05h mov dptr,#0000h ;置8255a口,東西,南北方向黃燈亮 mov a,#0e2h movx dptr,an31: mov r4,#00h cjne r4,#7dh,$ ;黃燈持續(xù)亮0.5秒n32: mov dptr,#0000h ; 置8255a口,南北方向
43、黃燈滅 mov a,#0ebh movx dptr,an33: mov r4,#00h cjne r4,#7dh,$ ;黃燈持續(xù)滅0.5秒 cjne r3,#00h,n3 ;閃爍時間達5秒則退出 sjmp n00;-闖紅燈報警程序-b0: mov r2,#03h ;報警持續(xù)時間3秒b01: mov a,r3 jz n1 ;若倒計時完畢,不再報警 clr p3.0 ;報警 cjne r2,#00h,b01 ;判斷3秒是否結束 sjmp n02;-1秒延時子程序-n7: retit0_int:mov tl0,#9ah ;給定時器t0送定時10ms的初值 mov th0,#0f1h inc r4 inc r5 cjne r5,#0fah,t01 ;判斷延時是否夠一秒,不夠則調用顯示子程序 mov r5,#00h ;r5清零 dec r3 ;倒計時初值減一 dec r2 ;報警初值減一t01: acall disp ;調用顯示子程序 reti ;中斷返回;-顯示子程序-disp: jnb p2.4,t02disp1: mov b,#0ah mov a,r3 ;r3中值二轉十顯示轉換 div ab mov 79h,a mov 7ah,bdis: mov a,79h ;顯示十位 mov dptr,#tab movc a,a+dptr mov dptr,#0002h movx dpt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級上冊數學教學設計-第三單元第1課時 因數與倍數 北師大版
- 一年級下冊數學教案-綜合實踐 趣味拼擺| 青島版(五四學制)
- 學習2025年雷鋒精神六十二周年主題活動實施方案 (3份)-54
- 2025年河南測繪職業(yè)學院單招職業(yè)適應性測試題庫帶答案
- 2025年廣西安全工程職業(yè)技術學院單招職業(yè)技能測試題庫含答案
- 2025年廣東金融學院單招職業(yè)適應性測試題庫完整
- 2025年貴州航天職業(yè)技術學院單招職業(yè)技能測試題庫一套
- 2025福建省安全員考試題庫及答案
- 2025年度幼兒園教職工被辭退勞動權益保護合同
- 2025年度幼兒園實習教師培養(yǎng)與就業(yè)服務協(xié)議
- 二年級下冊計算小能手帶答案
- 2024年臨滄市工業(yè)產業(yè)發(fā)展集團限公司招聘2名公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 2023年3月云南專升本大??肌堵糜螌W概論》試題及答案
- 一年級趣味數學幾和第幾
- 2024年西安電力高等??茖W校單招職業(yè)技能測試題庫及答案解析
- 2024年中國科學技術大學創(chuàng)新班物理試題答案詳解
- 方案優(yōu)缺點對比表模板
- 中職數學基礎模塊上冊學業(yè)水平考試第四章三角函數單元測試及參考答案
- 數據真實性承諾書
- 山東信息職業(yè)技術學院單招職業(yè)技能測試參考試題庫(含答案)
- 充電站風險管理的法律法規(guī)研究
評論
0/150
提交評論