畢業(yè)設計(論文)基于單片機的交通燈控制系統(tǒng)設計_第1頁
畢業(yè)設計(論文)基于單片機的交通燈控制系統(tǒng)設計_第2頁
畢業(yè)設計(論文)基于單片機的交通燈控制系統(tǒng)設計_第3頁
畢業(yè)設計(論文)基于單片機的交通燈控制系統(tǒng)設計_第4頁
畢業(yè)設計(論文)基于單片機的交通燈控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的簡單交通燈設計i 密級:頁數(shù):信息工程大學畢業(yè)設計(論文)題目:基于單片機的簡單交通燈設計學員姓名學號所在單位 五系二十四隊指導教師完成日期基于單片機的簡單交通燈設計ii摘 要:近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入。同時帶動傳統(tǒng)控制檢測技術日益更新。在實時監(jiān)測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面的知識是不夠的,還應根據(jù)具體硬件結構軟硬結合,加以完善。十字路口人來人往,車水馬龍。若沒有一個完善的系統(tǒng)來維持秩序,那么必然會造成極大的混亂:交通癱瘓自不必說,還有可能出現(xiàn)重大事故。那么靠什么來維持秩序,避免以上情況的發(fā)生呢?靠的就是交通

2、信號燈的自動控制指揮系統(tǒng)。交通信號燈的控制方式很多。本系統(tǒng)采用 msc-51 系列單片機 atsc51和可編程并行 i/o 接口芯片 8255a 為中心器件來設計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過 8051 芯片的 p1 口設置紅、綠燈點亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩 5 秒時黃燈閃爍警示(交通燈信號通過 pa 口輸出,顯示時間直接通過 8255 的 pc 口輸出至雙位數(shù)碼管) ;車輛闖紅燈報警;綠燈時間檢測車流量并通過雙位數(shù)碼管顯示。本系統(tǒng)實用性強、操作簡單、擴展功能強。關鍵詞:單片機 交通燈 闖紅燈 檢測車流量基于單片機的簡單交通燈設計iiiabstract:in recen

3、t years, with the rapid development of the science and technology,the application of scm is more and more in depth. at the same time, traditional detection techniques to control the growing update. in the application of real-time detection and automatic control system of single-chip, single-chip is

4、often regard as a core component .useing the single-chip need not only knowledge, but also the structure of hardware and software in accordance with the specific combination of hardware, to be improved.crossroads are crowded with people and vehicles.if hasnt a consummate systerm to regulate the traf

5、fic orders,the traffic will be chaos : traffic jams are unavoidable even terrible accidents will happen.so what we can use to regulate the traffic orders and avoid that situation ? the automatic control system of taffic lights will achieve. there are many ways to contol the traffic lights. this syst

6、em uses msc-51 series single-chip atsc51 and programmable parallel i / o interface chip 8255a-centric device designed to control traffic lights.it accomplishs setting the time of red and green light according to the situationg of the trffic survey by p1 port of the 8051chip;keeping the red and green

7、 lightting on recurring; yellow light flashing warning when the countdown has five seconds left(the taffic light signal outputs by the pa port and time indicating output to the 2-decimal-digital-tube by pc port of 8255 chip );alarming when someone run the red light;detectting the taffic survey when

8、green light and indicating by the 2-decimal-digital-tube.this systerm is practical, simple and strong extensions. key words: single-chip,detection of traffic lights,red light,traffic survey 基于單片機的簡單交通燈設計iv目錄目錄1. 引言.52 . 單片機概述.63. 芯片簡介.73.1 mcs-51 芯片簡介.73.2 8255 芯片簡介.103.3 74ls373 簡介.114系統(tǒng)硬件設計.134.1

9、交通管理的方案論證.134.2 系統(tǒng)硬件設計.134.2.1 系統(tǒng)總框圖.144.2.2 交通燈硬件線路圖.144.2.3 系統(tǒng)工作原理.165控制器的軟件設計.175.1 4*4 鍵盤輸入設定.175.2 時間及信號燈的顯示.185.2.1 8051 并行口的擴展.185.2.2 顯示原理:.185.2.3 8255pa 口輸出信號接信號燈:.185.2.4 8255 輸出信號與數(shù)碼管的連接:.185.2.5 8255 與 8051 的連接:.195.3 每秒鐘的設定.195.4 計數(shù)器硬件延時.205.4.1 計數(shù)器初值計算.205.4.2 計算公式.20基于單片機的簡單交通燈設計v5.4

