本課程設(shè)計(jì)是在學(xué)完單片機(jī)原理及課程之后綜合利用所學(xué)單片機(jī)知識(shí)完成一個(gè)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)并在實(shí)驗(yàn)室實(shí)現(xiàn)。該課程設(shè)計(jì)的主要任務(wù)是通過解決一、兩個(gè)實(shí)際問題,鞏固和加深“單片機(jī)原理與應(yīng)用”課程中所學(xué)的理論知識(shí)和實(shí)驗(yàn)?zāi)芰Γ菊莆諉纹瑱C(jī)應(yīng)用電路的一般設(shè)計(jì)方法,提高電子電路的設(shè)計(jì)和實(shí)驗(yàn)?zāi)芰Γ由顚?duì)單片機(jī)軟硬知識(shí)的理解,獲得初步的應(yīng)用經(jīng)驗(yàn),為以后工作打下一定的基礎(chǔ)。
在今天,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。交通信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。通過三個(gè)星期的學(xué)習(xí),本人對(duì)單片機(jī)的結(jié)構(gòu)和功能已有了初步的了解和認(rèn)識(shí)。單片機(jī)在交通控制中起到了舉足輕重的作用,掌握了單片機(jī)的工作原理也就基本了解了交通燈的運(yùn)做原理。作為一個(gè)學(xué)生,為了更好地掌握單片機(jī)的結(jié)構(gòu)和功能,為了進(jìn)一步加強(qiáng)自己的實(shí)踐能力,本人設(shè)計(jì)了以下的一款交通燈。
一、工程簡(jiǎn)介
(一)、概述
本設(shè)計(jì)是交通燈的控制實(shí)驗(yàn),必須要先了解實(shí)際交通燈的變化規(guī)律。假設(shè)一個(gè)路口為東西南北走向,即十字路口,初始狀態(tài)零為東西南北燈都熄滅。然后轉(zhuǎn)狀態(tài)一東西綠燈通車,南北為紅燈。過段時(shí)間轉(zhuǎn)狀態(tài)二,東西綠燈閃幾次轉(zhuǎn)黃燈,延時(shí)幾秒,南北仍為紅燈。再轉(zhuǎn)狀態(tài)三南北綠燈通車,東西紅燈。過段時(shí)間轉(zhuǎn)狀態(tài)四南北綠燈閃幾次轉(zhuǎn)黃燈,延時(shí)幾秒,東西仍為紅燈。最后循環(huán)至狀態(tài)一。交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)利用單片機(jī)的定時(shí)器定時(shí),控制十字路口紅綠燈交替電亮和熄滅,并且用LED數(shù)碼管顯示時(shí)間,但由于時(shí)間及水平的不足,在此實(shí)驗(yàn)中不顯示。用十二個(gè)發(fā)光二極管代替交通燈進(jìn)行實(shí)驗(yàn)設(shè)計(jì)。
這次設(shè)計(jì)是《微機(jī)接口與控制技術(shù)》課程的綜合訓(xùn)練,我們通過理論學(xué)習(xí),課題選擇,資料查閱,軟、硬件設(shè)計(jì),系統(tǒng)調(diào)試等環(huán)節(jié),鞏固所學(xué)的知識(shí)及提高應(yīng)用水平.在此我們要學(xué)會(huì)從提出問題,觀察與分析問題,到最終解決問題科學(xué)方法.提高自己的思維能力和動(dòng)手能力,在設(shè)計(jì)中獲得一些實(shí)操經(jīng)驗(yàn),更是要培養(yǎng)我們的工作作風(fēng)和工作態(tài)度。為今后的畢業(yè)設(shè)計(jì)、及從事微機(jī)控制系統(tǒng)的設(shè)計(jì)與維護(hù)奠定堅(jiān)實(shí)的基礎(chǔ)。
這次課題設(shè)計(jì)的意義在于通過具體的控制系統(tǒng)的設(shè)計(jì),掌握微機(jī)控制系統(tǒng)設(shè)計(jì)的一般方法和處理問題的思路,特別是一些常用的技術(shù)手段。使我們能在實(shí)踐教學(xué)環(huán)境中累積設(shè)計(jì)經(jīng)驗(yàn),開拓思維空間,全面提高個(gè)人的綜合能力。
(二)、工藝流程圖
因?yàn)楸緦?shí)驗(yàn)是交通燈控制實(shí)驗(yàn),所以要先了解實(shí)際交通燈的變化規(guī)律。假設(shè)一個(gè)十字路口為東西南北走向。初始狀態(tài)0為東西南北燈都熄滅。然后轉(zhuǎn)狀態(tài)1東西綠燈通車,南北紅燈。過一段時(shí)間轉(zhuǎn)狀態(tài)2,東西綠燈閃幾次轉(zhuǎn)亮黃燈,延時(shí)幾秒,南北仍然紅燈。再轉(zhuǎn)狀態(tài)3,南北綠燈通車,東西紅燈。過一段時(shí)間轉(zhuǎn)狀態(tài)4,南北綠燈閃幾次轉(zhuǎn)亮黃燈,延時(shí)幾秒,南北仍然紅燈。最后循環(huán)至狀態(tài)1。交通信號(hào)燈模擬控制系統(tǒng)設(shè)計(jì)利用單片機(jī)的定時(shí)器定時(shí),令十字路口的紅綠燈交替點(diǎn)亮和熄滅,并且用LED數(shù)碼管顯示時(shí)間,但由于時(shí)間和水平的限制就不顯示時(shí)間。用十二個(gè)發(fā)光二極管燃滅,模擬交通燈管理。具體的接口如下圖一。
二、工程設(shè)計(jì)
(一)、控制方案的確定
交通燈控制系統(tǒng)的原理主要由控制器、定時(shí)器、譯碼器和秒脈沖信號(hào)發(fā)生器等部分組成。秒脈沖發(fā)生器是該系統(tǒng)中定時(shí)器和控制器的標(biāo)準(zhǔn)時(shí)鐘信號(hào)源,譯碼器輸出兩組信號(hào)燈的控制信號(hào),經(jīng)驅(qū)動(dòng)電路后驅(qū)動(dòng)信號(hào)燈工作,控制器是系統(tǒng)的主要部分,由它控制定時(shí)器和譯碼器的工作。如圖2完整的電路板。
圖2完整的電路板
(二)、硬件部分
(1)、交通燈控制系統(tǒng)的硬件設(shè)計(jì):
交通燈控制系統(tǒng)的硬件設(shè)計(jì)包括:存儲(chǔ)器的擴(kuò)展(62256),I/O口的擴(kuò)展(8255),地址的鎖存(74LS373或74LS273),還有反向器(7407)。
數(shù)據(jù)緩沖器,I/O控制邏輯,控制和定時(shí)寄存器及定時(shí)與控制電路,掃描計(jì)數(shù)器,回復(fù)緩沖器,F(xiàn)IFO /傳感器RAM及其狀態(tài)寄存器,顯示RAM及顯示地址寄存器等組成。
(2)、硬件系統(tǒng)的設(shè)計(jì)具備以下原則:
1.滿足系統(tǒng)的設(shè)計(jì)要求,易于操作維護(hù)。
2.系統(tǒng)功能靈活,便于擴(kuò)展。
3.具有自動(dòng)診斷功能。
(3)、硬件結(jié)構(gòu)框圖(如圖3所示)。
硬件系統(tǒng)在該系統(tǒng)中的作用主要是進(jìn)行數(shù)據(jù)的傳送,有關(guān)邏輯的計(jì)算,并且提供顯示,人為的進(jìn)行數(shù)據(jù)的修改,系統(tǒng)的啟動(dòng),停止等等。此外系統(tǒng)運(yùn)行的安全可靠性要靠硬件系統(tǒng)來實(shí)現(xiàn)。
(4)、交通燈控制系統(tǒng)的原理框圖(如圖4所示)。
圖4 交通燈控制系統(tǒng)的原理框圖
圖中:
TL: 表示甲車道或乙車道綠燈亮的時(shí)間間隔為25秒,即車輛正常通行的時(shí)間間隔。定時(shí)時(shí)間到,TL=1,否則,TL=0。
TY:表示黃燈亮的時(shí)間間隔為5秒。定時(shí)時(shí)間到,TY=1,否則,TY=0。
ST:表示定時(shí)器到了規(guī)定的時(shí)間后,由控制器發(fā)出狀態(tài)轉(zhuǎn)換信號(hào)。由它控制定時(shí)器開始下個(gè)工作狀態(tài)的定時(shí)。
1.定時(shí)器
定時(shí)器由與系統(tǒng)秒脈沖(由時(shí)鐘脈沖產(chǎn)生器提供)同步的計(jì)數(shù)器構(gòu)成,要求計(jì)數(shù)器在狀態(tài)信號(hào)ST作用下,首先清零,然后在時(shí)鐘脈沖上升沿作用下,計(jì)數(shù)器從零開始進(jìn)行增1計(jì)數(shù),向控制器提供模5的定時(shí)信號(hào)TY和模25的定時(shí)信號(hào)TL。(電路圖如圖5所示)
圖5 定時(shí)器電路圖
2.控制器
控制器是交通管理的核心,它應(yīng)該能夠按照交通管理規(guī)則控制信號(hào)燈工作狀態(tài)的轉(zhuǎn)換。從ASM圖可以列出控制器的狀態(tài)轉(zhuǎn)換表,如表1所示。選用兩個(gè)D觸發(fā)器FF1、FFO作為時(shí)序寄存器產(chǎn)生 4種狀態(tài),控制器狀態(tài)轉(zhuǎn)換的條件為TL和TY,當(dāng)控制器處于Q1n+1Q0n+1= 00狀態(tài)時(shí),如果TL= 0,則控制器保持在00狀態(tài);如果,則控制器轉(zhuǎn)換到Q1n+1Q0n+1= 01狀態(tài)。這兩種情況與條件TY無關(guān),所以用無關(guān)項(xiàng)"X"表示。(控制器邏輯圖如圖6所示)
根據(jù)表1可以推出狀態(tài)方程和轉(zhuǎn)換信號(hào)方程,其方法是:將Q1n+1、Q0n+1和 ST為1的項(xiàng)所對(duì)應(yīng)的輸人或狀態(tài)轉(zhuǎn)換條件變量相與,其中"1"用原變量表示,"0"用反變量表示,然后將各與項(xiàng)相或,即可得到下面的方程:
? ? ? ??
控制器邏輯圖(如圖6所示)
圖6
3.譯碼器
74.LS138譯碼器
74LS138譯碼器有3個(gè)輸入端,組成8種輸入狀態(tài),輸出端有8個(gè),每個(gè)輸出端對(duì)應(yīng)8種輸入狀態(tài)的一種,低電平有效。此外還有3個(gè)使能端E3,E2,E1,這3個(gè)使能端必須同時(shí)輸入有效電平,譯碼器才能工作,既E3=1,E2=0,E1=0。
譯碼器的主要任務(wù)是將控制器的輸出 Q1、 Q0的4種工作狀態(tài),翻譯成甲、乙車道上6個(gè)信號(hào)燈的工作狀態(tài)。控制器的狀態(tài)編碼與信號(hào)燈控制信號(hào)之間的關(guān)系如表 12、4所示。實(shí)現(xiàn)上述關(guān)系的譯碼電路請(qǐng)讀者自行設(shè)計(jì)。
4.交通燈驅(qū)動(dòng)電路(如圖7所示)
圖 7
5.電路圖(如附錄B)及電路圖說明
電路圖說明
1.這個(gè)LED動(dòng)態(tài)顯示電路用了一個(gè)單片機(jī)的一個(gè)I/O口P0口。
2.P0口的低四位輸出顯示數(shù)字的BCD碼,輸出的BCD碼送到74LS138中進(jìn)行譯碼。然后輸出段代碼經(jīng)上拉電阻上拉后送到顯示器的各顯示段的引腳。
3..P03、P04、P05這三個(gè)口輸出位選信號(hào)。位選信號(hào)送到74LS138中經(jīng)譯碼產(chǎn)生顯示器的位選信號(hào)。
4.當(dāng)輸出短代碼后,低電平的端口將會(huì)把這個(gè)口的電平拉低。所以此時(shí)發(fā)光二極管將不發(fā)光,而高電平的端口則會(huì)向這個(gè)發(fā)光二極管的陽極提供一個(gè)高電平,只要這個(gè)位被選中,那么這個(gè)發(fā)光二極管將發(fā)光,在在段代碼表找查找就能出現(xiàn)響應(yīng)的數(shù)字。每一個(gè)位選電路由一個(gè)PNP三極管組成。當(dāng)位選口發(fā)出低電平,那么這一位的三極管就會(huì)飽和導(dǎo)通,由于顯示器是共陰的內(nèi)部結(jié)構(gòu),所以當(dāng)三極管飽和導(dǎo)通時(shí)相當(dāng)于將顯示器接地。
5.當(dāng)脈沖到MCS—51單片機(jī)時(shí),LED8位顯示器就接收信號(hào),并將信號(hào)儲(chǔ)存到擴(kuò)展寄存器中,當(dāng)P0口的低四位輸出顯示數(shù)字的BCD碼,輸出的BCD碼送到74LS138譯碼器譯碼,然后在顯示提示符段碼中查詢顯示數(shù)字。
6.前面四位顯示干道通行時(shí)間,后面四位顯示支道時(shí)間,通過LED顯示器的顯示來控制車輛的放行、禁行情況。
(5)、8279的結(jié)構(gòu)及引腳功能:
8279的內(nèi)部結(jié)構(gòu)由數(shù)據(jù)緩沖器,I/O控制邏輯,控制和定時(shí)器及定時(shí)控制電路,掃描計(jì)數(shù)器,回復(fù)緩沖器,FIFO/傳感器RAM及其狀態(tài)寄存器,顯示RAM及顯示地址寄存器等部分組成.
(a)數(shù)據(jù)緩沖器及I/O控制邏輯 數(shù)據(jù)緩沖器是一個(gè)雙向緩沖器,它連接內(nèi)部總線和外部總線,用于傳送CPU和8279之間的命令,數(shù)據(jù)和狀態(tài).I/O控制邏輯完成對(duì)芯片的讀寫控制,芯片選擇以及端口選擇.
(b)控制和定時(shí)器及定時(shí)用來寄存操作命令字.
(c)掃描計(jì)數(shù)器 掃描計(jì)數(shù)器有兩種工作方式.一種為外部譯碼方式.計(jì)數(shù)器以二進(jìn)制方式計(jì)數(shù),4位計(jì)數(shù)狀態(tài)從掃描線SL0-SL3輸出,經(jīng)外部譯碼器譯碼后,形成16位掃描信號(hào);另一種為內(nèi)部譯碼方式.該方式下,掃描計(jì)數(shù)器的低二位經(jīng)內(nèi)部譯碼后從SL0-SL3輸出,形成4位掃描信號(hào).
(d)回復(fù)緩沖器, 回復(fù)緩沖器緩沖并鎖存來自SL0-SL7八根回復(fù)線的回復(fù)信號(hào).
(e)FIFO/傳感器RAM及其狀態(tài)寄存器 FIFO/傳感器RAM是一個(gè)雙重功能的8*8RAM.
(f)顯示RAM及顯示地址寄存器 顯示RAM用來存儲(chǔ)顯示數(shù)據(jù),容量為16*8位.在顯示過程中,存儲(chǔ)的顯示數(shù)據(jù)輪流從顯示寄存器輸出.
在燈火控制實(shí)驗(yàn)中,它的片選信號(hào)線接Q0、數(shù)據(jù)選擇輸入線接的是Q1,所以他的控制口地址是FF82H,數(shù)據(jù)口地址是FF80H,中斷是懸空的。
8051最小應(yīng)用系統(tǒng)
8051是片內(nèi)無程序存儲(chǔ)器的供應(yīng)狀態(tài)芯片.因此,其最小應(yīng)用系統(tǒng)必須在片外擴(kuò)展EPROM.外接程序存儲(chǔ)器的地址線A8-A15由P2口提供;A0-A7由P0口通過地址鎖存器提供. 地址鎖存器的鎖存信號(hào)為ALE.指令數(shù)據(jù)由P0口讀入.程序存儲(chǔ)器的取指信號(hào)為/ALE.其片選線直接接地.同時(shí)必須有單位及時(shí)鐘電路.
8255可編程接口芯片
三個(gè)并行I/O口-A口,B口,C口在此設(shè)計(jì)中用到了A,B兩個(gè)口。
1)工作方式控制電路;
2)讀寫控制邏輯電路;
數(shù)據(jù)總線緩沖器;
(三)、軟件部分
(1)、延時(shí)子程序的計(jì)算:
采用寄存器R0、R1、R2作為記數(shù)值,R2中暫存1,R1中存0。當(dāng)減1后變?yōu)?55即R1中存數(shù)256。R0中存數(shù)#0B2H即178。各指令共占指令周期數(shù)為(見圖延時(shí)程序后所附)
DELAY2延時(shí)為:
N=(2+2+2+1+1+2*178)+255*(1+1+2+2*178)=9164。
共計(jì)9164個(gè)指令周期,而系統(tǒng)晶振為11.0592。所以T=12/11.0592=1.085(微秒)
延時(shí)DELAY2為:
t=9164*1.085/1000000=0.09996
約等于0.1(秒)
通過改變R2的值可以改變延時(shí)的秒數(shù)。
(2)、流程圖(如圖8所示)
首先四個(gè)路口所有的燈滅,在東西綠燈亮南北紅燈亮延時(shí)20s,綠燈閃三下,為3秒轉(zhuǎn)黃燈亮2秒 ,在南北綠燈亮東西紅燈亮延時(shí)20s,綠燈閃三下,為3秒轉(zhuǎn)黃燈亮2秒 ,如此循環(huán)。
(3)、源程序(如附錄A)
(4)、程序的執(zhí)行的表達(dá)(如表2)
狀態(tài) | 持續(xù)時(shí)間/S | 東西方向 | 南北方向 | ||||
綠 | 黃 | 紅 | 綠 | 黃 | 紅 | ||
1 | 50 | 亮 | 滅 | 滅 | 滅 | 滅 | 亮 |
2 | 3 | 閃 | 滅 | 滅 | 滅 | 滅 | 亮 |
3 | 2 | 滅 | 亮 | 滅 | 滅 | 滅 | 亮 |
4 | 50 | 滅 | 滅 | 亮 | 亮 | 滅 | 滅 |
5 | 3 | 滅 | 滅 | 亮 | 閃 | 滅 | 滅 |
6 | 2 | 滅 | 滅 | 亮 | 滅 | 亮 | 滅 |
循環(huán) |
三、系統(tǒng)的試調(diào)運(yùn)行
(一)、硬件調(diào)試
利用DVCC實(shí)驗(yàn)與開發(fā)系統(tǒng)、基本測(cè)試儀器(萬用表、示波器等),檢查用戶系統(tǒng)硬件中存在的故障。其中硬件調(diào)試可分為靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試兩步進(jìn)行。
(1)、靜態(tài)調(diào)試
是在用戶系統(tǒng)未工作時(shí)的一種硬件檢測(cè)。
第一步:目測(cè)。檢查外部的各種元件或者是電路是否有斷點(diǎn)。
第二步:用萬用表測(cè)試。先用萬用表復(fù)核目測(cè)中有疑問的連接點(diǎn),再檢測(cè)各種電源線與地線之間是否有短路現(xiàn)象。
第三步:加電檢測(cè)。給板加電,檢測(cè)所有插座或是器件的電源端是否符合要求的值
第四步:是聯(lián)機(jī)檢查。因?yàn)橹挥杏?a target="_blank">單片機(jī)開發(fā)系統(tǒng)才能完成對(duì)用戶系統(tǒng)的調(diào)試。
(2)、動(dòng)態(tài)調(diào)試
是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯(cuò)誤等的一種硬件檢查。動(dòng)態(tài)調(diào)試的一般方法是由近及遠(yuǎn)、由分到合。由分到合是指首先按邏輯功能將用戶系統(tǒng)硬件電路分為若干塊,當(dāng)調(diào)試電路時(shí),與該元件無關(guān)的 器件全部從用戶系統(tǒng)中去掉,這樣可以將故障范圍限定在某個(gè)局部的電路上。當(dāng)各塊電路無故障后,將各電路逐塊加入系統(tǒng)中,在對(duì)各塊電路功能及各電路間可能存在的相互聯(lián)系進(jìn)行調(diào)試。由分到合的調(diào)試既告完成。由近及遠(yuǎn)是將信號(hào)流經(jīng)的各器件按照距離單片機(jī)的邏輯距離進(jìn)行由近及遠(yuǎn)的分層,然后分層調(diào)試。調(diào)試時(shí),仍采用去掉無關(guān)元件的方法,逐層調(diào)試下去,就會(huì)定位故障元件了。
四、系統(tǒng)設(shè)計(jì)及總結(jié)特點(diǎn)
通過這次的課程設(shè)計(jì),讓我受益匪淺,也讓我了解和掌握了一些編程思想和對(duì)I/O口的使用和應(yīng)用的條件的思考,對(duì)單片機(jī)的各個(gè)管腳功能的理解和掌握。實(shí)現(xiàn)了軟件和硬件的有效結(jié)合,缺一不可。設(shè)計(jì)讓我把單片機(jī)的理論知識(shí)用在實(shí)踐中,實(shí)現(xiàn)了理論和實(shí)踐相結(jié)合,從中更懂得理論的是實(shí)踐的基礎(chǔ),實(shí)踐有能檢驗(yàn)理論的正確性,更激發(fā)了我對(duì)專業(yè)知識(shí)的渴求,這些對(duì)我以后參加工作或者繼續(xù)學(xué)習(xí)都會(huì)有很大的幫助和影響。
這次課程設(shè)計(jì)也讓我學(xué)會(huì)了撰寫論文,懂得了論文的要素,這些對(duì)于我在以后寫畢業(yè)設(shè)計(jì)論文有很大的幫助,并且在我將來的工作中也會(huì)有很多益處。在撰寫論文中,也使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。
而作為一位學(xué)生,在對(duì)交通燈的設(shè)計(jì)中,因知識(shí)和經(jīng)驗(yàn)的不足,只能通過模仿其它的編程思路,再加上一些自己的思想去完成這個(gè)設(shè)計(jì),因此在各個(gè)方面都會(huì)有一些不足,敬請(qǐng)指正。但我會(huì)在以后的學(xué)習(xí)中逐漸去完善、鞏固我的單片機(jī)知識(shí)。
審核編輯:劉清
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635227 -
led數(shù)碼管
+關(guān)注
關(guān)注
2文章
73瀏覽量
22080 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3248瀏覽量
114792 -
交通燈
+關(guān)注
關(guān)注
13文章
324瀏覽量
39760 -
信號(hào)發(fā)生器
+關(guān)注
關(guān)注
28文章
1474瀏覽量
108760
原文標(biāo)題:基于單片機(jī)控制的交通燈畢業(yè)設(shè)計(jì)資料
文章出處:【微信號(hào):A1411464185,微信公眾號(hào):multisim】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論