![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/99789772-553a-4837-a9a3-4f35678b5054/99789772-553a-4837-a9a3-4f35678b5054pic.jpg)
![太陽能紅綠燈課程設(shè)計(jì)_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/99789772-553a-4837-a9a3-4f35678b5054/99789772-553a-4837-a9a3-4f35678b50541.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 一、任務(wù)</b></p><p> 設(shè)計(jì)一個(gè)使用太陽能供電的紅綠交通燈。</p><p><b> 二、要求</b></p><p><b> 1. 基本要求</b></p><p> 點(diǎn)亮交通燈。使用太陽能電板供電驅(qū)動(dòng)紅綠交通燈(led)
2、,點(diǎn)亮即可;</p><p> 手動(dòng)運(yùn)行。使用按鍵控制模擬,符合實(shí)際交通燈閃爍變化,即四個(gè)方向的交通燈的紅綠燈變換;</p><p> 自動(dòng)運(yùn)行。使用MCU等嵌入式控制芯片自動(dòng)控制led模擬交通燈的閃爍,允許此芯片使用外部供電; </p><p> 顯示倒計(jì)時(shí)。使用MCU等嵌入式控制芯片顯示紅燈倒計(jì)時(shí),黃燈倒計(jì)時(shí),綠燈倒計(jì)時(shí)(四個(gè)方向其中一個(gè)方向即可)。<
3、;/p><p><b> 2. 發(fā)揮部分</b></p><p> 當(dāng)基本要求2實(shí)現(xiàn)的情況下,手動(dòng)運(yùn)行,實(shí)現(xiàn)基本要求4的顯示倒計(jì)時(shí)。</p><p> 在不使用MCU等嵌入式控制芯片的情況下,實(shí)現(xiàn)基本要求3(交通燈閃爍)的自動(dòng)運(yùn)行。</p><p> 在不使用MCU等嵌入式控制芯片的情況下,實(shí)現(xiàn)基本要求4的顯示倒計(jì)時(shí)
4、。</p><p> 設(shè)計(jì)使用太陽能供電的紅綠交通燈,即不能使用任何外部供電。僅需實(shí)現(xiàn)基本要求3(交通燈閃爍)的自動(dòng)運(yùn)行。</p><p> 設(shè)計(jì)使用太陽能供電的紅綠交通燈,即不能使用任何外部供電,僅需實(shí)現(xiàn)基本要求4的顯示倒計(jì)時(shí)。</p><p><b> 其它功能。</b></p><p><b>
5、目錄</b></p><p> 1 設(shè)計(jì)目的………………………………………………………</p><p> 2 設(shè)計(jì)思路………………………………………………………</p><p> 3 設(shè)計(jì)過程………………………………………………………</p><p> 3.1方案比較與論證…………………………………………… </p&
6、gt;<p> 3.2電路設(shè)計(jì)和設(shè)計(jì)說明………………………………………</p><p> 3.2.1 89C52單片機(jī)……………………………………………………</p><p> 3.2.2 紅綠燈………………………………………………</p><p> 3.2.3(顯示部分)數(shù)碼管與按鍵…………………………</p><p>
7、; 3.2.4 太陽能電池板供電電路………………………………</p><p> 3.2.4 原理圖……………………………………………</p><p> 4測試數(shù)據(jù)與分析………………………………………………</p><p> 5結(jié)論與體會(huì)……………………………………………</p><p> 6附件…………………………………………………
8、</p><p> 6.1實(shí)物電路圖……………………………………………………</p><p> 6.2源程序………………………………………………</p><p><b> 交通燈控制電路</b></p><p> 摘要:交通信號(hào)燈常用于城市、街道主、支路口,用來控制車輛的流量,提高交叉路口車輛的通行能力,緩沖交通
9、壓力。本交通燈設(shè)計(jì)主要由51單片機(jī),太陽能電池板供電電路和模擬交通燈,數(shù)碼管和鍵盤等組成。51單片機(jī)由ATC89c52芯片控制模擬交通燈電路、數(shù)碼管電路實(shí)現(xiàn),供電主要采用采用太陽能電池板電路和儲(chǔ)能電路,從而顯示紅黃綠燈的轉(zhuǎn)換。</p><p> 關(guān)鍵字:交通燈 數(shù)碼管倒計(jì)時(shí) 太陽能電池板供電 </p><p><b> 1 、設(shè)計(jì)目的</b></p>
10、;<p> ?。?)熟悉MCU等集成電路的引腳安排。</p><p> ?。?)了解太陽能電池板結(jié)構(gòu)及其使用。</p><p> ?。?)了解交通燈控制電路的組成及工作原理。</p><p> ?。?)學(xué)會(huì)用仿真軟件對(duì)設(shè)計(jì)的原理圖進(jìn)行仿真。</p><p> ?。?)熟悉數(shù)字交通燈控制電路的設(shè)計(jì)與制作。</p>&
11、lt;p><b> 2、設(shè)計(jì)思路</b></p><p> (1)利用MCU芯片控制模擬交通燈的轉(zhuǎn)換</p><p> ?。?)利用數(shù)碼管電路充當(dāng)交通燈定時(shí)電路(顯示倒計(jì)時(shí))</p><p> (3)設(shè)計(jì)交通燈控制電路</p><p> ?。?)利用太陽能電池板為MCU電路供電</p><
12、p> ?。?)其他功能的實(shí)現(xiàn)</p><p><b> 3 設(shè)計(jì)過程 </b></p><p> 3.1方案論證與比較</p><p> 方案一 用單片機(jī)技術(shù)來實(shí)現(xiàn)交通燈控制</p><p> 用單片機(jī)技術(shù)來來實(shí)現(xiàn)交通燈控制,容易實(shí)現(xiàn),而且該電路可靠性也很高。由于本組隊(duì)員單片機(jī)剛剛進(jìn)入學(xué)習(xí),一方面更快地學(xué)
13、習(xí)單片機(jī),另一方面也更快地進(jìn)入設(shè)計(jì),所以選用了MCU來實(shí)現(xiàn)交通燈控制。交通燈控制系統(tǒng)的原理框圖如下圖所示。</p><p> 交通燈控制狀態(tài)分析: Stste1 東西亮紅燈,南北亮綠燈;</p><p> Stste2 東西亮紅燈,南北亮黃燈;</p><p> Stste3 東西亮綠燈,南北亮紅燈;</p><p> Stste1
14、東西亮黃燈,南北亮紅燈;</p><p> 在緊急狀況下,實(shí)現(xiàn)四個(gè)方向的亮紅燈;</p><p> 方案二 用數(shù)電電子技術(shù)來實(shí)現(xiàn)交通燈控制</p><p> 它主要由控制器、定時(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)的主要部分,
15、由它控制定時(shí)器和譯碼器的工作。電路設(shè)計(jì)相對(duì)復(fù)雜,所以我們并沒有采取這個(gè)方案。</p><p> 3.2.單元電路的設(shè)計(jì) </p><p> ?。?)太陽能供電電路</p><p> (2)紅綠燈電路設(shè)計(jì)</p><p><b> 4系統(tǒng)調(diào)試與結(jié)果</b></p><p> ?。?)程序的編寫
16、及調(diào)試,均有結(jié)果和現(xiàn)象。</p><p> (2)交通燈、太陽能電池板電路設(shè)計(jì)部分等</p><p> (3)調(diào)試交通燈按鍵控制以及數(shù)碼管倒計(jì)時(shí)顯示部分。 </p><p><b> 5結(jié)論</b></p><p><b> 1、能實(shí)現(xiàn)的功能</b></p><p>
17、 交通燈的狀態(tài)轉(zhuǎn)換和計(jì)時(shí)時(shí)間的顯示,基本能實(shí)現(xiàn)甲、乙道路直行和轉(zhuǎn)彎燈的顯示功能,太陽能可以為交通模擬燈充分供電。并且在緊急狀況下實(shí)現(xiàn)四個(gè)方向全亮紅燈,數(shù)碼管倒計(jì)時(shí)停止。</p><p><b> 2、不足之處</b></p><p> 交通燈設(shè)計(jì)中沒有形成模塊化。</p><p><b> 6、設(shè)計(jì)心得體會(huì)</b>
18、</p><p> 通過這次的參與,發(fā)現(xiàn)了許多欠缺的知識(shí),在答辯時(shí),也認(rèn)識(shí)到了差距。不過在不斷的學(xué)習(xí)和設(shè)計(jì)中,還是有些意外的收獲的,團(tuán)隊(duì)的合作,也讓我們充分體會(huì)到了過程的艱辛和愉快的。希望通過不斷地學(xué)習(xí),不斷地努力,做到更好!</p><p><b> 附件</b></p><p><b> 總電路圖</b><
19、/p><p> 1.太陽能電板或蓄電池</p><p><b> 2.電腦pc供電</b></p><p><b> 源代碼</b></p><p> //自動(dòng)控制交通燈的閃爍</p><p> #include<reg52.h></p>&l
20、t;p> #define uchar unsigned char</p><p> #define uint unsigned int </p><p> uchar t0,s1,g1,temp,state=1;int t=-1;</p><p> uchar code table[]=</p><p> {0x3f,0x06
21、,0x5b,0x4f,</p><p> 0x66,0x6d,0x7d,0x07,</p><p> 0x7f,0x6f,0x77,0x7c,</p><p> 0x39,0x5e,0x79,0x71};</p><p> //----依次為南北 紅 黃 綠 燈亮</p><p> sbit d1=P1^0;
22、</p><p> sbit d2=P1^1;</p><p> sbit d3=P1^2;</p><p> //----依次為東西 黃 綠 紅 燈亮</p><p> sbit d6=P1^5;</p><p> sbit d7=P1^6;</p><p> sbit d8=P1
23、^7;</p><p> void display(uchar s1,uchar g1);</p><p> void init();</p><p> void judg();</p><p> void state_led();</p><p> void keyscan();</p>&l
24、t;p> void delay(uint z)</p><p><b> {</b></p><p><b> uint x,y;</b></p><p> for(x=z;x>0;x--)</p><p> for(y=115;y>0;y--);</p>
25、<p><b> }</b></p><p> //------------主函數(shù)------</p><p> void main()</p><p><b> {</b></p><p><b> init();</b></p><
26、p> keyscan();</p><p><b> }</b></p><p> void timer() interrupt 1 //一個(gè)定時(shí)器中斷</p><p><b> {</b></p><p> TH0=(65536-50000)/256;</p>&l
27、t;p> TL0=(65536-50000)%256;</p><p><b> t0++; </b></p><p><b> }</b></p><p> void judg() //計(jì)時(shí)函數(shù)</p><p><b> { </b></p>
28、<p><b> if(t!=-1)</b></p><p><b> { </b></p><p><b> s1=t/10;</b></p><p> g1=t%10; </p><p><b> }</b></p&
29、gt;<p> display(s1,g1); // 數(shù)碼管上顯示倒計(jì)時(shí)</p><p> if(t0 == 20) // 1s 20*50000=1s</p><p><b> { </b></p><p> t0=0; //清零 </p><p><b> if(t
30、==-1)</b></p><p><b> { </b></p><p> state_led();//進(jìn)入狀態(tài)選擇</p><p> if(state==4)//狀態(tài)循環(huán)</p><p><b> {</b></p><p><b>
31、 state=0;</b></p><p><b> }</b></p><p> state++; //狀態(tài)切換 </p><p><b> } </b></p><p> t--;//一秒減一次,倒計(jì)時(shí)實(shí)現(xiàn)</p><p><b> }
32、 </b></p><p><b> }</b></p><p> //-----------狀態(tài)函數(shù)--------</p><p> void state_led()</p><p><b> {</b></p><p> if(state=
33、=1)</p><p> { d3=1; d8=1; </p><p> d1=0; d7=0; //----南北紅燈亮 東西綠燈亮</p><p><b> t=15; </b></p><p><b> }</b></p><p> else i
34、f(state==2)</p><p> {d1=1; d7=1; </p><p> d1=0; d6=0; //----南北紅燈亮 東西黃燈亮</p><p><b> t=3;</b></p><p><b> }</b></p><p> els
35、e if(state==3)</p><p><b> {</b></p><p> d1=1; d6=1;</p><p> d2=0; d8=0; //----南北綠燈亮 東西紅燈亮</p><p><b> t=15;</b></p><p>&
36、lt;b> }</b></p><p> else if(state==4)</p><p><b> {</b></p><p> d2=1; d8=1;</p><p> d3=0; d8=0; //----南北黃燈亮 東西紅燈亮</p><p>&
37、lt;b> t=3; </b></p><p><b> }</b></p><p><b> }</b></p><p> void init()//初始化子程序</p><p><b> {</b></p><p>
38、//*******定時(shí)器******</p><p> TMOD=0x01;</p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> EA=1;</b></p><p><b>
39、 ET0=1;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p> void display(uchar s1,uchar g1) //顯示子函數(shù)</p><p><b> { </b>&
40、lt;/p><p> P0=table[s1];//倒計(jì)時(shí)的顯示位</p><p> P2=0xfb;</p><p><b> delay(1);</b></p><p> P0=table[g1];</p><p><b> P2=0xf7;</b>&l
41、t;/p><p> delay(1); </p><p><b> }</b></p><p> void keyscan()</p><p><b> {</b></p><p><b> while(1)</b></p>&l
42、t;p> { judg();</p><p> P3=0xfe;//*************賦初值***************</p><p><b> temp=P3;</b></p><p> temp=temp&0xf0;//**************檢測***************</p>
43、<p> if(temp!=0xf0)//*********用while語句要小心,產(chǎn)生死鎖************</p><p><b> {</b></p><p> delay(100);//********延遲一會(huì)*********</p><p><b> temp=P3;</b></p
44、><p> temp=temp&0xf0;//**************再檢測,鍵盤是否真的按下**************</p><p> if(temp!=0xf0)</p><p><b> {</b></p><p><b> temp=P3;</b></p>
45、<p> if(temp==0xde)</p><p><b> {</b></p><p> d1=0; d8=0;d2=1;d3=1;d6=1;d7=1;</p><p><b> }</b></p><p> if(temp!=0xf0)//**************松手
46、檢測**************</p><p><b> {</b></p><p> delay(100);</p><p><b> temp=P3;</b></p><p> temp=temp&0xf0; </p><
47、;p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p>
48、; //程序功能:用按鍵模擬控制交通燈的閃爍</p><p> /*#include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int </p><p> uchar t,s1,g1,k1,state; u
49、int k;</p><p> uchar code table[]={</p><p> 0x3f,0x06,0x5b,0x4f,</p><p> 0x66,0x6d,0x7d,0x07,</p><p> 0x7f,0x6f,0x77,0x7c,</p><p> 0x39,0x5e,0x79,0x71
50、};</p><p> //----依次為南北 紅 黃 綠 燈亮</p><p> sbit d1=P1^0;</p><p> sbit d2=P1^1;</p><p> sbit d3=P1^2;</p><p> //----依次為東西 黃 綠 紅 燈亮</p><p> s
51、bit d6=P1^5;</p><p> sbit d7=P1^6;</p><p> sbit d8=P1^7;</p><p> void display(uchar s1,uchar g1);</p><p> void judg();</p><p> void state_led();</p
52、><p> void keyscan();</p><p> void delay(uint z)// 延時(shí)函數(shù)</p><p><b> {</b></p><p><b> uint x,y;</b></p><p> for(x=z;x>0;x--)<
53、/p><p> for(y=115;y>0;y--);</p><p><b> }</b></p><p><b> //主函數(shù)</b></p><p> void main()</p><p> { state=1;</p><p>
54、;<b> t=-1;</b></p><p><b> while(1)</b></p><p><b> { </b></p><p><b> judg();</b></p><p> keyscan();</p>
55、<p><b> if(t==-1)</b></p><p><b> { </b></p><p> state_led();</p><p> if(state==4)//狀態(tài)循環(huán)</p><p><b> {</b></p><
56、p><b> state=0;</b></p><p><b> }</b></p><p> state++; </p><p><b> } </b></p><p><b> } </b></p>&l
57、t;p><b> }</b></p><p> void judg() //狀態(tài)循環(huán)</p><p><b> { </b></p><p> if(t!=-1) //實(shí)現(xiàn)倒計(jì)時(shí)時(shí)燈的即時(shí)變化</p><p><b> { </b></
58、p><p><b> s1=t/10;</b></p><p> g1=t%10; </p><p><b> }</b></p><p> display(s1,g1); //顯示倒計(jì)時(shí)</p><p><b> }</b></p>
59、<p> //-------------狀態(tài)子函數(shù)</p><p> void state_led() </p><p><b> {</b></p><p> if(state==1)</p><p><b> { </b></p><p>
60、d3=1; d8=1; </p><p> d1=0; d7=0; //----南北紅燈亮 東西綠燈亮</p><p><b> t=15; </b></p><p><b> }</b></p><p> else if(state==2)</p><p
61、><b> {</b></p><p> d1=1; d7=1; </p><p> d1=0; d6=0; //----南北紅燈亮 東西黃燈亮</p><p><b> t=3;</b></p><p><b> }</b></p>
62、<p> else if(state==3)</p><p><b> {</b></p><p> d1=1; d6=1;</p><p> d2=0; d8=0; //----南北綠燈亮 東西紅燈亮</p><p><b> t=15;</b></p&g
63、t;<p><b> }</b></p><p> else if(state==4)</p><p><b> {</b></p><p> d2=1; d6=1;</p><p> d3=0; d8=0; //----南北黃燈亮 東西紅燈亮</p>
64、;<p><b> t=3; </b></p><p><b> }</b></p><p><b> }</b></p><p> void display(uchar s1,uchar g1)</p><p><b> { </b
65、></p><p> P0=table[s1];//倒計(jì)時(shí)(十位)的顯示位</p><p> P2=0xfe;</p><p><b> delay(1);</b></p><p> P0=table[g1];//倒計(jì)時(shí)(個(gè)位)的顯示位</p><p><b>
66、P2=0xfd;</b></p><p> delay(1); </p><p><b> }</b></p><p> // ----------鍵盤掃描</p><p> void keyscan()</p><p><b> { </b>&
67、lt;/p><p><b> k1=0xfe;</b></p><p><b> P3=k1;</b></p><p><b> k=P3; </b></p><p><b> if(k!=k1)</b></p><p><
68、;b> {</b></p><p><b> {</b></p><p> delay(100);</p><p> t--; //一秒減一次</p><p><b> }</b></p><p> delay(100);</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 紅綠燈課程設(shè)計(jì)
- 紅綠燈課程設(shè)計(jì)
- 紅綠燈 java課程設(shè)計(jì)報(bào)告
- 接口課程設(shè)計(jì)——模擬紅綠燈實(shí)驗(yàn)
- plc_紅綠燈課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)--紅綠燈
- 紅綠燈數(shù)字電路課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)報(bào)告---紅綠燈
- java課程設(shè)計(jì)報(bào)告---紅綠燈控制道路車輛
- 單片機(jī)課程設(shè)計(jì)---交通紅綠燈
- 《紅綠燈前
- 課程設(shè)計(jì)--人行道紅綠燈控制系統(tǒng)
- 電工電子課程設(shè)計(jì)——自動(dòng)紅綠燈控制系統(tǒng)
- 課程設(shè)計(jì)——交通紅綠燈plc控制系統(tǒng)
- 課程設(shè)計(jì)---人行道紅綠燈控制系統(tǒng)
- 飲食紅綠燈
- 數(shù)字電路紅綠燈課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 校園紅綠燈 教學(xué)設(shè)計(jì)
- 紅綠燈”系列宣傳
- 微機(jī)原理及機(jī)電接口技術(shù)課程設(shè)計(jì)紅綠燈
評(píng)論
0/150
提交評(píng)論