10、.3 秒計算的方法.205.4.4 相應程序代碼.205.5 軟件延時.215.6 程序設計.225.6.1 流程圖.225.6.2 程序源代碼.236 . 結論.307. 致謝.318. 參考文獻.32基于單片機的簡單交通燈設計1第一章 引言任何技術都要經歷從不成熟到成熟的發(fā)展階段,紅綠燈也不例外。如今紅綠燈作為最常見的交通標志安放在各個路口,大家早已習以為常,但很少有人知道紅綠燈早在 19 世紀就已出現(xiàn)了。1858 年,英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行,這是世界上最早的交通信號燈。1868 年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會

11、大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉式方形玻璃提燈組成,紅色表示“停止” ,綠色表示“注意” 。 不幸的是只面世 23 天的煤氣燈突然爆炸自滅,使警察受傷,遂被取締。直到 1914 年,在美國的克利夫蘭市才率先恢復了紅綠燈,不過,這時已是“電氣信號燈”。 稍后在紐約和芝加哥等城市,相繼重新出現(xiàn)了交通信號燈。隨著各種交通工具的發(fā)展和交通指揮的需要,第一盞名副其實的三色燈(紅、黃、綠三種標志)于 1918 年誕生。它是三色圓形四面投影器,被安裝在紐約市五號街的一座高塔上,由于它的誕生,使城市交通大為改善后來又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力

12、探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。本論文中使用的是紅外對管控制,即上文中所說的第二種。紅外對管檢測即通過兩個紅外管之間的紅外光束因外界因素(人為控制或遮擋)產生變化,而造成所接電路電平變化。信號燈的出現(xiàn),使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。1968 年,聯(lián)合國道路交通和道路標志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈

13、的車輛可以直行,左轉彎和右轉彎,除非另一種標志禁止某一種轉向。左右轉彎車輛都必須讓合法地正在路口內行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。基于單片機的簡單交通燈設計2第二章 單片機概述單片機屬于計算機的一個種類。從應用領域來看,單片機主要用于控制,所以也稱為微型控制器(microcontroller) 。從單片機狀態(tài)來看,它僅是一塊集成電路芯片,它的所有功能部件都集成在一塊芯片上,所以稱之為單片機(single-chip aicroco

14、mputer) 。單片機是把微機的三大組成部分(cpu+存儲器+i/o 接口)和一些實時控制所需要的功能器件集成在一塊芯片上。實時控制器件包括 a/d 轉換器、d/a轉換器、脈沖調制器等。實時控制器件配置的多少也是衡量單片機性能的重要方面,不同系列或型號的單片機,其實時控制器件的配置可能不同。大多數(shù)單片機芯片上都集成有定時器/計數(shù)器。 單片機經過五個階段發(fā)展,單片機目前正朝著 cmos 化、低功耗化、低電壓化、低噪音與高可靠性化、大容量化、高性能化、小容量化、外圍電路內裝化、串行擴展技術化發(fā)展。基于單片機的簡單交通燈設計3第三章 芯片簡介3.1 mcs-51 芯片簡介mcs-51 單片機內部結

15、構: mcs-51 單片機內部結構按功能可以分為 6 部分:微處理器(cpu) 、存儲器(包括特殊功能寄存器、數(shù)據(jù)存儲器、程序存儲器) 、輸入/輸出接口(包括并行端口、穿行端口) 、定時器/計數(shù)器、中斷控制系統(tǒng)和時鐘振蕩電路。 8051 是 mcs-51 系列單片機的典型產品,我們以這一代表性的機型進行系統(tǒng)的講解。 8051 單片機包含中央處理器、程序存儲器(rom)、數(shù)據(jù)存儲器(ram)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器: 中央處理器(cpu)是整個單片機的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處

16、理 8 位二進制數(shù)據(jù)或代碼,cpu 負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(ram) 8051 內部有 128 個 8 位用戶數(shù)據(jù)存儲單元和 128 個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的 ram 只有 128 個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。圖 1基于單片機的簡單交通燈設計4程序存儲器(rom):8051 共有 4096 個 8 位掩膜 rom,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(rom):8051 有兩個 16 位的

