版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 專業(yè)課程設(shè)計(jì)說明書</b></p><p> 題目: 基于單片機(jī)的交通燈控制設(shè)計(jì) </p><p> 院 (系): 興湘學(xué)院 </p><p> 專 業(yè):機(jī)械設(shè)計(jì)制造及其自動化 </p><p> 學(xué) 號:
2、 </p><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p> 完成日期: 2014年2月28 日 </p><p><b> 摘要</b></p><p> 隨著生
3、活水平的提高,汽車越來越普及。因此,紅綠燈安裝在各個(gè)道口上,也漸漸成為了疏導(dǎo)交通車輛最常見和最有效的手段。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。本系統(tǒng)采用80C51單片機(jī)為中心器件來設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了實(shí)時(shí)顯示當(dāng)前通行剩余時(shí)間;按東西道紅燈和南北道綠燈亮22秒后東西道、南北道黃燈閃爍3秒,再東西道綠燈和南北道紅燈亮27秒,之后黃燈閃爍3秒的規(guī)律控制東西和南北方向的交通燈;能手動
4、設(shè)置通行方向3種功能。4位數(shù)碼管顯示剩余通行時(shí)間,2位顯示東西方向通行剩余時(shí)間,2位顯示南北方向通行剩余時(shí)間。本系統(tǒng)實(shí)用性強(qiáng)、操作簡單、擴(kuò)展功能強(qiáng)。</p><p> 關(guān)鍵詞:單片機(jī) 交通燈 動態(tài)掃描 自動控制 手動設(shè)置</p><p><b> 目錄</b></p><p> 一、設(shè)計(jì)目的 ……………………………
5、……………………4</p><p> 二、設(shè)計(jì)任務(wù)和要求 …………………………………………………5</p><p> 三、設(shè)計(jì)原理分析 …………………………………………………6</p><p> 四、硬件資源及其分配 …………………………………………………8</p><p> 五.硬件圖 …………………
6、………………………………11</p><p> 六、程序框圖 …………………………………………………12</p><p> 七、程序 …………………………………………………13</p><p> 八、調(diào)試運(yùn)行 …………………………………………………17</p><p> 九、仿真
7、截圖 …………………………………………………18</p><p> 十、設(shè)計(jì)心得體會 …………………………………………………20</p><p><b> 一、設(shè)計(jì)目的</b></p><p> 1、通過單片機(jī)課程設(shè)計(jì),熟練掌握匯編語言的編程方法,將理論聯(lián)系到實(shí)踐中去,提高我們的動腦和動手的能力。</p>
8、;<p> 2、通過交通信號燈控制系統(tǒng)的設(shè)計(jì),掌握定時(shí)/計(jì)數(shù)器及中斷的使用方法,和簡單程序的編寫,最終提高我們的邏輯抽象能力。</p><p><b> 二、設(shè)計(jì)任務(wù)和要求</b></p><p> 任務(wù):設(shè)計(jì)一個(gè)能夠控制十二盞交通信號燈的模擬系統(tǒng)</p><p> 要求:利用單片機(jī)的定時(shí)器定時(shí),令十字路口的紅綠燈交替點(diǎn)亮
9、和熄滅,并用LED燈顯示倒計(jì)時(shí)間。1、東西綠燈亮,南北紅燈亮 2、黃燈亮 3、東西紅燈亮,南北綠燈亮 </p><p><b> 三、設(shè)計(jì)原理分析</b></p><p> 圖3-1 設(shè)計(jì)原理圖</p><p> 1、首先了解實(shí)際交通燈的變化情況和規(guī)律。假設(shè)一個(gè)十字路口如上圖所以,為東南西北走向。初始狀態(tài)0:為東西綠燈亮,南北紅燈亮
10、;然后轉(zhuǎn)狀態(tài)1:東西綠燈亮黃燈亮,南北紅燈亮黃燈亮;過后轉(zhuǎn)狀態(tài)2:東西紅燈亮,南北綠燈亮;再轉(zhuǎn)狀態(tài)3:東西紅燈亮黃燈亮,南北綠燈亮黃燈亮。一段時(shí)間后,又循環(huán)至狀態(tài)0。中間可通過中斷按鈕產(chǎn)生中斷,跳入中斷程序執(zhí)行中斷。</p><p> 列出交通信號燈的狀態(tài)表如下:(其中,1代表燈亮,0代表燈滅)</p><p> 表3-1 交通燈狀態(tài)表</p><p> 2、
11、對于交通信號燈來說,應(yīng)該有東西南北共四組燈,但由于同一道上的兩組的信號燈的顯示情況是相同的,所以只要用兩組就行了,因此,采用單片機(jī)內(nèi)部的I/O口上的P1口中的6個(gè)引腳即可來控制6個(gè)信號燈。</p><p> 3、通過編寫程序,實(shí)現(xiàn)對發(fā)光二極管的控制,來模擬交通信號燈的管理。每延時(shí)一段時(shí)間,燈的顯示情況都會按交通燈的顯示規(guī)律進(jìn)行狀態(tài)轉(zhuǎn)換。</p><p> 4、通過延時(shí)時(shí)間送顯,可以在原
12、有的交通信號燈系統(tǒng)的基礎(chǔ)上,增添其倒計(jì)時(shí)間的顯示功能,實(shí)現(xiàn)其功能的擴(kuò)展。</p><p> 5.通過脈沖中斷編寫中斷程序,可實(shí)現(xiàn)中斷。</p><p> 四、硬件資源及其分配</p><p> 主要用到的硬件:P1口、P3口、LED數(shù)碼管、LED發(fā)光二級管、定時(shí)器T0</p><p><b> 硬件分配:</b>
13、</p><p> 1、P1口:做為輸出口,與發(fā)光二極管相連接,其狀態(tài)及對應(yīng)的十六進(jìn)制值如下:</p><p> 表4-1 狀態(tài)及對應(yīng)的十六進(jìn)制指</p><p> 2、P3口中的P3.0(RXD)和P3.1(TXD)作特殊用途,數(shù)據(jù)(倒計(jì)時(shí)時(shí)間)從RXD端輸入,TXD端輸出。</p><p> 3、LED發(fā)光二極管用來顯示燈亮情況。
14、</p><p> 4、定時(shí)/計(jì)數(shù)器T0用來產(chǎn)生1秒的定時(shí)</p><p> 5.Led顯示器十位與p0相連接,個(gè)位與p2連接用來顯示時(shí)間,下面是LED顯示接口及原理。</p><p> 1 LED是發(fā)光二極管的英文縮寫,LED顯示器是由發(fā)光二極管構(gòu)成的,它在單片機(jī)中的應(yīng)用非常普遍。通常所說的LED顯示器由7個(gè)發(fā)光二極管組成,其排列形狀如圖所示。此外,顯示器
15、中還有一個(gè)圓點(diǎn)型發(fā)光二極管以dp表示,用于小數(shù)點(diǎn)表示。通過七個(gè)發(fā)光二極管亮暗的不同組合,可以顯示多種數(shù)字、字母以及其它符號。LED顯示中的發(fā)光二極管共有兩種連接方法:</p><p> 2 共陽極接法:把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極。使用時(shí)公共陽極接+5V。這樣陰極端輸入低電平的段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平的則不亮。</p><p> 3共陰極接法:把發(fā)光二極管的陰極連
16、在一起構(gòu)成公共陰極。使用時(shí)公共陰極接地。這樣陽極端輸入高電平的段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入低電平的則不亮。</p><p> 4 控制數(shù)碼管驅(qū)動級的控制電路有靜態(tài)式和動態(tài)式兩類:</p><p> 5 靜態(tài)驅(qū)動:它是指每個(gè)數(shù)碼管都要用一個(gè)譯碼器譯碼驅(qū)動。</p><p> 6動態(tài)驅(qū)動:它是所的數(shù)碼管使用一個(gè)專門的譯碼驅(qū)動器,使各位數(shù)碼管逐個(gè)輪流顯示,它的掃描
17、速度極快,因此顯示效果與靜態(tài)驅(qū)動相同。</p><p> 7采用動態(tài)數(shù)碼管顯示,可以大幅度地降低硬件成本和電源的功耗,因?yàn)槟骋粫r(shí)刻只有一個(gè)數(shù)碼管工作,就是所謂的分時(shí)顯示,顯示所需要的硬件電路可分時(shí)復(fù)用。</p><p> 共陰極 共陽極 符號和引腳 </p><p> 如表4-2為共陽極與共
18、陰極的代碼表</p><p> 表4-3 十六進(jìn)制數(shù)字形代碼表</p><p><b> 五.硬件圖</b></p><p><b> 圖5-1 硬件圖</b></p><p><b> 六、程序框圖</b></p><p><b>
19、 1、主程序框圖</b></p><p> 2. 中斷服務(wù)程序框圖</p><p><b> 七、程序</b></p><p> #include<reg52.h></p><p> #define port1 P0</p><p> #define port2
20、P2</p><p> sbit green1=P1^0;</p><p> sbit red1=P1^1;</p><p> sbit yellow1=P1^2;</p><p> sbit green2=P1^3;</p><p> sbit red2=P1^4;</p><p>
21、 sbit yellow2=P1^5;</p><p> unsigned char flag=0;</p><p> unsigned char mun=30;</p><p> unsigned char code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7 F,0x6F};<
22、/p><p> void init_timer0(void)</p><p><b> {</b></p><p> TMOD=0x01;</p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p>&
23、lt;p><b> ET0=1;</b></p><p><b> EA=1;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p> void display(unsigned ch
24、ar x)</p><p><b> {</b></p><p> unsigned char m,n;</p><p><b> m=x/10;</b></p><p><b> n=x%10;</b></p><p> port1=tab[
25、m];</p><p> port2=tab[n];</p><p><b> }</b></p><p> void init(void)</p><p><b> {</b></p><p><b> P1=0x00;</b></p&
26、gt;<p> init_timer0();</p><p><b> }</b></p><p> void main()</p><p><b> {init();</b></p><p><b> while(1)</b></p>
27、<p><b> { do</b></p><p><b> {</b></p><p> display(mun);</p><p><b> green1=1;</b></p><p><b> red1=0;</b></p
28、><p><b> green2=0;</b></p><p><b> red2=1;</b></p><p><b> }</b></p><p> while(mun!=3);</p><p><b> do</b>&l
29、t;/p><p><b> {</b></p><p> if(mun==3)</p><p><b> {</b></p><p> yellow1=1;</p><p> yellow2=1;</p><p><b> }&l
30、t;/b></p><p> display(mun);</p><p><b> }</b></p><p> while(mun!=0);</p><p> if(mun==0)</p><p><b> {</b></p><p&g
31、t;<b> mun=30;</b></p><p> yellow1=0;</p><p> yellow2=0;</p><p><b> } </b></p><p><b> do</b></p><p><b> {&l
32、t;/b></p><p> display(mun);</p><p><b> green1=0;</b></p><p><b> red1=1;</b></p><p><b> green2=1;</b></p><p><
33、b> red2=0;</b></p><p><b> }</b></p><p> while(mun!=3);</p><p><b> do</b></p><p><b> {</b></p><p> if(m
34、un==3)</p><p><b> {</b></p><p> yellow1=1;</p><p> yellow2=1;</p><p><b> };</b></p><p> display(mun);</p><p> }
35、while(mun!=0);</p><p> if(mun==0)</p><p><b> {</b></p><p><b> mun=30;</b></p><p> yellow1=0;</p><p> yellow2=0;</p><
36、;p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void timer(void) interrupt 1 using 1</p><p><b> {</b><
37、/p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> flag++;</b></p><p> if(flag==20)</p><p><b> {</b></p&
38、gt;<p><b> flag=0;</b></p><p><b> mun--;</b></p><p><b> }</b></p><p><b> }:</b></p><p><b> 八、調(diào)試運(yùn)行</
39、b></p><p> 1、接硬件圖接線,為了確保東西南北紅黃綠燈能夠?qū)?yīng)顯示,實(shí)驗(yàn)時(shí),對P1口的接線做了調(diào)整。即,P1.0接綠燈,P1.1接黃燈,P1.2接紅燈,P1.3接綠燈,P1.4接黃燈,P1.5接L3紅燈</p><p> 2、從0100H單元開始連續(xù)運(yùn)行,觀察六個(gè)LED燈是否與交通顯示情況對應(yīng),如果有偏差,則單步運(yùn)行或斷點(diǎn)運(yùn)行,進(jìn)行調(diào)試,直至滿足設(shè)計(jì)要求。</p
40、><p> 3、調(diào)試完燈的顯示后,從0100H開始連續(xù)運(yùn)行,觀察數(shù)碼管顯示的是否正常,如果不正常,則運(yùn)用單步運(yùn)行或斷點(diǎn)運(yùn)行進(jìn)行分析和調(diào)試,直至滿足要求。</p><p> 4、整體運(yùn)行,觀察燈顯示和時(shí)間顯示是否都符合要求,如果不符合,則再調(diào)試。直至滿足要求。</p><p><b> 九、仿真截圖</b></p><p&g
41、t;<b> 圖9-1 仿真截圖</b></p><p><b> 圖9-2 仿真截圖</b></p><p><b> 十、設(shè)計(jì)心得體會</b></p><p> 單片機(jī)課程設(shè)計(jì)很快就結(jié)束了,在課程設(shè)計(jì)的這段時(shí)間里,我不僅學(xué)到了許多新的知識,而且加深了我對以前學(xué)習(xí)的理論知識的掌握。</
42、p><p> 以前我們學(xué)的東西僅限于課本,對實(shí)實(shí)在在的應(yīng)用還比較模糊,這次課程設(shè)計(jì)有利于同學(xué)們學(xué)習(xí)目的的明確性和主動性。通過這次課程設(shè)計(jì),我們知道了哪些東西是應(yīng)該確實(shí)掌握的,在學(xué)校里,沒有實(shí)實(shí)在在的實(shí)習(xí),我們總以為學(xué)的東西沒太多用,當(dāng)我們在課程設(shè)計(jì)過程中了解到我們學(xué)的東西是如此重要時(shí),我們學(xué)習(xí)的積極性有了,目的性提高了。</p><p> 通過單片機(jī)課程設(shè)計(jì),我不僅加深了對單片機(jī)理論的理解
43、,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學(xué)會將理論很好地聯(lián)系實(shí)際,并不斷地去開動自己的大腦,從為人類造福的意愿出發(fā),做自己力所能及的,別人卻沒想到的事。使之不斷地戰(zhàn)勝別人,超越前人。同時(shí),更重要的是,我在這一設(shè)計(jì)過程中,學(xué)會了堅(jiān)持不懈,不輕易言棄。設(shè)計(jì)過程,也好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,也許這就是在對我們提出了挑戰(zhàn),勇敢過,也戰(zhàn)勝了,勝利的鐘聲也就
44、一定會為我們而敲響。</p><p> 這個(gè)設(shè)計(jì)過程中,我們遇到過許多次失敗的考驗(yàn),就比如,自己對實(shí)際生活中的交通秩序的不了解給整個(gè)設(shè)計(jì)帶來的困擾,真想要就此罷休,然而,就在想要放棄的那一刻,我們明白了,原來結(jié)果并不那么重要,我們更應(yīng)該注重的是這一整個(gè)過程。于是,我們堅(jiān)持了下來。當(dāng)然最終,這個(gè)設(shè)計(jì)很成功,主要體現(xiàn)在,這一整個(gè)系統(tǒng),幾乎沒有課本以外的參考書,程序由我們自己獨(dú)立完成,制作的交通燈控制系統(tǒng)程序簡單易讀
45、,結(jié)構(gòu)清楚,最重要的是成本低。在設(shè)計(jì)一個(gè)系統(tǒng),除了達(dá)到所要求的性能指標(biāo)以外,成本也是很重要的一個(gè)指標(biāo)。成本的高低也決定了產(chǎn)品的適用性。 </p><p> 在這次單片機(jī)課程設(shè)計(jì)中,我主要負(fù)責(zé)軟件編寫和仿真的調(diào)試,在這次課程設(shè)計(jì)中,讓我懂得了團(tuán)隊(duì)協(xié)作重要,在一個(gè)工程中一個(gè)團(tuán)隊(duì)精神是必不可少,在這里我要感謝老師對我們指導(dǎo)和我們團(tuán)隊(duì)的
46、另外三個(gè)同學(xué)幫助。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 張毅剛.新編MSC-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2003</p><p> [2] 李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,1992[3] 何立民.MCS—51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,199
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通燈單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈顯示系統(tǒng)
- 交通燈單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈顯示系統(tǒng)
- 單片機(jī)交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈系統(tǒng)的設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈系統(tǒng)的設(shè)計(jì)
- 單片機(jī)控制交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---交通燈
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-交通燈
- 單片機(jī)課程設(shè)計(jì)--交通燈
- 單片機(jī)課程設(shè)計(jì)(交通燈)
- 單片機(jī)控制交通燈課程設(shè)計(jì)
- 單片機(jī)控制交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---交通燈控制
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈設(shè)計(jì)
- 單片機(jī)交通燈課程設(shè)計(jì)
- 單片機(jī)交通燈的控制課程設(shè)計(jì)
評論
0/150
提交評論