版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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、都愿意選擇有倒計時顯示的信號控制方式,并且認為有倒計時顯示的路口更安全。倒計時顯示是用來減少駕駛員在信號燈色改變的關(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> (4) 數(shù)據(jù)保留時間:10年</p><p> ?。?) 全靜態(tài)工作:0
14、Hz-24MHz</p><p> ?。?) 三級程序存儲器鎖定</p><p> ?。?) 128×8位內(nèi)部RAM</p><p> (8) 32位可編程I/O線</p><p> ?。?) 兩個16位定時器/計數(shù)器</p><p> (10) 5個中斷源</p><p> ?。?/p>
15、11) 可編程串行通道</p><p> ?。?2) 低功耗的閑置和掉電模式</p><p> (13) 片內(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)用學習過程中,以及在常用編程設(shè)計思路技巧的
19、掌握方面都能向前邁了一大步,為日后成為一名合格的應(yīng)用型人才打下良好的基礎(chǔ)。綜合課程設(shè)計讓我把以前學習到的知識得到鞏固和進一步的提高認識,對已有知識有了更深層次的理解和認識。</p><p> 在此,由于自身能力有限,在課程設(shè)計中碰到了很多的問題,我通過查閱相關(guān)書籍、資料以及和周圍同學交流得到解決。通過這次單片機技術(shù)在生活中的簡單應(yīng)用的設(shè)計,我學到了不少實用的知識,更重要的是,在設(shè)計的過程,學到了思考問題的方法,
20、設(shè)計過程中培養(yǎng)了我在實踐中研究問題,分析問題和解決問題的能力以及培養(yǎng)了良好的工程素質(zhì)和科學道德,例如團隊精神、獨立思考等;提高了自己動手能力,培養(yǎng)理論聯(lián)系實際的作風。還有動手這次實驗,使單片機原理和接口技術(shù)這門課的一些理論知識與實踐相結(jié)合,更加深刻了我對單片機原理和接口技術(shù)這門課的認識,鞏固了我的理論知識。</p><p> 還有交通燈是我們生活中非常常見的一種東西,對于我們學以致用的這種能力得到了很好鍛煉,能
21、夠為我們以后的工作于學習打下基礎(chǔ)。</p><p> 最后,對在這個設(shè)計中幫助我們的所有同學和各位指導老師再次表示衷心的感謝。</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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(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
提交評論