17、可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產生中斷用于控制程序轉向。并行輸入輸出(i/o)口:8051 共有 4 組 8 位 i/o 口(p0、 p1、p2 或 p3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051 內置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):中斷系統(tǒng):8051 具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有 2 級的優(yōu)先級別選擇。時鐘電路:時鐘電路:8051 內置最高頻率達 12mhz 的時鐘電路,用于產生整個單片機運行的脈沖時序,但 8051 單

18、片機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結構,即普林斯頓(princeton)結構。intel 的mcs-51 系列單片機采用的是哈佛結構的形式,而后續(xù)產品 16 位的 mcs-96 系列單片機則采用普林斯頓結構。下圖是 mcs-51 系列單片機的內部結構示意圖 2?;趩纹瑱C的簡單交通燈設計5 圖 2mcs-51 的引腳說明:mcs-51 系列單片機中的 8031、8051 及 8751 均采用 40pin 封裝的雙列直接dip 結構,右圖是它們的引腳配置

19、,40 個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4 組 8 位共 32 個 i/o 口,中斷口線與 p3 口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:mcs-51 的引腳說明:mcs-51 系列單片機中的 8031、8051 及 8751 均采用 40pin 封裝的雙列直接dip 結構,右圖是它們的引腳配置,40 個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4 組 8 位共 32 個 i/o 口,中斷口線與 p3 口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:如圖 3 基于單片機的簡單交通燈設計6 圖 3 pin9:reset/vpd 復位信號復用腳,當 8051 通

20、電,時鐘電路開始工作,在reset 引腳上出現(xiàn) 24 個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器 pc 指向 0000h,p0-p3 輸出口全部為高電平,堆棧指針寫入 07h,其它專用寄存器被清“0”。reset 由高電平下降為低電平后,系統(tǒng)即從 0000h地址開始執(zhí)行程序。然而,初始復位不改變 ram(包括工作寄存器 r0-r7)的狀態(tài),8051 的初始態(tài)。8051 的復位方式可以是自動復位,也可以是手動復位,見下圖 4。此外,reset/vpd 還是一復用腳,vcc 掉電其間,此腳可接上備用電源,以保證單片機內部 ram 的數(shù)據(jù)不丟失。 圖 4pin30:ale/當訪問外

