題目: | 單片機原理及應(yīng)用課程設(shè)計 |
——交通信號燈模擬控制系統(tǒng)設(shè)計 |
課程名稱 | 單片機原理及應(yīng)用課程設(shè)計 |
姓名: | 黃新程 |
學號: | 201506100013 |
學院: | 信息技術(shù)與工程學院 |
專業(yè)班級: | 物聯(lián)網(wǎng)工程1501 |
指導(dǎo)教師: | 梁建軍 |
6月1日
交通信號燈維護城市交通安全,使城市交通有序地、快速地運行的一種工具。本文采用了一種基于單片機的交通信號燈模擬控制系統(tǒng)的設(shè)計方案,實現(xiàn)模擬交通燈運行的例子。該系統(tǒng)模擬現(xiàn)實生活中十字路口的通行指示,路燈倒計時、一道有車而另一道無車時,使有車車道放行和緊急車輛通過等功能。本系統(tǒng)中采用STC89C52芯片為中心器件來設(shè)計交通燈控制電路,結(jié)合兩位八段共陽極數(shù)碼管顯示倒計時時間的數(shù)碼管電路,交通燈顯示電路,晶振電路,復(fù)位電路以及按鍵電路等模塊組成。通過軟件編程、焊接電路與硬件調(diào)試,實現(xiàn)紅、黃、綠燈電亮時間以及兩位數(shù)碼管顯示倒計時,三種顏色燈交替點亮以及緊急情況下的處理功能。
下面結(jié)合上學期的單片機原理的課程知識來完成這一個課程設(shè)計。本系統(tǒng)是一個實際對交通信號燈模仿的案例,采用標準的軟件開發(fā)過程,包括硬件系統(tǒng)的設(shè)計、軟件系統(tǒng)的設(shè)計、系統(tǒng)調(diào)試結(jié)果等步驟。
目錄
圖3-1 交通燈程序總流程圖
本設(shè)計采用C語言進行軟件編程。文件中包含了定時器初始化函數(shù)Timer1Init()、方向切換函數(shù)changeEWpass()和changeNSpass()、緊急通行函數(shù)TrafficStop()等子程序塊;主函數(shù)通過直接或間接的調(diào)用各個子程序塊,使整個交通信號燈控制系統(tǒng)實現(xiàn)點亮紅、黃、綠燈以及雙位數(shù)碼管顯示倒計時,緊急情況下的交通緊急處理功能。
圖4-1 南北通行圖
圖4-2 東西通行圖
圖4-3 緊急通行狀態(tài)圖
輕按【緊急】按鈕后,表示發(fā)生緊急情況需進行應(yīng)急處理,交通信號燈南北方向與東西方向強制禁止行使(紅燈亮),每個方向的數(shù)碼管倒計時一直顯示--,直到再次按下【緊急】按鈕取消緊急情況。
圖4-4 轉(zhuǎn)換后南北通車圖
圖4-5 轉(zhuǎn)換后東西通車圖
輕按【交換】按鈕后,表示發(fā)生忙等情況需進行處理,交通信號燈原為南北方向通行的將會轉(zhuǎn)換成東西方向通行,南北方向?qū)唤剐惺,?shù)碼管倒計時將會轉(zhuǎn)換成自然轉(zhuǎn)變的倒計時時間,再次按下【交換】按鈕將會再次進行忙等情況處理。
通過這次課程設(shè)計,讓我對單片機的應(yīng)用有了更為深刻的了解。單片機最大的優(yōu)勢是體積小,低功耗,控制能力強,擴展靈活,微型化。本論文對用51單片機實現(xiàn)的交通信號燈模擬控制系統(tǒng)設(shè)計作了詳細的介紹。
一開始的我,對51單片機只是一知半解,而對于自己能夠自己焊出一個單片機系統(tǒng)的能力來說,自己一開始更是不敢相信,通過在網(wǎng)上搜索的大量的資料,以及自己在之前已經(jīng)接觸過焊接的事物來說,這門交通信號燈模擬控制系統(tǒng)設(shè)計更是讓我躍躍欲試,根據(jù)自己的經(jīng)驗,自己買原件,自己焊接,自己寫程序,從頭到位,一氣呵成。雖然一開始自己寫的代碼有很多漏洞,但是經(jīng)過自己的慢慢調(diào)試與完善,一個較為可觀的成品出爐了。
對于一個課程,不能只是單調(diào)的聽課完成作業(yè),還要主動去學習課外的專業(yè)知識,到網(wǎng)上閱覽大量的資料,以幫助學習和擴充自己的知識面。作為一個學計算機的學生,我們更加需要通過大量的實踐,使自己得到更多的提升,此次實驗不但提高了我們實踐的能力和理論水平,而且對于我們認識掌握各種操作技巧具有重大意義,使我們的綜合素質(zhì)得到了很大的提高,它對我在以后的學習和生活中將會起到不可估量的作用。
交通信號燈模擬控制系統(tǒng)設(shè)計
設(shè)計要求:用51單片機設(shè)計一個交通信號燈模擬控制系統(tǒng),晶振采用12MHz。
具體要求如下:
(1)正常情況下,A、B道(A、B道交叉組成十字路口,A是主道,B是支道)輪流放行,A道綠燈1min(其中10s用于黃燈),B道綠燈放行30s(其中5s用于黃燈)。
(2)一道有車而另一道無車時,使有車車道放行(用兩個按鍵開關(guān)控制)。
(3)有緊急車輛通過時,A、B道均為紅燈(用按鍵開關(guān)控制)。
(4)要求由數(shù)碼管顯示紅綠燈倒計時時間。
序號 | 元件名稱 | 型號 | 數(shù)量/個 | 用途 |
1 | 單片機 | 89C52 | 1 | 控制核心 |
2 | 晶振 | 12MHZ | 1 | 晶振電路 |
3 | 電容 | 30pF | 2 | 晶振電路 |
4 | 電解電容 | 10uF | 1 | 復(fù)位電路 |
5 | 電阻 | 10K | 1 | 復(fù)位電路 |
6 | 發(fā)光二極管 | LED | 12 | 紅、黃、綠燈 |
7 | USB轉(zhuǎn)TTL | 1 | 接入電源 | |
8 | 電阻 | 470Ω | 6 | LED |
9 | 電阻 | 470Ω | 7 | 數(shù)碼管電路 |
10 | 電阻 | 1KΩ | 4 | 數(shù)碼管驅(qū)動 |
11 | 數(shù)碼管 | GC-3261BS | 2 | 顯示電路 |
12 | 按鍵 | 4 | 按鍵電路 | |
13 | 三極管PNP | 8550 | 4 | 數(shù)碼管驅(qū)動電路 |
14 | 自鎖開關(guān) | 1 | 控制電路 |
STC89C52RC是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K字節(jié)系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。
STC89C52RC是STC89系列單片機中應(yīng)用較為廣泛的一種型號,內(nèi)部的8KB存儲器用于存放可編程控制器監(jiān)控程序。
STC89C52RC單片機的40條引腳按功能來分,可以分為3部分,電源及時鐘引腳、控制引腳和輸入/輸出引腳。
STC89C52單片機引腳功能介紹:
(見附件)
P3口各個位的第二功能 | ||
P3口的位 | 第二功能 | 說明 |
P3.0 | RXD | 串行數(shù)據(jù)接收口 |
P3.1 | TXD | 串行數(shù)據(jù)發(fā)射口 |
P3.2 | INT0 | 外部中斷0輸入 |
P3.3 | INT1 | 外部中斷1輸入 |
P3.4 | T0 | 計數(shù)器0計數(shù)輸入 |
P3.5 | T1 | 計數(shù)器1計數(shù)輸入 |
P3.6 | WR | 外部RAM寫信號 |
P3.7 | RD | 外部RAM讀信號 |
圖2-2 STC89C52內(nèi)部結(jié)構(gòu)圖
復(fù)位電路的作用
在復(fù)位過程中,控制CPU的復(fù)位狀態(tài):這段時間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。
基本的復(fù)位方式
單片機在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機器周期(24個振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。本系統(tǒng)中單片機系統(tǒng)的復(fù)位方式為手動按鈕復(fù)位。
手動按鈕復(fù)位
手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(圖1)。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復(fù)位的電路如圖所示。由于人的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時間要求。
圖2-3 復(fù)位電路圖
在MCS - 51單片機片內(nèi)有一個高增益的反相放大器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,由該放大器構(gòu)成的振蕩電路和時鐘電路一起構(gòu)成了單片機的時鐘方式。
在內(nèi)部方式時鐘電路中,必須在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個微調(diào)電容構(gòu)成振蕩電路,通常C1和C2一般取30pF,晶振的頻率取值在1.2MHz~12MHz之間。對于外接時鐘電路,要求XTAL1接地,XTAL2腳接外部時鐘,對于外部時鐘信號并無特殊要求,只要保證一定的脈沖寬度,時鐘頻率低于12MHz即可。本系統(tǒng)采用的是12MHz石英晶振。
晶體振蕩器的振蕩信號從XTAL2端送入內(nèi)部時鐘電路,它將該振蕩信號二分頻,產(chǎn)生一個兩相時鐘信號P1和P2供單片機使用。時鐘信號的周期稱為狀態(tài)時間S,它是振蕩周期的2倍,P1信號在每個狀態(tài)的前半周期有效,在每個狀態(tài)的后半周期P2信號有效。CPU就是以兩相時鐘P1和P2為基本節(jié)拍協(xié)調(diào)單片機各部分有效工作的。
圖2-4 時鐘電路圖
LED燈顯示電路:
LED燈電路由6個LED燈(2個紅LED燈,兩個黃LED燈,兩個綠LED燈)與6個阻值為470歐姆的電阻組成,LED的正極與Vcc+相連,LED的負極分別與電阻串聯(lián)再連接到STC89C52芯片的P1端口(P0.0—P0.5)。
2-5 LED燈顯示電路圖
數(shù)碼管顯示電路:
數(shù)碼管普遍地用于直觀地顯示數(shù)字系統(tǒng)的運行狀態(tài)和工作數(shù)據(jù),點亮數(shù)碼管的方法有靜態(tài)和動態(tài)兩種,本系統(tǒng)中采用的是動態(tài)數(shù)碼管顯示。動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效.這樣一來,就沒有必要每一位數(shù)碼管配上一個鎖存器,從而大大地簡化了硬件電路。選亮數(shù)碼管采用動態(tài)掃描顯示,所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用數(shù)碼管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。
2-6 數(shù)碼管引腳圖
本系統(tǒng)中采用的數(shù)碼是二位八段共陽數(shù)碼管,數(shù)碼管a~f引腳與分別于阻值為470歐姆的上拉電阻串聯(lián),再連接到P0端口(P0.0—P0.6),其中dp引腳不作連線(不需要用到dp)。兩個位選引腳1,引腳2分別與集電極相連,P2端口(P2.0—P2.3)串聯(lián)一個阻值為1k的電阻再連接到8550三極管基極端,4個8550三極管的發(fā)射端接在電源Vcc上,組成兩個方向的二位數(shù)碼管顯示電路。
2-7 數(shù)碼管顯示電路圖
為了實現(xiàn)此功能,本系統(tǒng)利用到了51單片機中的P3.1端口。利用一個手動按鈕開關(guān)接至單片機的P3.1端口,同時在軟件設(shè)計時將其設(shè)定為每次都進行按鍵掃描,當其按下時,四方全為紅燈,數(shù)碼管只亮一根橫線,當緊急情況過了之后,再次按下該按鍵回到原來的位置繼續(xù)執(zhí)行未完成的程序。
為了實現(xiàn)此功能,本系統(tǒng)再利用一個手動按鈕接至單片機中的P3.2端口。當其按下時,如果是東西方向道路是紅燈,而南北方向道路是綠燈,則將其置為東西是綠燈,南北是紅燈;如果是東西方向道路是綠燈,而南北方向道路是紅燈,則將其置為東西是紅燈,南北是綠燈。兩種情況都是執(zhí)行完后,回到正常狀態(tài)繼續(xù)執(zhí)行。
2-8 交通燈總電路圖
總體接線說明:
[1]李正安,李登嘯. MCS-51單片機程序設(shè)計技巧舉例[J]. 自動化儀表,1991,(08):30-32.
[2]胡漢才. 單片機原理及其接口技術(shù)[M]. 清華大學出版社, 2010.
[3]樓然苗 ,李光飛. MCS-51系列單片機設(shè)計實例[J]. 單片機與嵌入式系統(tǒng)應(yīng)用,2003,(02):82.
廣州商學院課程論文(設(shè)計)答辯記錄表
答辯時間 | 2017年6月1日 | 答辯地點 | 六教202 | |
學生姓名 | 黃新程 | 指導(dǎo)教師 | 梁建軍 | |
題 目 | 交通信號燈模擬控制系統(tǒng)設(shè)計 | 字數(shù) | ||
指導(dǎo)老師對學生課程論文(設(shè)計)的陳述提出的問題及學生的回答情況:
答:忙等按鈕按下之后,交通燈通行方向會立即轉(zhuǎn)變,轉(zhuǎn)變后的時間和自然轉(zhuǎn)變的時間一樣。 | ||||
答:50ms。
答:是晶振的頻率分之一,就是通過晶振的頻率算的。 | ||||
答:count++的作用只是作為一個開關(guān)來用的,當count%2=1時是緊急通車狀態(tài),當count%2=0時是正常運行狀態(tài)。 | ||||
指導(dǎo)老師簽名: | ||||
指導(dǎo)老師評語:(評語50字左右,對論文選題、資料收集與處理、論證水平、寫作能力和規(guī)范等進行評定。) 成績評定: 指導(dǎo)教師簽名: 年 月 日 |
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |