黃華
摘要:隨著我國經濟實力的不斷發展,人民生活水平的的不斷提高以及人口的不斷增長,在加上近年來很多人喜歡自駕旅游,人們的出行變得異常擁擠,所以制定一套良好的交通體系將成為解決這一問題的必不可少的法寶,交通燈—將有效的解決這一問題。現如今交通燈被廣泛應用于全國各大城市的道路,用于疏通各個交通樞紐,調控人們的出行,為人們的日常出行帶來了方便。本系統采用STC公司生產的STC89C52單片機,STC89C52單片機是一種功率低、高性能、抗干擾能力強的CMOS微控制器,使用的的是經典的MCS—51內核,且具有8K的可編程Flash存儲器,擁有512字節的RAM,32位的I/O口線,3個16位的定時器T0、T1、T2,內部自帶2K的EEPROM,內部的Flash可擦寫100000次以上,及自帶看門狗程序防止程序因長時間的運行導致程序錯亂,具有掉電和空閑模式達到在不用時節省電力的效果,并且可以進行串、并行通訊、A/D轉換、控制液晶顯示以及控制各種時鐘、語音·芯片等功能,可謂功能強大。
關鍵詞:單片機;交通燈;分析
一、綜述
如今的交通燈主要是由紅、綠、黃三種顏色組成,并且有箭頭式和圓形紅綠燈兩種方式,許多交通較為擁擠的十字路口多采用箭頭式與圓形式混合管理各個車輛的通行情況。交通燈最早出現在19世紀初期英國的約克城,開始時只有紅色與綠色兩種顏色,但隨著經濟的發展與工業水平的不斷提升道路逐漸變得擁擠,所以應道路交通指揮的需要,第一組由紅、綠、黃三種顏色的交通燈于1918年應運而生,它的每一盞燈都是由一個圓形的四面投影器,由于它的出現極大的改善了交通情況,使人們的出行安全而又方便。最開始時英國約克城經常會出現馬車軋人事故,并且當時約克城紅綠兩色分別代表已婚的女性和未婚的女性,所以人們受到啟發,于1868年12月10日由英國機械師德.哈設計制造的燈柱高7米的由紅綠兩色組成的紅綠兩色提燈—煤氣交通燈,在這盞交通燈的燈腳下站著一名手持長桿的警察拉動手里的皮帶隨心所欲的控制燈的顏色,但這盞煤在面世的第23天,由于煤氣燈的忽然爆炸使一位正在執勤的警察喪命,而使得其又被取締,直到1914年,在美國的克利夫蘭市恢復了紅綠燈,紅綠燈才正式的開始融入人們的生活,此時的紅綠燈已經是用電來帶動工作的,隨后在芝加哥等城市相繼采用了交通燈來引導交通。
值得一提的是,黃色信號燈的發明者是我國的胡汝鼎,他曾懷著對科學的熱情態度,以及“科學救國”的偉大抱負去美國深造,他在為愛迪生的美國通用電氣公司工作時,有一天,他站在繁華的路口等待綠燈時,當他看到紅燈即將過去時一輛汽車呼嘯而過,嚇得他連忙退了回去,驚嚇之余,他反思自己的經歷,反思這樣的設計的交通燈的缺點,很可能,會給人們的出行帶來危險,所以他就想到了在紅綠燈之間再加一個黃燈,以警告人們危險,打定主意后,他向有關方面提出建議,比得到了肯定,于是紅、綠、黃的交通燈系統就此產生,并得到了廣泛的應用。
二、有關單片機的概述
單片機就是在一塊硅片上集成了微處理器、存儲器及各種輸入/輸出接口的芯片,這樣的一塊芯片就具有了計算機的屬性,因而也被稱為微型計算機。單片機的功能的實現要靠我們使用者自己編程序來實現,我們編程的目的就是控制這塊芯片的各個引腳在不同的時間輸出不同的電平(高電平或者低電平),進而控制與單片機的各個引腳相連接的外圍電路的電氣狀態 。我們設計的這個交通燈系統使用的是STC89C52—DIP單片機,我們先來介紹一下這個標識,STC—前綴,標示芯片為STC公司生產的產品,8—表示8051內核,9—表示內部含有Flash EEPROM存儲器,C—表示該器件為CMOS產品,5—固定不變,2—表示該芯片內部程序存儲空間大小(1為4KB,2為8KB,3為12KB)。
三、Keil C51軟件開發系統
Keil C51 是德國Keil Software 公司出品的51系列兼容單片機C語言軟件開發系統,提供了豐富的庫函數和功能強大的集成開發調試工具u Vision。Keil C51 標準C編譯器為8051微控制器的軟件開發提供了C語言環境,同時保留了匯編語言代碼高效、快速的特點。
Keil C51是目前最高效、最靈活的8052開發平臺。它不僅可以支持所有的8051衍生產品,還可以支持所有兼容的仿真器,同時也支持其他第三方的開發工具。因此,它必然成為8051開發用戶首選軟件系統。與匯編語言相比,C51具有良好的模塊化、較強功能性、易閱讀和維護的特點,因而易學易用。目前多數的單片機開發都是以C語言為主,這使得使用C51可以縮短開發周期、降低成本、提高可靠性、開發的代碼具有較好的可移植性。
四、程序分析與介紹
(1)延時程序:程序中使用for語句的嵌套來實現延時效果。
(2)數碼管顯示程序:程序中使用了兩個顯示函數來分別表示南北方向和東西方向的計時器數據顯示,顯示方式大同小異,東西方向使用P0口作為輸出控制端,南北方向使用P2口作為輸出控制端。以南北方向為例:顯示程序開始時先打開段選把P2口的輸出電平通過鎖存器送入數碼管,關閉段選,再打開位選,把P2口的輸出電平通過鎖存器送入數碼管后,關閉位選,由于這之間的時間間隔很小,肉眼無法識別其閃爍。
(3)計時器閃爍程序:為了起到警示作用,當倒計時5秒時計時器會閃爍,程序中使用定時器2來控制計時器的閃爍,在程序中定時器2使用的是16位自動重裝模式,當定時器中斷100次時,flag會取反,也就是說定時器中斷的次數控制了計時器閃爍的快慢。
五、小結
本論文設計采用STC公司生產的STC89C52單片機及其他電氣元件(74HC573鎖存器,9014三極管,電阻,LED燈)組成,來設計十字路口交通燈,所用器件數量較少且價格便宜,設計簡便,實用性強,并且為了解決因十字路口的車流量在不同時間段各不相同,如果采用單一的時間計數方式會造成車輛等待時間過久而造成時間浪費的缺點,本系統采用三種不同的計數方式輪流計數,已達到時間高效利用的目的。為了系統內部穩定可靠的運行程序,系統內部集成了看門狗程序用以防止因系統的死機而停止工作。
參考文獻:
[1]胡宴如.高頻電子線路.高等教育出版社.2009年.
[2]張毅剛.單片機原理及接口技術.人民郵電出版社.2011年.
[3]馬忠梅.單片機的C語言應用程序設計.北京航空航天大學出版社.2013年.
[4]周文良.電子電路設計與實踐.國防工業出版社.2011.
[5]王水平、孫柯、王禾、何群、王鐳、袁良文.開關電源原理與應用設計.人民郵電出版社.2012年.