21、部程序器時,ale(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內部程序存儲器時,ale 端將有一個 1/6 時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ale 會跳過一個脈沖。如果單片機是 eprom,在編程其間,將用于輸入編程脈沖。pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,pc 的16 位地址數(shù)據(jù)將出現(xiàn)在 p0 和 p2 口上,外部程序存儲器則把指令數(shù)據(jù)放到 p0口上,由 cpu 讀入并執(zhí)行。pin31:ea/vpp程序存儲器的內外部選通線,8051 和 8751 單片機,內置有4kb 的程序

22、存儲器,當 ea 為高電平并且程序地址小于 4kb 時,讀取內部程序存儲器指令數(shù)據(jù),而超過 4kb 地址則讀取外部指令數(shù)據(jù)。如 ea 為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內部無程序存儲器的8031,ea 端必須接地。在編程時,ea/vpp腳還需加上 21v 的編程電壓?;趩纹瑱C的簡單交通燈設計73.2 8255 芯片簡介8255 可編程并行接口芯片簡介: 8255 可編程并行接口芯片有三個輸入輸出端口,即 a 口、b 口和 c 口,對應于引腳 pa7pa0、pb7pb0 和 pc7pc0。其內部還有一個控制寄存器,即控制口。通常 a 口、b 口作為輸入輸出的數(shù)據(jù)端口

23、。c 口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成 4 位的端口,每個端口包含一個 4位鎖存器。它們分別與端口 a配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。8255 可編程并行接口芯片方式控制字格式說明:8255 有兩種控制命令字;一個是方式選擇控制字;另一個是 c 口按位置位復位控制字。其中 c 口按位置位復位控制字方式使用較為繁難,說明也較冗長,故在此不作敘述,需要時用戶可自行查找有關資料。方式控制字格式說明如表 1: 表 1d7:設定工作方式標志,1 有效。 d6、d5:a 口方式選擇 0 0 方式 0 0 1 方式 1 1 方式 2 d4:a 口功能 (1=輸入,0

24、=輸出) d3:c 口高 4 位功能 (1=輸入,0=輸出) d2:b 口方式選擇 (0=方式 0,1=方式 1) d1:b 口功能 (1=輸入,0=輸出)d0:c 口低 4 位功能 (1=輸入,0=輸出)8255 可編程并行接口芯片工作方式說明: 方式方式 0 0:基本輸入輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。 方式方式 1 1:選通輸入輸出方式。這時 a 口或 b 口的 8 位外設線用作輸入或輸出,c 口的 4 條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡信號和中斷請求信號。d7d6d5d4d3d2d1d0基于單片機的簡單交通燈設計8 方式方式

25、2 2 :雙向總線方式。只有 a 口具備雙向總線方式,8 位外設線用作輸入或輸出,此時 c 口的 5 條線用作通訊聯(lián)絡信號和中斷請求信號。3.3 74ls373 簡介74ls373 是一種帶三態(tài)門的 8d 鎖存器,其管腳示意圖如下示:其中:1d-8d 為 8 個輸入端。 1q-8q 為 8 個輸出端。 le 為數(shù)據(jù)打入端:當 le 為“1”時,鎖存器輸出 狀態(tài)同輸入狀態(tài);當 le 由“1”變“0”時,數(shù)據(jù) 打入鎖存器 oe 為輸出允許端:當 oe=0 時,三態(tài)門打開; 當 oe=1 時,三態(tài)門關閉,輸出高阻。基于單片機的簡單交通燈設計9第四章 系統(tǒng)硬件設計4.1 交通管理的方案論證東西、南北兩

26、干道相交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行,黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈點亮時間為東西、南北兩干道的公共停車時間。設東西道比南北道的車流量大,指示燈點亮的方案如表2。 表 2表 2 說明: (1)當東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。時間為 60 秒;(2)黃燈閃爍 5 秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換; (3)當東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通過,行人通行。時間為 80 秒。 東西方向車流大 通行時間長;(

27、4)這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行;(5)此表可根據(jù)車流量動態(tài)設定紅綠燈初始值。4.2 系統(tǒng)硬件設計選用設備 8051 單片機一片選用設備:8051 單片機一片,8255 并行通用接口芯片一片,74ls07 兩片,max692看門狗一片,共陰極的七段數(shù)碼管兩個雙向晶閘管若干,7805 三端穩(wěn)壓電源一個,紅、黃、綠交通燈各兩個,開關鍵盤、連線若干。60s5s80s5s東西道紅燈亮黃燈亮綠燈亮黃燈亮南北道綠燈亮黃燈亮紅燈亮黃燈亮基于單片機的簡單交通燈設計104.2.1 系統(tǒng)總框圖圖 64.2.2 交通燈硬件線路圖基于單片機的簡單交通燈設計12基于單片

28、機的簡單交通燈設計134.2.3 系統(tǒng)工作原理1. 開關鍵盤輸入交通燈初始時間,通過 8051 單片機 p1 輸入到系統(tǒng); 2. 由 8051 單片機的定時器每秒鐘通過 p0 口向 8255 的數(shù)據(jù)口送信息,由8255 的 pa 口顯示紅、綠、黃燈的燃亮情況;由 8255 的 pc 口顯示每個燈的明亮時間;3. 通過 8051 設置各個信號燈的時間、通過 8051 設置,綠、紅時間分別為 60秒、80 秒循環(huán)由 8051 的 p0 口向 8255 的數(shù)據(jù)口輸出;4. 通過 8051 單片機的 p3.0 位來控制系統(tǒng)是工作或設置初值,當排位 0 就對系統(tǒng)進行初始化,為 1 系統(tǒng)就開始工作;5.

29、紅燈倒計時時間,當有車輛闖紅燈時,啟動蜂鳴器進行報警,3s 后恢復正常;6. 增加每次綠燈時間車流量檢測的功能,并且通過查詢 p2.0 端口的電平是否為低,開關按下為低電平,雙位數(shù)碼管顯示車流量,直到下一次綠燈時間重新記入;7. 綠燈時間倒計時完畢,重新循環(huán)?;趩纹瑱C的簡單交通燈設計14第五章 信號燈顯示原理5.1 時間及信號燈的顯示5.1.1 8051 并行口的擴展 8051 雖然有 4 個 8 位 i/o 端口,但真正能提供借用的只有 p1 口,因為 p2 和 p0口通常用于傳送外部傳送地址和數(shù)據(jù),p3 口也有它的第二功能。因此,8051 通常需要擴展。由于我們用外部輸入設定紅綠燈倒計時

30、初值、數(shù)碼管的輸出顯示、紅綠黃信號燈的顯示都要用到一個 i/o 端口,顯然 8051 的端口是不夠,需要擴展。 擴展的方法有兩種:(1)借用外部 ram 地址來擴展 i/o 端口;(2)采用i/o 接口新片來擴充。我們用 8255 并行接口信片來擴展 i/o 端口。5.1.2 顯示原理:當定時器定時為 1 秒,時程序跳轉到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色時間顯示完后在重新給時間計數(shù)器賦初值 ,重新進入循環(huán)。 5.1.3 8255pa 口輸出信號接信號燈: 由于發(fā)光二極管為共

31、陽極接法,輸出端口為低電平,對應的二極管發(fā)光,所以可以用置位方法點亮紅,綠,黃發(fā)光二極管。5.1.4 8255 輸出信號與數(shù)碼管的連接: led 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點亮而顯示不同的字形如 sp,g,f,e,d,c,b,a 管角上加上 7fh 所以 sp 上為 0伏,不亮其余為 ttl 高電平,全亮則顯示為 8采用共陰級連接:其中 pc0pb0-a,pc1pb1-b, pc2pb2-c,pc3pb3-d,pc4pb4-e, 基于單片機的簡單交通燈設計15pc5pb5-f,pc6pb6-gpc7pb7 -sp 接地表 3 驅動代碼表顯示數(shù)值dop g f

32、 e d c b a 驅動代碼(16 進制)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 5.1.5 8255 與 8051 的連接:用 8051 的 p0 口的 p0.7 連接 8255 的片選信號 cs 我們用 8051 的地址采用全譯碼方式,當 p7 =0 時片選有效,其他無效

33、,p0.1 用于選擇 8255 端口 p0.7 p0.6 p0.5 p0.4 p0.3 p0.2 p0.1p0.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ā)生沖突。基于單片機的簡單交通燈設計16第六章 結論本系統(tǒng)就是充分利用了 8051 和 8255

