版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 單片機原理及應(yīng)用課程設(shè)計論文</p><p> 交通信號燈模擬控制設(shè)計</p><p><b> 目錄</b></p><p> 單片機原理及應(yīng)用課程設(shè)計論文- 1 -</p><p> 交通信號燈模擬控制設(shè)計- 1 -</p><p> 一、設(shè)計目的及意義-
2、 1 -</p><p> 二、設(shè)計要求- 2 -</p><p> 三、總體設(shè)計方案- 3 -</p><p> 四、硬件和軟件設(shè)計- 4 -</p><p> 4.1 硬件分析- 4 -</p><p> 4.1.1 AT89C51- 4 -</p><p> 4.1
3、.2 四位七段數(shù)碼管- 5 -</p><p> 4.2設(shè)計原理圖- 5 -</p><p> 4.3信號燈的控制及控制編碼- 6 -</p><p> 4.4設(shè)計流程圖- 7 -</p><p> 四、心得體會- 8 -</p><p> 五、 附錄- 9 -</p><p
4、> 參考源程序- 9 -</p><p> 交通信號燈模擬控制設(shè)計</p><p><b> 一、設(shè)計目的及意義</b></p><p> 設(shè)計一個單片機控制交通信號燈,使其能模擬城市“十字”路口交通信號燈的功能,該交通信號燈控制器由一條主干道(東西方向)和一條支干道(南北方向)匯合成十字路口,即主干道的通行時間與從干道的通行時
5、間相同。在每個入口處設(shè)置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。用紅、綠、黃發(fā)光二極管作信號燈。所謂模擬,就是以紅、黃、綠色三只共兩組(因為東、西方向信號燈的變化情況相同,用一組發(fā)光二級管;南、北方向信號燈的變化情況相同,用一組發(fā)光二級管)發(fā)光二級管(LED)表示交通信號燈。</p><p> 在一十字路口設(shè)置交通燈,并用單片機對其進行合理的控制。 控制要
6、求東西: 綠燈 黃燈 紅燈 ,南北: 紅燈 綠燈 黃燈。</p><p> 在正常情況下,兩干道的交通燈按圖1進行轉(zhuǎn)換,并以倒計數(shù)的方式將剩余時間顯示在每個干道對應(yīng)的兩位LED數(shù)碼管上。</p><p> 利用單片機設(shè)計實際生活中的交通燈,既提高了我們的實際動手能力,又能深刻的理解單片機在生活中的實際應(yīng)用,使我們受益匪淺。</p><p><b>
7、二、設(shè)計要求</b></p><p> 設(shè)計完成后按交通狀態(tài)圖實現(xiàn)以下功能:</p><p> 1.初始東西紅燈亮,南北綠燈亮,南北方向通車。</p><p> 2.延時20s,南北路口綠燈熄滅,黃燈閃爍3秒。</p><p> 3.黃燈閃爍后,南北路口紅燈亮、東西路口綠燈亮,東西方向開始通車。</p>&l
8、t;p> 延時20s,東西方向綠燈滅,黃燈閃爍3秒,然后切換成南北方向通車,如此重復(fù)。</p><p> 圖1 交通狀態(tài)圖(黑色表示亮,白色表示滅)</p><p><b> 三、總體設(shè)計方案</b></p><p> 倒計時顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時間、在“停止”和“通過”兩者間作出合適的選擇。駕駛員和行人普遍
9、都愿意選擇有倒計時顯示的信號控制方式,并且認(rèn)為有倒計時顯示的路口更安全。倒計時顯示是用來減少駕駛員在信號燈色改變的關(guān)鍵時刻做出復(fù)雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時間,幫助駕駛員在“停止”和“通過”兩者間作出合適的選擇。</p><p> 因此本設(shè)計采用加入倒計時顯示,以AT89C51單片機為控制核心,利用單片機的定時器產(chǎn)生秒信號,控制十字路口的紅、綠、黃燈交替點亮和熄滅,并且利用4只LED數(shù)碼管
10、實時顯示通行、等待及禁止的剩余時間。用6只發(fā)光二級管作為紅、綠、黃燈指示。</p><p> 本設(shè)計的總體框圖如圖2.</p><p> 圖2 系統(tǒng)的總體框圖</p><p> 本設(shè)計方案用到以下元器件:</p><p> AT89C51單片機及其外圍器件。</p><p> 四位七段數(shù)碼管一個。</
11、p><p><b> 6只發(fā)光二級管。</b></p><p><b> 四、硬件和軟件設(shè)計</b></p><p><b> 4.1 硬件分析</b></p><p> 4.1.1 AT89C51</p><p> 交通信號燈的控制電路中的核心
12、是AT89C51單片機,其內(nèi)部帶有4KB的FLASH,無須擴展程序存儲器;交通燈的控制沒有大量的運算和暫存數(shù)據(jù),AT89C51芯片內(nèi)的128BRAM已經(jīng)滿足要求,所以不必外擴RAM,硬件電路原理圖如圖3所示。AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。</
13、p><p> AT89C51主要特性:</p><p> ?。?) 與MCS-51 兼容 </p><p> (2) 4KB字節(jié)可編程閃爍存儲器 </p><p> ?。?) 壽命:1000寫/擦循環(huán) </p><p> ?。?) 數(shù)據(jù)保留時間:10年</p><p> ?。?) 全靜態(tài)工作:0
14、Hz-24MHz</p><p> ?。?) 三級程序存儲器鎖定</p><p> (7) 128×8位內(nèi)部RAM</p><p> ?。?) 32位可編程I/O線</p><p> ?。?) 兩個16位定時器/計數(shù)器</p><p> (10) 5個中斷源</p><p> ?。?/p>
15、11) 可編程串行通道</p><p> ?。?2) 低功耗的閑置和掉電模式</p><p> ?。?3) 片內(nèi)振蕩器和時鐘電路</p><p> 圖3 AT89C51單片機引腳圖</p><p> 4.1.2 四位七段數(shù)碼管</p><p> 四個數(shù)碼管共用a~dp這8根數(shù)據(jù)線,有四個公共端,共有12個引腳。
16、本設(shè)計采用一個共陰的四位數(shù)碼管,引腳圖如圖4 。</p><p> 圖4 四位數(shù)碼管引腳圖</p><p> 4.2 設(shè)計原理圖 </p><p> 圖5 硬件電路原理圖</p><p> 4.3信號燈的控制及控制編碼</p><p> 由圖1所示可知,P1.0~P1.2控制東西方向的信號燈(用A線表示);
17、P1.3~P1.5控制南北方向的信號燈(用B線表示)。6只發(fā)光二級管是以共陽極連接,所以相應(yīng)口線輸出高電平則“信號燈”滅;口線輸出低電平則“信號燈”亮。為了實現(xiàn)上述控制要求,P1口共輸出4中控制嗎,用表1.1表示。</p><p> 表1.1 “信號燈”控制碼表</p><p><b> 4.4設(shè)計流程圖</b></p><p> 按上
18、表所示的控制碼編程實現(xiàn)交通“信號燈”的模擬控制,流程圖如圖6所示。</p><p> 圖6 “信號燈”的控制流程圖</p><p><b> 四、心得體會</b></p><p> 通過這次交通燈的課程設(shè)計,我得到了一次用專業(yè)知識、專業(yè)技能分析和解決現(xiàn)實問題的能力。我在單片機的基本原理、單片機應(yīng)用學(xué)習(xí)過程中,以及在常用編程設(shè)計思路技巧的
19、掌握方面都能向前邁了一大步,為日后成為一名合格的應(yīng)用型人才打下良好的基礎(chǔ)。綜合課程設(shè)計讓我把以前學(xué)習(xí)到的知識得到鞏固和進一步的提高認(rèn)識,對已有知識有了更深層次的理解和認(rèn)識。</p><p> 在此,由于自身能力有限,在課程設(shè)計中碰到了很多的問題,我通過查閱相關(guān)書籍、資料以及和周圍同學(xué)交流得到解決。通過這次單片機技術(shù)在生活中的簡單應(yīng)用的設(shè)計,我學(xué)到了不少實用的知識,更重要的是,在設(shè)計的過程,學(xué)到了思考問題的方法,
20、設(shè)計過程中培養(yǎng)了我在實踐中研究問題,分析問題和解決問題的能力以及培養(yǎng)了良好的工程素質(zhì)和科學(xué)道德,例如團隊精神、獨立思考等;提高了自己動手能力,培養(yǎng)理論聯(lián)系實際的作風(fēng)。還有動手這次實驗,使單片機原理和接口技術(shù)這門課的一些理論知識與實踐相結(jié)合,更加深刻了我對單片機原理和接口技術(shù)這門課的認(rèn)識,鞏固了我的理論知識。</p><p> 還有交通燈是我們生活中非常常見的一種東西,對于我們學(xué)以致用的這種能力得到了很好鍛煉,能
21、夠為我們以后的工作于學(xué)習(xí)打下基礎(chǔ)。</p><p> 最后,對在這個設(shè)計中幫助我們的所有同學(xué)和各位指導(dǎo)老師再次表示衷心的感謝。</p><p><b> 附錄</b></p><p><b> 參考源程序</b></p><p> #include<reg51.h></p&
22、gt;<p> #define uint unsigned int</p><p> #define uchar unsigned char</p><p> uchar time,aa,qian,bai,shi,ge,i;</p><p> sbit huanga=P1^2;</p><p> sbit huangb
23、=P1^5;</p><p> uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> uchar code tabledeng[]={0xee,0xde,0xf5,0xf3};</p><p> void display(uchar qian,uchar
24、 bai,uchar shi,uchar ge);</p><p> void delay(uint z);</p><p> void init();</p><p> void main()</p><p><b> { </b></p><p><b> init();&
25、lt;/b></p><p><b> while(1)</b></p><p><b> {</b></p><p> P1=tabledeng[0];</p><p><b> time=20;</b></p><p> while(
26、time!=0)</p><p> display((time+3)/10,(time+3)%10,time/10,time%10);</p><p> P1=tabledeng[1];</p><p><b> time=3;</b></p><p> while(time!=0)</p><
27、;p> { for(i=0;i<50;i++)</p><p> display(time/10,time%10,time/10,time%10);</p><p> huangb=~huangb;</p><p><b> }</b></p><p> P1=tabledeng[2];</p
28、><p><b> time=23;</b></p><p> while(time!=3)</p><p> display((time-3)/10,(time-3)%10,time/10,time%10);</p><p> P1=tabledeng[3];</p><p><b&g
29、t; time=3;</b></p><p> while(time!=0)</p><p><b> { </b></p><p> for(i=0;i<50;i++)</p><p> display(time/10,time%10,time/10,time%10);</p>
30、<p> huanga=~huanga;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void delay(uint z)</p><p>&l
31、t;b> {</b></p><p><b> uint x,y;</b></p><p> for(x=z;x>0;x--)</p><p> for(y=110;y>0;y--);</p><p><b> }</b></p><p&g
32、t; void display(uchar qiang,uchar bai,uchar shi,uchar ge)</p><p><b> {</b></p><p> P0=table[qiang]; </p><p> T0=0;TXD=1;INT1=1;INT0=1;</p><p><b>
33、 delay(1);</b></p><p> P0=table[bai]; </p><p> T0=1;TXD=0;INT1=1;INT0=1;</p><p><b> delay(1);</b></p><p> P0=table[shi]; </p><p> T0
34、=1;TXD=1;INT1=0;INT0=1;</p><p><b> delay(1);</b></p><p> P0=table[ge];</p><p> T0=1;TXD=1;INT1=1;INT0=0;</p><p><b> delay(1);</b></p>
35、<p><b> }</b></p><p> void init()</p><p><b> {</b></p><p> INT1=1;INT0=1;</p><p> TMOD=0x01;</p><p> TH0=(65536-50000)
36、/256;</p><p> TL0=(65536-50000)%256;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> TR0=1;</b></p><p><b
37、> }</b></p><p> void timer0() interrupt 1</p><p><b> {</b></p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p>&
38、lt;b> aa++;</b></p><p> if(aa==20)</p><p><b> {</b></p><p><b> aa=0;</b></p><p> if(time!=0)</p><p><b> time--
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計--模擬交通信號燈
- 單片機課程設(shè)計--模擬交通信號燈
- 單片機課程設(shè)計-控制交通信號燈
- 單片機課程設(shè)計--交通信號燈模擬控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計---交通信號燈控制系統(tǒng)
- 單片機課程設(shè)計報告--交通信號燈的模擬系統(tǒng)
- 單片機控制交通信號燈
- 單片機課程設(shè)計--交通信號燈實時控制系統(tǒng)設(shè)計
- 交通信號燈課程設(shè)計---交通信號燈系統(tǒng)設(shè)計
- 單片機課程報告設(shè)計--交通信號燈模擬控制系統(tǒng)設(shè)計
- 計控課程設(shè)計--單片機交通信號燈控制系統(tǒng)設(shè)計
- 淺析單片機控制交通信號燈
- 交通信號燈課程設(shè)計--交通信號燈控制電路的設(shè)計
- 交通信號燈控制課程設(shè)計
- 交通信號燈控制課程設(shè)計
- 課程設(shè)計---交通信號燈控制
- 課程設(shè)計---交通信號燈控制設(shè)計
- 交通信號燈課程設(shè)計--基于單片機的交通燈設(shè)計
- 課程設(shè)計交通信號燈
- 交通信號燈課程設(shè)計
評論
0/150
提交評論