基于單片機的交通燈設計畢業(yè)設計
《基于單片機的交通燈設計畢業(yè)設計》由會員分享,可在線閱讀,更多相關《基于單片機的交通燈設計畢業(yè)設計(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 目錄 摘要 2 第一章 緒論 4 1.1單片機交通燈電路概述 4 1.2方案介紹 4 1.2.1方案1設計思想 4 1.2.2方案2 設計思想 6 1.2.3方案比較 6 第二章 交通燈系統(tǒng)硬件設計 8 2.1 單片機概述 8 2.2 系統(tǒng)構成 9 2.3 單元電路的分析與介紹 10 2.3.1 MSC-51芯片簡介 10 2.3.2 晶體振蕩器 13 2.4 工作原理 14 第三章 交通燈系統(tǒng)軟件設計 15 3.1 程序設計流程圖 15 3.2 控制器的軟件設計 15 3.2.1定時器中斷 15 3.3 延時程序 16 3.3.1 中斷程
2、序及P1口控制燈循環(huán)程序 16 第四章 整機工作原理 18 結論 20 致 謝 21 參考文獻 22 附錄 23 附錄1:整機電路圖 23 附錄2:程序源代碼 24 摘要 當今,紅綠燈安裝在各個道口上,已經(jīng)成為疏導交通車輛最常見和最有效的手段。但這一技術在19世紀就已出現(xiàn)了。 1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉式方形玻
3、璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。 電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。 1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。 信
4、號燈的出現(xiàn),使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉彎和右轉彎,除非另一種標志禁止某一種轉向。左右轉彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。 隨著經(jīng)濟的發(fā)展,交通運輸中出現(xiàn)了一些傳統(tǒng)方法難以解決的問題。道路擁擠現(xiàn)象日趨嚴重,造成的經(jīng)濟損失越來越大,
5、并一直保持大比例的增長?,F(xiàn)在交通系統(tǒng)已不能滿足經(jīng)濟發(fā)展的需求。由于生活水平的提高,人們對交通運輸?shù)陌踩约胺账教岢隽烁叩囊?。在交通中管理引入單片機交通燈控制代替交管人員在交叉路口服務,有助于提高交通運輸?shù)陌踩?、提高交通管理的服務質量。并在一定程度上盡可能的降低由道路擁擠造成的經(jīng)濟損失,同時也減小了工作人員的勞動強度。 中國車輛數(shù)量不斷增加,交通控制在未來的交通管理中起著越來越重要的作用。智能交通燈的管理比重修一條馬路無論在經(jīng)濟、交通運行速率上都有很好的效益、更加節(jié)約資源。使交管人員有更多的精力投入到管理整個城市交通控制,帶來更大的經(jīng)濟和社會效益,為創(chuàng)造美好的城市交通形象發(fā)揮更多的作
6、用。 關鍵詞:單片機 闖紅燈 檢測車流量 第一章 緒論 1.1單片機交通燈電路概述 近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結構軟硬件結合,加以完善。 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機AT89C51
7、為中心器件來設計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過8051芯片的P2口設置紅、綠燈燃亮時間的功能,紅綠燈循環(huán)點亮,倒計時為5秒時黃燈閃爍警示(交通燈信號通過P3口輸出,顯示時間直接通過P0和P2口輸出至雙位數(shù)碼管);外加緊急事件中斷處理。本系統(tǒng)實用性強、操作簡單、擴展功能強。 1.2方案介紹 1.2.1方案1設計思想 采用分模塊設計的思想,程序設計實現(xiàn)的基本思想是一個計數(shù)器 , 選擇一個單片機,其內(nèi)部為一個計數(shù),是十六進制計數(shù)器,模塊化后,通過設置或程序清除來實現(xiàn)狀態(tài)的轉換, 由于每一個模塊的計數(shù)多不是相同, 這里的各模塊是以預置數(shù)和計數(shù)器計數(shù)共同來實現(xiàn)的,所以要考慮增加一個置數(shù)
8、模塊,其主要功能細分為,對不同的狀態(tài)輸入要產(chǎn)生相應狀態(tài)的下一個狀態(tài)的預置數(shù), 如圖中A道和B道,分別為次干道的置數(shù)選擇和主干道的置數(shù)選擇。以主干道為例,簡述其設計思想。如前分析,已經(jīng)確定該系統(tǒng)有四個狀態(tài),而置數(shù)子模塊可定要將下一狀態(tài)的預置數(shù)準備好,所以很容易得到主干道的置數(shù)表: 狀態(tài) 主干道預置數(shù) 次干道預置數(shù) 00 40 34 01 不要置數(shù) 5(黃燈) 10 34 40 11 5(黃燈) 不要置數(shù) 由該表,就可以通過程序循環(huán)的方法設計該模塊,主要思想是通過數(shù)據(jù)判斷指令、跳轉指令實現(xiàn),由主控制器計時和中斷產(chǎn)生的四個狀態(tài)去譯碼,從而得到不同的輸出,即預置數(shù),由上
9、分析可用一個計數(shù)器和跳轉指令去完成的預置數(shù)。 而紅綠燈的顯示也是一樣,由狀態(tài)分析可以得出紅綠燈的變化表 狀態(tài) 主干道燈顯示 次干道燈顯示 00 紅燈 綠燈 01 紅燈 黃燈 10 綠燈 紅燈 11 黃燈 紅燈 通過這張表就可以用組合電路實現(xiàn)該功能了,可以用數(shù)據(jù)選擇器的思想,在本系統(tǒng)中,直接通過門電路的譯碼,接下來就是計數(shù)模塊了,其主要的功能細分為,要從預置數(shù)開始遞減計數(shù),一個狀態(tài)結束,通過判斷,通知主控制模塊,使之進入下一模塊。還有一個必須考慮到的就是,預置數(shù)必須在下一個狀態(tài)來之前準備好,而紅綠燈的狀態(tài)變化,必須和計數(shù)狀態(tài)同步,于是引起預置數(shù)變化的程序要超前于
10、系統(tǒng)本身的狀態(tài)變化,所以,系統(tǒng)中的兩個狀態(tài)轉換時,在上一狀態(tài)結束時設置預置數(shù),而控制紅綠燈的是隨著系統(tǒng)本身狀態(tài)的變化而變化,體現(xiàn)在本子電路中就是有兩組電路去判斷符合的狀態(tài)。 1.2.2方案2 設計思想 東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮時間為東西、南北兩干道的公共停車時間。設東西道比南北道的車流量大,指示燈燃亮的方案如表1。 10s 5s 10s 5s 東西道路 綠燈亮 黃燈亮 紅燈亮 紅燈亮 南北道路 紅燈亮
11、 紅燈亮 綠燈亮 黃燈亮 表1 由上圖可以看出交通燈的點亮只有4種狀態(tài); (1) 東西綠燈亮,南北紅燈亮,為10s。 (2) 東西黃燈亮,南北紅燈亮,為5s。 (3) 南北綠燈亮,東西紅燈亮,為10s。 (4) 南北黃燈亮,東西紅燈亮,為5s。 通過以上4種狀態(tài)的循環(huán),就可以用來控制十字路口上的車輛和行人的安全通過。 另外,還有一點,緊急通道的使用,也就是當有110,120,119等緊急事件發(fā)生時,需要使十字路口的紅燈全部點亮,等緊急車輛通行過后,交通燈恢復到正常狀態(tài)。 1.2.3方案比較 方案1(以下稱1)用了模塊設計,而方案2(以下稱2)采用的是一般設計,相比
12、之下1有較強的可讀性和較強的可修改性,而2則在設計上顯得較簡單,設計純樸,便于測試,它的優(yōu)勢則在于提供了一條較為便捷的解決方案。2首先將許多邏輯關系簡化到極點,而后將其一起集成用較少的芯片去完成所需功能。 我們從中可以得出的是,方案1優(yōu)先于方案2。對工程設計人員來說,將來的產(chǎn)品無論從修改還是升級考慮對有好處,但我們只是初學者,還達不到這種模塊化設計,因此我覺得在設計初期盡可能的簡單化設計,一旦自我有所成就后,在有可能的條件下將設計模塊化,所以本設計以第二方案為主進行。 第二章 交通燈系統(tǒng)硬件設計
13、 2.1 單片機概述 單片機是由運算器、控制器、存儲器、輸入設備以及輸出設備共五個基本部分組成的。單片機是把包括運算器、控制器、少量的存儲器、最基本的輸入輸出口電路、串行口電路、中斷和定時電路等都集成在一個尺寸有限的芯片上。 通常,單片機由單個集成電路芯片構成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當?shù)能浖巴獠吭O備相結合,便可成為一個單片機控制系統(tǒng)。 單片機經(jīng)過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引腳的多功能化,以及低電壓、低功耗。 可以說,二十世紀跨越了三個“電
14、”的時代,即電氣時代、電子時代和現(xiàn)已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數(shù)人卻不怎么熟悉。這種計算機就是把智能賦予各種機械的單片機。顧名思義,這種計算機的最小系統(tǒng)只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了?,F(xiàn)在,這種單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣
15、機等。現(xiàn)在有些工廠的技術人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電路太復雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機或其它可編程邏輯器件上。 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。它主要是作為控制部分的核心部件。因此,單片機的學習、開發(fā)與
16、應用將造就一批計算機應用與智能化控制的科學家、工程師。 2.2 系統(tǒng)構成 電路板一塊,AT89S52單片機一片,八段LED數(shù)碼管四個。發(fā)光二極管16個(4個綠的,4個紅,8個黃的),12個電阻,2個電容,1個晶振,1個電解電容,2個按鍵開關。(系統(tǒng)結構框圖:圖2.1) AT89S52 外部中斷電路 復位電路 緊急通道模擬通行狀態(tài) 交通燈 圖2.1 系統(tǒng)結構框圖 2.3 單元電路的分析與介紹 2.3.1 MSC-51芯片簡介 MCS-51單片機內(nèi)部結構 8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。 8051單片機
17、包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明: 中央處理器: 中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。 數(shù)據(jù)存儲器(RAM) 8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個
18、,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。 圖2.2數(shù)據(jù)存儲器 程序存儲器(ROM): 8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。 定時/計數(shù)器(ROM): 8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉向。 并行輸入輸出(I/O)口: 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。 全雙工串行口: 8051內(nèi)置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。 中斷系統(tǒng): 8051具備較完善的
19、中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。 時鐘電路: 8051內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。 下圖是MCS-51系列單片機的內(nèi)部結構示意圖2.3。 圖2.3單片機的內(nèi)部結構示意圖 MCS-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)在我們對這些引腳的功能加以說明:如圖2.4 圖2.4 引腳的功能圖 引腳9:RESET/Vpd復位信號復用腳,當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后
21、,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。 8051的復位方式可以是自動復位,也可以是手動復位,見下圖2.5。此外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。 圖2.5 復位電路及時鐘方式圖 引腳30:ALE/當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將
22、有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈沖。 如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。 引腳29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。 引腳31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低
23、電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。 2.3.2 晶體振蕩器 石英晶體振蕩器的特點是振蕩頻率準確、電路結構簡單、頻率易調(diào)整,作用是為系統(tǒng)提供基本的時鐘信號。我們在晶體某一方向加一電場,從而在與此垂直的方向產(chǎn)生機械振動,有了機械振動,就會在相應的垂直面上產(chǎn)生電場,從而使機械振動和電場互為因果,這種循環(huán)過程一直持續(xù)到晶體的機械強度限制時,才達到最后穩(wěn)定,這種壓電諧振的頻率即為晶體振蕩器的固有頻率。 振蕩器特性,XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反晶體向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。
24、如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 在XTAL1和XTAL2引腳上外接定時元件就能構成自激振蕩電路。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振電路。電容器C1和C2主要起頻率微調(diào)作 用。 圖2.6 晶振電路 2.4 工作原理 (1)打開開關進入交通燈初始化狀態(tài),由P0口輸出,P0.0控制南北綠燈;P0.1控制南北黃燈;P0.2控制南北紅燈;P0.3控制東西綠燈;P0.4控制東西黃燈;P0.4控制東西紅燈。 (2)按下接在P3^2引腳的按鈕后(此引腳為外
25、部中斷INT0),P1口和P0口同時輸出信號,P1口控制的等從右向左進行點亮位移;P0口交通燈紅燈全亮。 (3)斷開按鈕,P1口結束輸出信號,并且所接燈熄滅;P0口繼續(xù)輸出,恢復到正常工作狀態(tài)下。 (4)9號引腳為復位電路,按下按鈕,交通燈的顯示回到初始狀態(tài) 第三章 交通燈系統(tǒng)軟件設計 3.1 程序設計流程圖 緊急中斷,南北 東西都亮紅燈 結束 設定初值 初始化 開始 東西綠燈,南北紅燈亮10秒 東西黃燈,南北紅燈燈亮5秒 東西紅燈,南北綠燈亮10秒 東西紅燈,南北黃燈亮5秒 3.
26、1 程序流程圖 3.2 控制器的軟件設計 3.2.1定時器中斷 定時器計數(shù)初值 若定時器為計數(shù)方式,操作方式為1,則計數(shù)器初值X0=216-t0fosc/12。式中fosc為振蕩器的振蕩頻率。t0為需要定時的時間,也為中斷的間隔時間。X0為定時器原計數(shù)初值。在對定時器溢出中斷與CPU響應中斷時間誤差進行補償時,定時器的計數(shù)初值X1為: X1=216-t3 fosc/12 t3=t0+t1+t2 式中t0為中斷間隔時間。t1為定時器停止計數(shù)時間,該時間為定時器停止計數(shù)到重新啟動計數(shù)之間所有程序指令周期數(shù)的總和。t2為定時器溢出中斷后,重新從OOH開始直至計數(shù)器停止時計的值。在誤差補
27、償中,若將定時器計數(shù)初值X1取代X0,則可使定時器下次的溢出中斷與CPU響應中斷實現(xiàn)同步。 延時方法可以有兩種一中是利用MCS-51內(nèi)部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。 3.3 延時程序 void deply(uint z) //延時程序 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--) {} } 3.3.1 中斷程序及P1口控制燈循環(huán)程序 void int0_suspend() interrupt 0 //外部INT0中斷 { DX_GR
28、EEN=1; DX_YELLOW=1; DX_RED=0; NB_RED=0; NB_YELLOW=1; NB_GREEN=1; LED_xunhuan(); //調(diào)用緊急通行模擬狀態(tài) } void LED_xunhuan() //救護車緊急通行模擬狀態(tài) { while(1) { deply(500); //延時0.5秒 P1=P1_paomadeng[i]; //把數(shù)組中的元素賦給P1口 i++; //自加1 if(i==4) //i自加到4時把數(shù)組第一個元素賦給i {
29、i=0; } if(P3_2==1) //外部中斷為高電平時結束循環(huán) { i=0; //返回到數(shù)組第一個元素 break; } } P1=0xff; //P1口全置1 flog=0; //為flog賦初值(交通燈從頭開始循環(huán)顯示) } 第四章 整機工作原理 東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮時間為
30、東西、南北兩干道的公共停車時間。設東西道比南北道的車流量大,指示燈燃亮的方案如表1。 10s 5s 10s 5s 東西道路 綠燈亮 黃燈亮 紅燈亮 紅燈亮 南北道路 紅燈亮 紅燈亮 綠燈亮 黃燈亮 表1 由上圖可以看出交通燈的點亮只有4種狀態(tài); (5) 東西綠燈亮,南北紅燈亮,為10s。 (6) 東西黃燈亮,南北紅燈亮,為5s。 (7) 南北綠燈亮,東西紅燈亮,為10s。 (8) 南北黃燈亮,東西紅燈亮,為5s。 通過以上4種狀態(tài)的循環(huán),就可以用來控制十字路口上的車輛和行人的安全通過。 另外,還有一點,緊急通道的使用,也就是當有110
31、,120,119等緊急事件發(fā)生時,需要使十字路口的紅燈全部點亮,等緊急車輛通行過后,交通燈恢復到正常狀態(tài)。 可執(zhí)行文件說明: ⑴ 打開Keil軟件,新建工程; ⑵ 選擇芯片; ⑶ 新建文檔,把編寫好代碼寫入文檔并保存了ASM文件; ⑷ 把保存的文檔加載到Source Group; ⑸編譯程序; ⑹設置轉換成16進制; ⑺運行程序的結果; 把編寫好的16進制文件(jtd.hex) 輸入單片機AT89S52仿真器和對其進行初始化。 給實驗板進行通電,觀察運行結果,不一致則跳到第一步進行反復調(diào)試,直到與預定目的一致。 通電以后,東西、南北方向的時間均遞減,5秒以后,東西方向的
32、5秒用完,變成東西左轉、南北各10秒,此后,時間顯示和紅綠燈不再變化,一直保持這一狀態(tài)。 結論 本系統(tǒng)就是充分利用了89S52 I/O引腳。系統(tǒng)采用MSC-51系列單片機為中心器件來設計交通燈控制器,實現(xiàn)通過89C51芯片的P0口控制紅、綠燈燃亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示。系統(tǒng)不足之處不能控制車的左、右轉、以及自動根據(jù)車流改變紅綠燈時間等。這是由于本身地理位置以及車流量情況所定,如果有需要可以設計擴充原系統(tǒng)來實現(xiàn) 。
33、通過這次設計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機的基本原理、單片機應用系統(tǒng)開發(fā)過程,以及在常用編程設計思路技巧(特別是C語言)的掌握方面都能向前邁了一大步,為日后成為合格的應用型人才打下良好的基礎。 第 21 頁 致 謝 在這里,我首先向我的指導老師吳浩然表示深深的感謝,同時感謝我的同學在畢業(yè)設計中給我的幫助和鼓勵。 在整個畢業(yè)設計過程中,他們都給予了我極大的關心和幫助,并對我的畢業(yè)設計進行了悉心的指導。使我獲得了豐富的理論知識,極大地提高了實踐能力,并對當前電子領域的研究狀況和發(fā)展方向有了一定的了解,單片機領域這對我今后進一步學習計算機
34、方面的知識有極大的幫助。 我感謝大學三年來所有教過我的計算機工程系的老師們,是他們傳授了有用的專業(yè)知識給我,使我在整個畢業(yè)設計過程中能游刃有余的發(fā)揮,同時也感謝我們計算機工程系為我們提供了良好的上機環(huán)境,在此向他們致以深深的謝意!最后,我忠心地感謝單片機老師吳浩然以及其他同學的指導和支持,在未來的工作和學習中,我將以更好的成績來回報各位領導、老師和同學。 最后,特別感謝我的父母多年來在學習上、生活上的理解與大力支持,讓我圓滿的完成了學業(yè)。向百忙之中抽時間對本文進行審閱,評議和參與本人論文答辯的各位老師表示感謝。 四川信息職業(yè)技術學院畢業(yè)設計說明書(論文) 參考文獻 [
35、1]、李朝青.單片機原理及接口技術(簡明修訂版)1998。
[2]、李廣弟.單片機基礎[M].北京:北京航空航天大學出版社,1994
[3]、胡文金,單片機應用技術實訓教程,重慶大學出版社,2005年2月。
[4]、胡輝《單片機原理與應用》,中國水利出版社,2007。
[5]、劉守義《單片機應用技術》, 西安電子科技大學出版社,2006。
附錄
附錄1:整機電路圖
附錄2:程序源代碼
#include
36、int unsigned int #define uchar unsigned char sbit NB_GREEN=P0^0; sbit NB_YELLOW=P0^1; sbit NB_RED=P0^2; sbit DX_GREEN=P0^3; sbit DX_YELLOW=P0^4; sbit DX_RED=P0^5; sbit P3_2=P3^2; uchar P1_paomadeng[]={0xf7,0xfb,0xfd,0xfe}; //字符型一維數(shù)組(包含了4個元素) uint i,flog,flog1; //自定義變量 void
37、 deply(uint z) //延時程序 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--) {} } void LED_xunhuan(); void main() { EA=1; IT0=0; EX0=1; PX0=1; DX_GREEN=1;DX_YELLOW=0;DX_RED=1; //初始化南北,東西黃燈亮1秒 NB_RED=1;NB_YELLOW=0;NB_GREEN=1; eply(1000); while(1) { flog++; i
38、f(flog==1) { DX_GREEN=0;DX_YELLOW=1;DX_RED=1; NB_RED=0;NB_YELLOW=1;NB_GREEN=1; deply(10000); //東西綠燈,南北紅燈亮10秒 } else { if(flog==2) { DX_YELLOW=0;DX_GREEN=1;DX_RED=1; NB_RED=0;NB_YELLOW=1;NB_YELLOW=1; deply(5000); //東西黃燈,南北紅燈燈亮5秒 } else { if(flog==3) { DX_RED=0;DX_YELLOW=1;DX_
39、GREEN=1; NB_GREEN=0;NB_RED=1;NB_YELLOW=1; deply(10000); //東西紅燈,南北綠燈亮10秒 } else { if(flog==4) { DX_RED=0;DX_YELLOW=1;DX_GREEN=1; NB_YELLOW=0;NB_RED=1;NB_GREEN=1; deply(5000); //東西紅燈,南北黃燈亮5秒 flog=0; //flog重新置0 } } } } } } void int0_suspend() interrupt
40、0 //外部INT0中斷 { DX_GREEN=1; DX_YELLOW=1; DX_RED=0; NB_RED=0; NB_YELLOW=1; NB_GREEN=1; LED_xunhuan(); //調(diào)用緊急通行模擬狀態(tài) } void LED_xunhuan() //救護車緊急通行模擬狀態(tài) { while(1) { deply(500); //延時0.5秒 P1=P1_paomadeng[i]; //把數(shù)組中的元素賦給P1口 i++; //自加1 if(i==4) //i自加到4時把數(shù)組第一個元素賦給i { i=0; } if(P3_2==1) //外部中斷為高電平時結束循環(huán) { i=0; //返回到數(shù)組第一個元素 break; } } P1=0xff; //P1口全置1 flog=0; //為flog賦初值(交通燈從頭開始循環(huán)顯示) } 第 26 頁
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 24香港璀璨的明珠
- 第02講 第一章 綜合布線基礎知識
- 預防傳染病課件
- 【創(chuàng)新設計】2011屆高考生物一輪復習 第5章單元綜合提升 細胞增殖、分化、衰老和凋亡課件 蘇教版必修1
- 512防震減災安全教育班會課件
- 2022年浙教初中數(shù)學八下《反證法》課件10
- 1山中訪友課后作業(yè)(A組-基礎篇)
- 產(chǎn)后出血完整版
- 質量培訓教材(2)
- 部編版一年級下冊語文課件第三單元語文園地三(完美版)
- 我最好老師課件
- 面向對象高級應用及C-sharp-語法新特性課件
- 堿金屬元素課件
- 部編人教版六年級語文下冊14《文言文二則-》學-弈課件
- 部編版六年級上冊語文課件--宇宙生命之謎