版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 摘要近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構軟硬件結合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本系統(tǒng)采用msc-51系列單片機atsc51和可編程并行i/o接口芯片80c51為中心器件來設計交通燈控制器,實現了能根據實際車流量通過8051芯片的p1口設置紅、綠燈燃亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩秒時黃燈閃爍
2、警示。本系統(tǒng)實用性強、操作簡單、擴展功能強。關鍵詞:交通燈 單片機 msc-51 計時abstractyears with the rapid development of science and technology, scm applications are deepening at the same time promote more traditional control detection update. in real-time detection and control of the microcomputer application system, the microcontr
3、oller is often used as a core component, only the scm knowledge is inadequate and should be based on specific hardware architecture hardware and software, to be improved. crossroads shuttle vehicles, pedestrians bustling, car dealers drive, people walkways, orderly. then rely on to achieve the disci
4、pline of the order then? rely on the automatic traffic light is the chain of command. many ways to control traffic lights. in this system, msc-51 series mcu atsc51 and programmable parallel i / o interface chip 80c51-centered design of traffic signal controller device to realize the actual traffic v
5、olume by 8051 according to the p1 port chip set of red, green time kindle function; traffic light cycle of light, yellow light flashes when the countdown seconds left warning. the system practical, simple, powerful extensions keywords: traffic light scm msc-51 timing摘要1abstract2第一章單片機控制交通燈的背景51.1交通燈
6、的51.1.1交通燈的歷史51.1.2交通燈的出現51.2單片機簡介61.2.1單片機的發(fā)展歷程61.2.2單片機的特點61.2.3 mcs51單片機內部結構有8大部分71.2.4單片機的內部結構圖9第二章 單片機控制交通系統(tǒng)總體設計112.1單片機交通控制系統(tǒng)通行方案設計112.2單片機交通控制系統(tǒng)的功能要求132.2.1倒計時顯示132.2.2 車流量檢測及調整132.2.3時間手動設置132.2.4 緊急處理142.3單片機交通控制系統(tǒng)的基本構成及原理14第三章 系統(tǒng)硬件電路的設計163.1系統(tǒng)硬件總電路構成及原理163.1.1系統(tǒng)硬件電路構成163.1.2系統(tǒng)工作原理163.1.3車流
7、量檢測電路及模擬183.1.4八段led數碼管193.3.4其它器件20第四章 系統(tǒng)軟件程序的設計224.1程序主體設計流程224.2子程序模塊設計234.2.1按鍵掃描程序234.2.2狀態(tài)燈顯示及判斷244.2.3 led倒計時顯示254.2.4車流量檢測中斷服務子程序254.2.5緊停及違規(guī)中斷服務子程序264.2.6紅綠燈時間調整程序264.2.7消抖動程序27參考文獻28附錄a29致謝34第一章單片機控制交通燈的背景 1.1交通燈的1.1.1交通燈的歷史19世紀初,在英國中部的約克城,紅、綠裝分別代表女性的不同身份。其中,著紅裝的女人表示我已結婚,而著綠裝的女人則是未婚者。后來,英國
8、倫敦議會大廈前經常發(fā)生馬車軋人的事故,于是人們受到紅綠裝啟發(fā),1868年12月10日,信號燈家族的第一個成員就在倫敦議會大廈的廣場上誕生了,由當時英國機械師德·哈特設計、制造的燈柱高7米,身上掛著一盞紅、綠兩色的提燈-煤氣交通信號燈,這是城市街道的第一盞信號燈。在燈的腳下,一名手持長桿的警察隨心所欲地牽動皮帶轉換提燈的顏色。后來在信號燈的中心裝上煤氣燈罩 ,它的前面有兩塊紅、綠玻璃交替遮擋。不幸的是只面世23天的煤氣燈突然爆炸自滅,使一位正在值勤的警察也因此斷送了性命。 從此,城市的交通信號燈被取締了。直到1914年,在美國的克利夫蘭市才率先恢復了紅綠燈,不過,這時已是“電氣信號燈”
9、。稍后又在紐約和芝加哥等城市,相繼重新出現了交通信號燈。1.1.2交通燈的出現隨著各種交通工具的發(fā)展和交通指揮的需要,第一盞名副其實的三色燈(紅、黃、綠三種標志)于1918年誕生。它是三色圓形四面投影器,被安裝在紐約市五號街的一座高塔上,由于它的誕生,使城市交通大為改善。 黃色信號燈的發(fā)明者是我國的胡汝鼎,他懷著“科學救國”的抱負到美國深造,在大發(fā)明家愛迪生為董事長的美國通用電器公司任職員。一天,他站在繁華的十字路口等待綠燈信號,當他看到紅燈而正要過去時,一輛轉彎的汽車呼地一聲擦身而過,嚇了他一身冷汗?;氐剿奚幔磸妥聊?,終于想到在紅、綠燈中間再加上一個黃色信號燈,提醒人們注意危險。他的建議
10、立即得到有關方面的肯定。于是紅、黃、綠三色信號燈即以一個完整的指揮信號家族,遍及全世界陸、海、空交通領域了。 1.2單片機簡介1.2.1單片機的發(fā)展歷程單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。 在mcs-51系列單片機中,有兩個子系列:51子系列和52子系列。每個子系列有諾干中型號。51系列有8051、8751和8031三個型號,后來經過改進產生了80c51、87c51、80c31三個型號;52系列有5021、8752、8032三個型號,改進后的型號是80c52/87c52、80c32。改進后的型號更加
11、省電。52系列比對應的51系列增加了定時器t2并將內部程序存貯器增加到8kb。inter公司停止生產mcs-51系列單片機之后將生產權轉讓給了許多其他公司,于是出現了許多與mcs-51兼容的單片機?,F在生產mcs-51兼容單片機的公司對其進行了不同程度的改進和提高。我們現在使用比較的多的是at89c51/at89s51等。 通常,單片機由單塊集成電路芯片構成,內部包含有計算機的基本功能部件:中央處理器、存儲器和i/o接口電路等。因此,單片機只需要和適當的軟件及外部設備相結合,便可成為一個單片機控制系統(tǒng)。單片機經過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的cpu功能在
12、增強,內部資源在增多,引角的多功能化,以及低電壓底功耗。1.2.2單片機的特點(1)性價比高,開發(fā)周期短,易于產品化,(2)集成度高,可靠性好,抗干擾性強,(3)功能完善,接口多樣,(4)低功耗、低電壓一般電源供電電壓在53v范圍內單片機都能正常工作,供電的下限可達12v。(5)總線多樣,易于擴展單片機外部的典型三總線結構,方便系統(tǒng)構擴展,構成各種規(guī)模的應用系統(tǒng)。外部總線增加了i2c及spi等串行總線方式, 可根據需要進行并行或者串行擴展。1.2.3 mcs51單片機內部結構有8大部分.一個8 位的中央處理器 cpu(又稱為微處理器)中央處理器(cpu)是整個單片機的核心部件,是8位數據寬度的
13、處理器,能處理8位二進制數據或代碼,cpu負責控制、指揮和調度整個單元系統(tǒng)協調的工作,完成運算和控制輸入輸出功能等操作。有 128字節(jié) 的片內數據存儲器ram。8051內部有128個8位用戶數據存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的ram只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。.4kb片內 程序存儲器rom或eprom8051共有4096個8位掩膜rom,用于存放用戶程序,原始數據.片內 18個 特殊功能寄存器(sfr)如圖(圖1-1)所示:特殊功能寄存器sfr0
14、f0h sfr可尋址區(qū)0e0h 0d0h0c8h0b8h0b0h0a8h0a0h98h90h88h80h0ffh80h7fh30h2fh20h1fh00h數據緩沖區(qū)位尋址區(qū)r7r0 3組(8字節(jié))2組1組0組圖1-1片內特殊存儲器分布圖.4個8位 的并行輸入輸出i/o口(pio)8051共有4組8位i/o口(p0、 p1、p2或p3),用于對外部數據的傳輸p0口 p0.0p0.7 輸入與輸出 分時的傳送地址低8位與數據線p1口 p1.0p1.7 輸入與輸出 無第二功能p2口 p2.0p2.7 輸入與輸出 傳送地址的高8位p3口 p3.0p3.7 輸入與輸出 p3.0rxd:串行口輸入端p3.1
15、txd:串行口輸出端p3.1txd:串行口輸出端p3.2:外部中斷0中斷請求輸入端p3.3:外部中斷1中斷請求輸入端p3.4t0:定時器/計數器0外部輸入端p3.5t1:定時器/計數器1外部輸入端p3.6:外部數據存儲器寫選通信號p3.7:外部數據存儲器讀選通信號.1個 串行口i/o(sio/uart)完成單片機與其他微機的之間的串行通信.2/3個16位 定時器/計數器(timer/counter).可處理 5個中斷源,兩級可程序優(yōu)先級的中斷系統(tǒng)其中含有mcs-51指令集含 111條指令,按照指令操作功能話費有五類:<1>數據傳送指令(28)<2>算術運算指令(24)&
16、lt;3>邏輯運算及轉移指令(25)<4>控制轉移指令(22)<5>位操作指令(12)1.2.4單片機的內部結構圖除去圖中的存儲電路和i/o部件,剩下的是cpu,它可以分為運算器和控制器兩部分。運算器功能部件包括算術邏輯運算單元alu、累加器acc、寄存器b、暫存寄存器tmp1、tmp2、程序狀態(tài)字寄存器psw等??刂破鞴δ懿考ǔ绦蛴嫈灯鱬c、指令寄存器ir、指令譯碼器id、定時控制邏輯電路cu、數據指針寄存器dptr、堆棧指針sp及時鐘電路等。圖1-2單片機內部結構圖第二章 單片機控制交通系統(tǒng)總體設計2.1單片機交通控制系統(tǒng)通行方案設計設在十字路口,分為東西
17、向和南北向,在任一時刻只有一個方向通行,另一方向禁行,持續(xù)一定時間,經過短暫的過渡時間,將通行禁行方向對換。其具體狀態(tài)如下圖所示。說明:黑色表示亮,白色表示滅。交通狀態(tài)從狀態(tài)1開始變換,直至狀態(tài)6然后循環(huán)至狀1,周而復始,即如圖(圖2-1)所示:直至狀態(tài)6然后循環(huán)至狀態(tài)1,通過具體的路口交通燈狀態(tài)的演示分析我們可以把這四個狀態(tài)歸納如下:圖2-1交通狀態(tài)東西方向紅燈滅,同時綠燈亮,南北方向黃燈滅,同時紅燈亮,倒計時20秒。此狀態(tài)下,東西向禁止通行,南北向允許通行。東西方向綠燈滅,同時黃燈亮,南北方向紅燈亮,倒計時2秒。此狀態(tài)下,除了已經正在通行中的其他所以車輛都需等待狀態(tài)轉換。南北方向紅燈滅,同
18、時綠燈亮,東西方向黃燈滅,同時紅燈亮,倒計時20秒。此狀態(tài)下,東西向允許通行,南北向禁止通行。南北方向綠燈滅,同時黃燈亮,東西方向紅燈亮,倒計時2秒。此狀態(tài)下,除了已經正在通行中的其他所以車輛都需等待狀態(tài)轉換。下面我們可以用圖表表示燈狀態(tài)和行止狀態(tài)的關系如下:表2-1交通狀態(tài)及紅綠燈狀態(tài)狀態(tài)1狀態(tài)3狀態(tài)4狀態(tài)6東西向禁行等待變換通行等待變換南北向通行等待變換禁行等待變換東西紅燈1100東西黃燈0001東西綠燈0010南北紅燈0011南北綠燈1000南北黃燈0100東西南北四個路口均有紅綠黃3燈和數碼顯示管2個,在任一個路口,遇紅燈禁止通行,轉綠燈允許通行,之后黃燈亮警告行止狀態(tài)將變換。狀態(tài)及紅
19、綠燈狀態(tài)如表2.1所示。說明:0表示滅,1表示亮。2.2單片機交通控制系統(tǒng)的功能要求本設計能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號發(fā)生,還能進行倒計時顯示,車流量檢測及調整,交通違規(guī)處理和緊急處理等功能。2.2.1倒計時顯示倒計時顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時間、在“停止”和“通過”兩者間作出合適的選擇。駕駛員和行人普遍都愿意選擇有倒計時顯示的信號控制方式,并且認為有倒計時顯示的路口更安全。倒計時顯示是用來減少駕駛員在信號燈色改變的關鍵時刻做出復雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時間,幫助駕駛員在“停止”和“通過”兩者間作出合適的選擇 。2.2.
20、2 車流量檢測及調整隨著我國經濟建設的蓬勃發(fā)展,城市人口和機動車擁有量在急劇增長,交通流量日益加大,交通擁擠堵塞現象日趨嚴重,交通事故時有發(fā)生。車輛檢測器作為智能交通系統(tǒng)的基本組成部分,在智能交通系統(tǒng)中占有重要的地位。現階段,車輛檢測器檢測方式有很多,各有其優(yōu)缺點,如紅外線檢測器、地磁檢測器、機械壓電檢測器,磁頻檢測器、波頻檢測器、視頻檢測器等。一般車流量檢測器采用傳感器+單片機+外圍器件來實現。 而且,目前國內使用的紅綠燈都是固定的紅綠燈時間,并自動切換。紅燈時間和綠燈時間,是根據道口東西向和南北向的車流量,利用統(tǒng)計方法確定的。交通警察不斷觀察十字路口的兩個方向,根據車輛密度和流速決定是否切
21、換紅綠燈,以保證最佳的道路交通控制狀態(tài)。2.2.3時間手動設置 除系統(tǒng)根據車流量自動控制調整,也可以通過鍵盤進行手動設置,增加了人為的可控性,避免自動故障和意外發(fā)生,并再緊急狀態(tài)下,可設置所有燈變?yōu)榧t燈。鍵盤是單片機系統(tǒng)中最常用的人機接口,一般情況下有獨立式和行列式兩種。前者軟件編寫簡單,但在按鍵數量較多時特別浪費i0口資源,一般用于按鍵數量少的系統(tǒng)。后者適用于按鍵數量較多的場合,但是在單片機i0 口資源相對較少而需要較多按鍵時,此方法仍不能滿足設計要求。本系統(tǒng)要求的按鍵控制不多,且i0口足夠,可直接采用獨立式。2.2.4 緊急處理交通路口出現緊急狀況在所難免,如特大事件發(fā)生,救護車等急行車通
22、過等,我們都必須盡量允許其暢通無阻,畢竟在這種情況下是分秒必爭的,時時刻刻關系著公共財產安全,個人生死攸關等。由此在交通控制中增設禁停按鍵,就可達到想此目的。2.3單片機交通控制系統(tǒng)的基本構成及原理單片機設計交通燈控制系統(tǒng),可用單片機直接控制信號燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當然,接入led數碼管就可以顯示倒計時以提醒行使者,更具人性化。本系統(tǒng)在此基礎上,加入了違規(guī)檢測電路和車流量檢測電路為單片機采集數據,單片機對此進行具體處理,及時調整控制指揮,為了超越視覺指揮的局限性,同時接上蜂鳴器,在聽覺上加強了指揮提醒作用。如圖(圖2-2)所示: 單片機紅黃綠信號燈8級led數碼管顯示車
23、流量傳感器最小系統(tǒng)外圍接口按鍵控制蜂鳴器 單片機圖2-2 系統(tǒng)的總體框圖據此,本設計系統(tǒng)以單片機為控制核心,連接成最小系統(tǒng),由車流量檢測模塊,違規(guī)檢測模塊,和按鍵設置模塊等產生輸入,信號燈狀態(tài)模塊,led倒計時模塊和蜂鳴器狀態(tài)模塊接受輸出。系統(tǒng)的總體框圖如上所示。鍵盤設置模塊對系統(tǒng)輸入模式選擇及具體通行時間設置的信號,系統(tǒng)進入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時將時間數據倒計時輸入到led數碼管上實時顯示。在此過程中還要實時捕捉違規(guī)檢測和緊急按鍵信號,以達到對異常狀態(tài)進行實時控制的目的。急停按鍵和違規(guī)檢測隨時調用中斷。在模式選擇上,若為自動模式,將不斷調用車流量檢測模塊對車流量進行檢測統(tǒng)
24、計,到達一定時間將修正通行時間一滿足不同路況的需要。第三章 系統(tǒng)硬件電路的設計3.1系統(tǒng)硬件總電路構成及原理實現本設計要求的具體功能,可以選用at89c52單片機及外圍器件構成最小控制系統(tǒng),12個發(fā)光二極管分成4組紅綠黃三色燈構成信號燈指示模塊,8個led東西南北各兩個構成倒計時顯示模塊,車流量檢測傳感器采集流量數據,光敏傳感器捕獲違規(guī)信號,若干按鍵組成時間設置和模式選擇按鈕和緊急按鈕等,以及用1個蜂鳴器進行報警。3.1.1系統(tǒng)硬件電路構成本系統(tǒng)以單片機為核心,組成一個集車流量采集、處理、自動控制為一身的閉環(huán)控制系統(tǒng)。系統(tǒng)硬件電路由車流量檢測電路、單片機、違規(guī)檢測電路,狀態(tài)燈,led顯示,按鍵
25、,蜂鳴器組成。其具體的硬件電路總圖如圖3.1所示。其中p0,p1,用于送顯兩片led數碼管,p2用于控制紅綠黃發(fā)光二極管,xtal1和xtal2接入晶振時鐘電路,rest引腳接上復位電路,p3.2即int1接違規(guī)檢測電路和緊停東西時間設置鍵j,p3.3即int1接車流量檢測電路,p3.6接南北時間設置鍵s,p3.7接自動模式選擇返回鍵f,p3.4接蜂鳴器。3.1.2系統(tǒng)工作原理系統(tǒng)上電或手動復位之后,系統(tǒng)等待模式選擇設置鍵按下,模式分兩種:紅綠燈時間自動和紅綠燈時間設置。若此時f鍵按下,則設置為自動模式,若此時按下的是s鍵,則設置為時間設置模式,依次按s若干次,j鍵若干次可設置好兩個方向的紅綠
26、燈時間,再按f鍵確認。其實這個過程就是將存儲時間值的寄存器進行設置,以及標志是否要進行車流量檢測及調整。接下來,系統(tǒng)必須先顯示狀態(tài)燈及l(fā)ed數碼管,將狀態(tài)碼值送顯p2口,將要顯示的時間值的個位和十位分別送顯p0和p1口,在此同時以50ms為周期,用軟件方法計時1秒,到達1s就要將時間值減1,刷新led數碼管。時間到達一個狀態(tài)所要全部時間,則要進行下一狀態(tài)判斷及銜接,并裝入次狀態(tài)的相應狀態(tài)碼值以及時間值,當然,還要開啟兩個外部中斷,其一為違規(guī)信號或禁停信號輸入,一旦信號有效,中斷開始,進入中斷服務子程序,開啟蜂鳴器禁止全部通行,當按下f鍵,中斷結束返回。其二為車流量檢測信號輸入,若檢測到車輛經過
27、,進入相應的中斷子程序,將存儲車流量的寄存器加1,然后中斷結束返回。每滿一個狀態(tài)循環(huán)周期,若為自動模式,則須將檢測到的車流量數據處理一次,判斷兩個方向的交通輕重緩急狀況,再調整下次狀態(tài)循環(huán)的紅綠燈時間,以達到自動控制的目的。如圖(圖3-1)所示。 圖3-1基于單片機的交通燈控制系統(tǒng)電路圖3.1.3車流量檢測電路及模擬為了達到對紅綠燈的時間控制,需要對道路上的車流量進行檢測。當前比較流行的車流量檢測器件,是一種自感式的車輛傳感器。其工作原理是當車輛經過傳感器時,引起其自感的變化,考慮到單片機系統(tǒng)的便利性,本次設計用一種手動的操作方式,即車流量的檢測電路用撥斷開關代替。其基本思路為:當車流量大時,
28、有撥斷開關送出一個高電平。另外,再單片機和坡度按開關之間加了光電隔離。下面叫簡紹光電隔離,以tlp550為例。tlp550是日本東芝公司生產的一款光耦,該光耦沒有和基極連接,適合與再噪聲比較大的環(huán)境中應用。tlp550的工作原理如下:當2.3叫的電壓為正,且能時發(fā)光二極管正常發(fā)光時,控制的發(fā)光二極管發(fā)光,使得輸出端的光敏二極管導通。這樣輸出端的基極相當于與8引腳連接,其電平為高,使得三極管導通,及5.6兩個引腳導通。由于5引腳接地,這樣輸出端6叫就為低電平。再實際使用中,6.8引腳通常會連接一個電阻。這樣當2.3引腳的電壓不足使發(fā)光二級光發(fā)光時,輸出端三極管就不到同,就相當于輸出端6引腳通過一
29、個電阻接到了8腳上。相對于后面的連接電路來書,其為高電平。這樣就可以通過控制2.3引腳之間的電壓,來控制輸出6引腳的電平,達到電壓耦合的隔離的作用。車流量檢測電路如下圖(圖3-2)所示。圖3-2 車流量檢測電路基于光電隔離的作用,再加上撥斷開關和led,為了避免干擾信號,可以加入光電耦合器。如圖所示,當開關狀態(tài)如圖所示時,led點亮,同時低電平被單片機捕獲。當開關撥下時led熄滅,同時高點平被單片機捕獲,這樣單片機通過捕獲的電平狀態(tài)做出相應的控制,與led的狀態(tài)即車流量的狀態(tài)互相配合協調。3.1.4八段led數碼管led顯示屏作為大型顯示設備的一種,具有亮度高、價格低、壽命長、維護簡便等優(yōu)點。
30、led數碼管的結構簡單,分為七段和八段兩種形式,也有共陽和共陰之分。以八段共陽管為例,它有8個發(fā)光二極管(比七段多一個發(fā)光二極管,用來顯示sp,即點),每個發(fā)光二極管的陽極連在一起,如圖(圖3-3)所示。這樣,一個led數碼管就有i根位選線和8根段選線,要想顯示一個數值,就要分別對它們的高低電平來加以控制。為方便起見,本文主要討論共陽八段led數碼顯示管,其他類形的顯示管與其類似。圖3-3 led數碼管led 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點亮而顯示不同的字形,如 dp,g,f,e,d,c,b,a全亮顯示為,采用共陽極連接驅動代碼,代碼表如下表(表3-1)所示。
31、相應在程序軟件上,可以通過調用程序給定的秒值經過特定計算算出需要顯示的個位和十位,然后有dptr調取ledmap的代碼。led8段數碼管的設置為每個方位上的一對2為顯示器。四個方位上總共用8個led接在單片機的io口上。雖然路口不一樣,但是顯示的時間在數字上是一樣的,所以兩邊連接的io口是對稱的。如圖(圖3-4)所示,其中a,b分別是p0,p1的網絡標號。表3-1 驅動代碼表顯示數值dp,g,f,e,d,c,b,a驅動代碼011010000c0h111111001f9h210100100a4h310110000b0h41001100199h51001001092h61000001082h711
32、111000f8h81000000080h91001000090h圖3-4 led連接圖3.3.4其它器件(1)發(fā)光二極管根據本設計的特點,紅綠燈的顯示不可少,紅綠燈的顯示采用普通的發(fā)光二極管。每個方向上設置紅綠黃燈,總共4組。如果東西紅燈亮,那南北方向就是綠燈亮,反之亦然,所以在硬件上連接圖上也是對稱分布的,如下圖(圖3-6)所示:圖3-6 信號燈的連接(2)按鍵控制本設計設置了有3個鍵:s鍵p3.2,j鍵p3.2,f鍵p3.7。每個按鍵一端接地,另一端接上拉電阻。低電平有效,當按鍵按下端口接地,單片機捕獲到低電平,從而知道相應的輸入信息。如下圖(圖3-7)所示。圖3-7 按鍵示意第四章 系
33、統(tǒng)軟件程序的設計4.1程序主體設計流程全部控制程序實際上分為若干模塊:鍵盤設置處理程序,狀態(tài)燈控制程序,led顯示程序,消抖動延時程序,次狀態(tài)判斷及處理程序,緊?;蜻`規(guī)判斷程序,中斷服務子程序,車流量計數程序,紅綠燈時間調整程序等。整個軟件程序方面主要分兩大部分:按鍵處理程序和50ms掃描程序。流程圖如圖(圖4-1)所示。 圖4-1系統(tǒng)總的流程圖4.2子程序模塊設計4.2.1按鍵掃描程序首先程序不斷掃描模式設置鍵,分別記為:s鍵,j鍵,f鍵對應端口的3.6,p3.2,p3.7,低電平有效,按鍵順序是指定的,若直接按f鍵,則為自動調整模式,然后進入下一程序;若先按s鍵,再按j鍵,f鍵則為設置時間
34、模式,然后進入下一程序。程序的開始要判斷是否有鍵按下,可以不斷將s鍵值和f鍵值相與,與值為1則表示沒有鍵按下,為0則表示有鍵按下,程序如下:k1: mov c, p0.0 anl c, p0.1jb c, k1 接下來要判斷具體是那個鍵,若為f鍵,則將自動標志位置1,進入下一程序,否則為s鍵,則表示設置南北綠燈時間,用r0存值,按1下加1,同時還需判斷此時j鍵是否按下,若按下,則表示南北綠燈時間設置完畢,開始設置東西綠燈時間,用r1存值,同樣按1下加1 ,同時判斷此時f鍵是否按下,若按下,則表示時間設置完畢,進入下一程序。在這個過程中,s,j鍵的計數是循環(huán)的,從初值20開始,加到40則循環(huán)回到
35、20。如判斷s鍵程序如下:cjnz r0, #40, v1mov r0, #20v1: inc r0 4.2.2狀態(tài)燈顯示及判斷在本設計中,實際控制的燈只有6個,即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。定義io端口如下,其中均是低電平有效。h_green bit p2.2h_yellow bit p2.3l_red bit p2.4l_green bit p2.5l_yellow bit p2.6共有4鐘狀態(tài):東西紅燈亮,南北綠燈亮(11011101/ddh);東西紅燈亮,南北黃燈亮(10111101/bdh);東西綠燈亮,南北紅燈亮(11101101/edh);東西黃
36、燈亮,南北紅燈亮(11100111/e7h)。括號中是p2端口8個引腳值p2.7,p2.6,p2.5,p2.4,p2.3,p2.2,p2.1,p2.0以及對應的十六進制碼。在用于顯示發(fā)光二極管時,直接由mov指令將十六進制碼送入p2口。剛才的4個狀態(tài)是依次變換的,這就要涉及到狀態(tài)的判斷和銜接了。先把p2端口的值與所有的4個狀態(tài)碼比較,若相同則判斷成功當前狀態(tài),再把下一狀態(tài)的狀態(tài)碼送顯p2即可。程序如下:mov a, p2cjnz a, #0ddh,d1mov p2, #bdhd1: cjnz a, bdh,d2mov p2, #edhd2: cjnz a, #edh,d3mov p2, #e7
37、hd3: cjnz a, #e7h,ymov r2, #ddh4.2.3 led倒計時顯示led計時每1秒都要刷新1次,那么計時滿1秒時就要將存儲時間的工作寄存器r4減1,然后送入led顯示程序中顯示。下面要將時間數據r4的十位,個位分開送顯p1,p0端口,首先將r4除以10,整數即十位放在a中,余數即個位放在b中,設置7段led顯示數據的數據表,用數據指針寄存器dptr指向數據表的首地址,再加上a中的偏移量,就可以指向十位數字,然后送顯即可,個位顯示同理。具體程序如下:mov a, r4 mov b, #10div a, bmov dptr, #ledmapmovc a, a+dptrmov
38、 p1, amov a, bmovc a, a+dptrmov p3, aledmap: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh4.2.4車流量檢測中斷服務子程序車流量檢測是用外部中斷引腳p3.3即int1捕獲到一個低電平,則進入相應的中斷服務子程序,在子程序中,用r5計南北向車流量,用r6計東西向車流量,設車向標志位為01h,判斷車向,程序如下:jnb 01h, u inc r5u: inc r64.2.5緊停及違規(guī)中斷服務子程序緊停按鍵和違規(guī)信號傳感器均連接到外部中斷引腳p3.2,即int0捕獲到一個低電平,則進入該中斷,中斷程序中先把蜂鳴器p
39、3.4端口置0,啟動蜂鳴。并且等待恢復鍵f鍵p3.7按下,然后關閉蜂鳴返回。int0: setb p0.5 jb p0.0, $lcall delayclr p0.5reti4.2.6紅綠燈時間調整程序根據紅綠燈時間調整原理,一個周期下來,r5,r6中分別存儲著南北,東西的車流量,接下來求單位時間車流量,此時南北向時間,東西向時間分別存儲在r0,r1中,則兩個方向的流量比例為(r5/r0)/(r6/r1)=(r5*r1)(r6*r0),顯然該比例是1左右?guī)档闹?,然而單片機程序中只取整數,重要的數據信息就會丟失,所以本設計中首先將(r5*r1)乘以10,比例就變?yōu)?0左右的值。將該比例值放在
40、a,然后進行時間調整。由于受到多方面的限制,時間調整在此只劃定3個范圍。比例0到0.7為一個范圍,0.8到1.5為一個范圍,1.5以上為一個范圍。第一范圍顯然表明東西向交通嚴重,應將時間調長;第二范圍表明兩向相當,可設置一樣的時間,第三范圍表明南北向交通嚴重,應將該向時間調長。具體設置如下表(表4-1)表4-1 比例及調整時間南北與東西向比例00.70.81.51.5及以上調整南北向時間203040調整東西向時間403020由表可知,對應的時間調整也只有三種,分別是20,40;30,30;40,20.顯然在實際應用中這樣簡單的處理難以盡如人意,但在此處,本設計只是模擬大致的調整過程,以上要求的
41、程序如下:cjnz a, #7 m1m2: mov r2, #20mov r1, #40sjmp outm1: jb c, m2cjnz a, #15 n1n2: mov r0, #30mov r1, #30sjmp outn1: jb c, n2mov r0, #40mov r1, #20out: clr r5clr r6ret4.2.7消抖動程序利用程序執(zhí)行一條指令的時間,再加上兩次累減嵌套,程序如下:delay: mov r2, #14h a1: mov r7, #0ffhdjnz r2, $djnz r7, a1ret4.2.8源程序:見附錄a參考文獻l邊海龍,孫永奎. 單片機開發(fā)與典
42、型工程項目實例詳解j.電子工業(yè)出版社,2008,(10):143-160.2王為青,邱文勛. 51單片機開發(fā)案例精選j.人民郵電出版社,2001,(5):45-47.3張鑫,華臻,陳書謙. 單片機原理及應用j.電子工業(yè)出版社,2008(5).4張洪潤,張亞凡.單片機原理及應用j. 清華大學出版社,2005,(4).5黃智偉.凌陽單片機課程設計指導j. 北京航空航天大學出版社,2007,(6)6蔣輝平,周國雄. 基于proteus的單片機系統(tǒng)設計與仿真實例m.機械工業(yè)出版社,2009.7張毅坤. 單片微型計算機原理及應用,m西安電子科技大學出版社 1998 8余錫存 曹國華.單片機原理及接口技術
43、m.陜西:西安電子科技大學出版社,2000.79雷麗文 等.微機原理與接口技術m.北京:電子工業(yè)出版社,1997.10張萌·單片機應用系統(tǒng)開發(fā)綜合實例·第二版·清華大學出版社·2005年11何立民·單片機應用文集·第一版·北京航空航天大學出版社·2004年12張一工·現代電力電子技術原理與應用第一版·科學出版社·2002年13歐陽文·atmel89系列單片機的原理與開發(fā)實踐·第一版·中國電力出版社·2007年14陳大欽 電子技術基礎實驗 m.北京
44、:高等教育出版社 200415陳梓城 電子技術實訓 m.北京:機械工業(yè)出版社 200316吳黎明 單片機原理及應用技術m.北京:科學出版社 200317李學海 標準80c51單片機基礎教程m.北京: 北京航空航天大學出版社 2006附錄ah_red bit p2.1 ;定義io端口h_green bit p2.2h_yellow bit p2.3l_red bit p2.4l_green bit p2.5l_yellow bit p2.6;主程序,選擇設置紅綠燈時間模式或自動調整模式org 0000hljmp mainorg 0003h ;中斷入口ljmp int0org 0030hmain:
45、 mov r3, #20 ;用于嵌套50ms軟件方法計時1smov r0, #20 ;預設值紅綠燈時間mov r1, #20clr ex0k1: mov c, p3.7 ;等待檢測何種模式按鍵按下anl c, p3.2jb c, k1jnb p3.7, f ;f鍵按下為自動模式,進入掃描k2: jnb p3.2, s ;s鍵按下并等待計數次數sjmp k2f: lcall delaymov r0, #30mov r1, #30setb 00hsetb easetb ex1sjmp starts: lcall delaycjnz r0, #40, v1mov r0, #20v1: inc r0jnb p0.1, $jnb p3.6, j ;j鍵按下并等待計數次數sjmp k2j: lcall delaycjnz r1, #40, v2mov r1, #20v2: inc r1jnb p3.6, $jnb p3.7, start ;設置完畢為設定時間模式,進入掃描jnb p3.6, jmov p2, #0ddh ;預設信號燈狀態(tài),時間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 私人定制房產轉讓協議樣本
- 福利院護工招聘合同細則
- 酒店管理教師勞動合同模板
- 高端商務樓租賃合同模板
- 風力發(fā)電場并網配網工程施工合同
- 土石方填筑設計合同
- 停車場地平施工合同
- 零售業(yè)專用送貨員聘用合同
- 醫(yī)療美容機構美發(fā)師聘用合同
- 親子活動表演助理招聘協議
- DL-T 1476-2023 電力安全工器具預防性試驗規(guī)程
- 植物景觀規(guī)劃與設計智慧樹知到期末考試答案章節(jié)答案2024年青島理工大學
- 中國戲曲劇種鑒賞智慧樹知到期末考試答案章節(jié)答案2024年上海戲劇學院等跨校共建
- 三年級上冊數學教案-4.2 三位數減兩位數、三位數的筆算減法 ︳人教新課標
- MOOC 法理學-西南政法大學 中國大學慕課答案
- 2024年重慶璧山區(qū)國隆農業(yè)科技發(fā)展有限公司招聘筆試參考題庫含答案解析
- 事業(yè)單位工勤技能綜合知識試卷及答案
- 如何創(chuàng)造有意義的人生
- 冬季如何預防腦卒中
- 消防管道隱蔽工程驗收記錄
- 習思想教材配套練習題 第一章 新時代堅持和發(fā)展中國特色社會主義
評論
0/150
提交評論