34、芯片的 i/o 引腳。系統(tǒng)統(tǒng)采用 msc-51系列單片機 intel8051 和可編程并行 i/o 接口芯片 8255a 為中心器件來設計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過 8051 芯片的 p1 口設置紅、綠燈燃亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩 5 秒時黃燈閃爍警示(交通燈信號通過 pa 口輸出,顯示時間直接通過 8255 的 pc 口輸出至雙位數(shù)碼管) ;車輛闖紅燈報警;綠燈時間可檢測車流量并可通過雙位數(shù)碼管顯示。系統(tǒng)不足之處不能控制車的左、右轉、以及自動根據(jù)車流改變紅綠燈時間等。這是根據(jù)所處環(huán)境和車流量的實際情況所決定的,如果需要可設計補充原系統(tǒng)來實現(xiàn)?!皩嵺`是檢驗真理的唯一

35、標準” ,學習單片機若是只靠書本上的知識無疑是管中窺豹,只有經過實際的鍛煉才能加深理解。通過這次畢業(yè)設計讓我無論是從專業(yè)知識還是分析和解決問題的能力上都有了較大的提高。讓我對單片機的設計流程以及對于匯編語言的應用都有了進一步的認識,為以后的工作和學習打下了良好的基礎?;趩纹瑱C的簡單交通燈設計17致謝經過兩個月的收集整理,我們小組完成了這個畢業(yè)設計的論文,在此,我們首先向我們的指導教員王志新教員表示感謝,感謝他在論文整理的過程中給予我們的幫助;然后我們要感謝大學領導和教員在這四年的關心、幫助、和教育指導;最后要感謝我們二十四隊的隊長和政委在我們在校期間在生活上給予我們的幫助和鼓勵?;趩纹瑱C的

36、簡單交通燈設計18參考文獻1 張毅坤. 單片微型計算機原理及應用,西安電子科技大學出版社 1998 2 余錫存 曹國華.單片機原理及接口技術m.陜西:西安電子科技大學出版社,2000.73 雷麗文 等.微機原理與接口技術m.北京:電子工業(yè)出版社,1997.24 秦實宏 等.單片機原理及應用技術,北京:中國水利水電出版社,2005 5 韋大偉. 計算機硬件技術基礎,北京:機械工業(yè)出版社,2006.5 www部分資料。 基于單片機的簡單交通燈設計19附錄4*44*4 鍵盤輸入設定鍵盤輸入設定 key scan: 識別鍵盤有無鍵按下子程序mov p1,#0f0h 置列線為 0,行線為 1mov a,

37、p1 讀 p1 口anl a,#0f0h 取出高四位mov b,a 暫存到 bmov p1,#0fh 置列線為 1,行線為 0mov a,p1 讀 p1 口anl a,#0fh 取出低四位orl a,b 高四位與低四位邏輯或運算重新組合cjne a,#0ffg,key in1 0ffh 為無按鍵按下retkey in1: 識別具體按鍵值子程序mov b,a 將按鍵的特征編碼暫存于 bmov dptr,#keytablemov r3,#0ffhkey in2:inc r3 順序碼加 1mov a,r3movc a,a+dptr 查表cjne a,b,key in3 比較,若相同則找到按鍵的特征編

38、碼mov a,r3 找到特征編碼后,取順序碼mov 30h,a 存入 30h 單元retkey in3:基于單片機的簡單交通燈設計20cjne a,#00h,key in2 未完則繼續(xù)查,00h 為結束碼retkey table: 特征編碼與順序碼對應表db 0eeh,0edh,0ebh,0e7h,0deh 0,1,2,3,4 順序碼db 0ddh,0dbh,0d7h,0beh,0bdh 5,6,7,8,9 順序碼db 0bbh,0b7h,07eh,07dh,07bh,077h a,b,c,d,e,f 順序碼db 00h 結束碼 相應程序代碼主程序定時器需定時毫秒,故工作于方式。初值:tc=m

39、-t/t 計數(shù)=216-50ms/1us=15536=3cb0h org 1000h start: mov tmod, #01h ; 令為定時器方式 mov th0, #3ch ; 裝入定時器初值 mov tl0, #boh; mov ie, #82h ; 開中斷 seb tro ;啟動計數(shù)器 mov ro, #14h; 軟件計數(shù)器賦初值loop:sjmp $ ;等待中斷中斷服務子程序 org 000bh ajmp brt0 org 00bh brto: djnz r0, next ajmp time; 跳轉到時間及信號燈顯示子程序 djnz:mov ro,#14h; 恢復值 mov th0,

40、 #3ch ; 重裝入定時器初值 mov tl0, #boh; mov ie, #82h 基于單片機的簡單交通燈設計21 ret1end 程序源代碼程序源代碼org 0000h ;主程序的入口地址 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,

41、#51h ;設置 t1 為計數(shù)方式,t0 為定時方式,且都工作于模式 1 mov th1,#00h ;t1 計數(shù)器清零 mov tl1,#00h setb tr1 ;啟動 t1 計時器 setb ex1 ;允許 int1 中斷 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 則設定紅燈時

42、間,否則設定綠燈時間 mov r0,#00h ;r0 清零 mov r0,a ;存入東西方向綠燈初始時間 mov r3,a lcall disp1基于單片機的簡單交通燈設計22 lcall delay ajmp againred: mov a,p1 anl a,#7fh ;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 ;東西方向禁

43、止,南北方向通行 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,不為 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,$ ;黃燈

44、持續(xù)亮 0.5 秒n13: mov dptr,#0000h ;置 8255a 口,南北方向黃燈滅 mov a,#0ddh基于單片機的簡單交通燈設計23 movx dptr,an14: mov r4,#00h cjne r4,#7dh,$ ;黃燈持續(xù)滅 0.5 秒 cjne r3,#00h,n1 ;閃爍時間達 5 秒則退出;-n2: mov r7,#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.

溫馨提示

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

最新文檔

評論

0/150

提交評論