版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 1 技術(shù)要求1</b></p><p><b> 2 基本原理1</b></p><p> 2.1 AT89C51單片機(jī)1</p><p> 2.2發(fā)光二極管1</p><
2、p><b> 2.3數(shù)碼管2</b></p><p> 3 設(shè)計(jì)方案及功能分析2</p><p><b> 3.1 方案一2</b></p><p> 3.1.1設(shè)計(jì)總體框圖2</p><p> 3.1.2電路原理說(shuō)明3</p><p><b&
3、gt; 3.2 方案二3</b></p><p> 3.2.1設(shè)計(jì)總體框圖3</p><p> 3.2.2電路原理說(shuō)明4</p><p><b> 4 實(shí)現(xiàn)方案4</b></p><p> 4.1設(shè)計(jì)總體框圖4</p><p> 4.2電路原理說(shuō)明6</p
4、><p> 4.3實(shí)驗(yàn)現(xiàn)象說(shuō)明6</p><p><b> 5 結(jié)論6</b></p><p><b> 6 心得體會(huì)7</b></p><p><b> 7 參考文獻(xiàn)7</b></p><p><b> 附錄8</b&g
5、t;</p><p><b> 1 方案一8</b></p><p> 1.1 方案一的硬件原理圖8</p><p> 1.2 方案一的軟件程序9</p><p><b> 2 方案二12</b></p><p> 2.1 方案二的硬件原理圖12</
6、p><p> 2.2 方案二的軟件程序13</p><p><b> 3實(shí)現(xiàn)方案16</b></p><p> 3.1 實(shí)現(xiàn)方案的硬件原理圖16</p><p> 3.2 實(shí)現(xiàn)方案的軟件程序17</p><p> 模擬交通指示燈的控制</p><p><
7、b> 1 技術(shù)要求</b></p><p> 1)采用單片機(jī)作為主控制器。</p><p> 2)每個(gè)方向具有左拐、直行及行人3種通行指示燈。</p><p> 3) 每個(gè)方向的指示燈按照要求點(diǎn)亮不同的時(shí)間,前行指示燈點(diǎn)亮10秒熄滅,接著暫停指示燈點(diǎn)亮2秒熄滅,然后左拐指示燈點(diǎn)亮8秒熄滅,按照這種方式進(jìn)行循。</p><
8、p> 4)當(dāng)向東方向的前行指示燈點(diǎn)亮的時(shí)候,向南方向的前行指示燈熄滅,暫停指示燈和左拐指示燈分別點(diǎn)亮。</p><p> 5)當(dāng)向南方向的前行指示燈點(diǎn)亮的時(shí)候,向東方向的前行指示燈熄滅,暫停指示燈和左拐指示燈點(diǎn)亮。</p><p><b> 補(bǔ)充要求:</b></p><p> 6)計(jì)時(shí)牌顯示路口通行轉(zhuǎn)換剩余時(shí)間。</p&g
9、t;<p> 7)在出現(xiàn)緊急情況時(shí)可由行人手動(dòng)實(shí)現(xiàn)對(duì)面路口車輛禁行而行人通行狀態(tài)。</p><p><b> 2 基本原理</b></p><p> 2.1 AT89C51單片機(jī)</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器,低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。</p>
10、<p> P0口為一個(gè)8位漏級(jí)開路雙向I/O口,P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口。其中的一些特殊功能口:P3.2 /INT0(外部中斷0), P3.3 /INT1(外部中斷1), P3.4 T0(記時(shí)器0外部輸入), P3.5 T1(記時(shí)器1外部輸入)。</p>&
11、lt;p><b> 2.2發(fā)光二極管</b></p><p> LED是英文light emitting diode(發(fā)光二極管)的縮寫,它是半導(dǎo)體二極管的一種,可以把電能轉(zhuǎn)化成光能,常用的是發(fā)紅光、綠光或黃光的二極管。</p><p><b> 2.3數(shù)碼管</b></p><p> 通過(guò)其電平的高低來(lái)控制
12、數(shù)碼管的高低位工作。</p><p> 3 設(shè)計(jì)方案及功能分析</p><p><b> 3.1 方案一</b></p><p> 方案一核心思想是基于延時(shí)和中斷的程序?qū)崿F(xiàn)三種燈的循環(huán)點(diǎn)亮。</p><p> 3.1.1設(shè)計(jì)總體框圖</p><p> 方案一主程序流程圖,如圖1所示;方案
13、一中斷程序流程圖,如圖2。.</p><p> 3.1.2電路原理說(shuō)明</p><p> 方案一的硬件原理圖如附錄圖1,方案一的軟件程序見(jiàn)附錄1.2。.</p><p> P0口的前六個(gè)接口分別控制六個(gè)發(fā)光二極管。綠燈表示前行,黃燈表示暫停,紅燈表示左拐。首先東向綠燈南向黃燈亮2秒,然后東向綠燈和南向紅燈亮8秒,從而使得東向綠燈亮10秒時(shí),南向黃燈亮2秒后紅燈
14、亮8秒。南向的類似,先南向綠燈東向黃燈亮2秒,然后南向綠燈東向紅燈亮8秒,低電平使二極管發(fā)亮。中斷是使用的外部中斷,使用的是INT0和INT1兩個(gè)接口,當(dāng)其中的一個(gè)接口輸入低電平時(shí),對(duì)應(yīng)的兩個(gè)方向的黃燈和綠燈均亮3秒,從而車輛禁止,行人通行。 </p><p><b> 3.2 方案二</b></p><p> 此方案
15、實(shí)現(xiàn)的是一種比較貼近現(xiàn)實(shí)生活的十字路口的交通燈。由東南西北四個(gè)方向的交通燈組成,每個(gè)方向均有綠黃紅三種顏色的燈。其中綠燈表示通行,黃燈表示警告,紅燈表示暫停。</p><p> 3.2.1設(shè)計(jì)總體框圖</p><p> 方案二主程序流程圖,如圖3所示;方案二中斷程序流程圖,如圖4。</p><p> 3.2.2電路原理說(shuō)明</p><p&g
16、t; 方案二的硬件原理圖如附錄圖2,方案二的軟件程序見(jiàn)附錄2.2。</p><p> P0口的前6個(gè)接口控制12個(gè)燈,每個(gè)接口控制對(duì)稱的兩個(gè)燈。利用了switch語(yǔ)句,實(shí)現(xiàn)各個(gè)燈的循環(huán)點(diǎn)亮。四個(gè)case語(yǔ)句:東西向綠燈與南北向紅燈亮;東西向黃燈閃爍,綠燈關(guān)閉;東西向紅燈,南北向綠燈亮;南北向黃燈閃爍,綠燈關(guān)閉。同時(shí)利用外部中斷,實(shí)現(xiàn)對(duì)面路口車輛禁行而行人通行狀態(tài)。在主函數(shù)中要確定外部中斷優(yōu)先,同時(shí)使用whil
17、e語(yǔ)句實(shí)現(xiàn)循環(huán)。</p><p><b> 4 實(shí)現(xiàn)方案</b></p><p> 在實(shí)現(xiàn)方案中,我加了計(jì)時(shí)牌顯示路口通行轉(zhuǎn)換剩余時(shí)間的功能。利用的是計(jì)時(shí)牌每跳轉(zhuǎn)一個(gè)數(shù)都需要一段延時(shí),通過(guò)跳轉(zhuǎn)數(shù)字的數(shù)目來(lái)實(shí)現(xiàn)交通燈分別亮不同的時(shí)間。同時(shí)我也添加了一項(xiàng)發(fā)聲報(bào)警的功能,實(shí)現(xiàn)緊急情況時(shí)可以發(fā)聲報(bào)警。</p><p><b> 4.1設(shè)
18、計(jì)總體框圖</b></p><p> 實(shí)現(xiàn)方案主程序流程圖,如圖6所示;實(shí)現(xiàn)方案中斷程序流程圖,如圖5。</p><p> 中斷用了兩個(gè),分別是INT0和INT1。兩者工作類似,在此以INT0的流程圖為例。</p><p><b> 4.2電路原理說(shuō)明</b></p><p> 實(shí)現(xiàn)方案的硬件原理圖如
19、附錄圖3,實(shí)現(xiàn)方案的軟件程序見(jiàn)附錄3.2</p><p> P0口的前6個(gè)接口控制12個(gè)燈,每個(gè)接口控制對(duì)稱的兩個(gè)燈。P1口和P2口的8個(gè)接口分別控制對(duì)稱的四個(gè)數(shù)碼管。外部中斷INT0和INT1分別通過(guò)開關(guān)接地。P3的最后一個(gè)接口接喇叭。初始化先將各引腳賦以符號(hào),便于下面的程序賦值。然后用switch語(yǔ)句實(shí)現(xiàn)四個(gè)方向不同燈和計(jì)時(shí)牌的工作與循環(huán)。四個(gè)case語(yǔ)句分別實(shí)現(xiàn)東向綠燈南向黃燈亮2秒,東向綠燈南向紅燈亮8
20、秒,南向綠燈東向黃燈亮2秒,南向綠燈東向紅燈亮8秒。在case語(yǔ)句中通過(guò)while語(yǔ)句實(shí)現(xiàn)計(jì)時(shí)牌數(shù)據(jù)的改變和循環(huán)。利用的是計(jì)時(shí)牌每跳轉(zhuǎn)一個(gè)數(shù)都需要一段延時(shí),通過(guò)跳轉(zhuǎn)數(shù)字的數(shù)目來(lái)實(shí)現(xiàn)交通燈分別亮不同的時(shí)間。使用for語(yǔ)句實(shí)現(xiàn)發(fā)聲報(bào)警的功能。同時(shí)利用外部中斷,實(shí)現(xiàn)對(duì)面路口車輛禁行而行人通行狀態(tài)。在主函數(shù)中要確定外部中斷優(yōu)先,同時(shí)使用while語(yǔ)句實(shí)現(xiàn)循環(huán)。</p><p><b> 4.3實(shí)驗(yàn)現(xiàn)象說(shuō)明&l
21、t;/b></p><p> 東西方向綠燈亮10秒,計(jì)時(shí)牌由10依次減?。荒媳狈较螯S燈亮2秒紅燈亮8秒,對(duì)應(yīng)計(jì)時(shí)牌由2減小由8減??;然后南北方向綠燈亮10秒,計(jì)時(shí)牌由10依次減?。粬|西方向黃燈亮2秒紅燈亮8秒,對(duì)應(yīng)計(jì)時(shí)牌由2減小由8減小。在東西方向紅燈亮的時(shí)候,外部中斷,先報(bào)一聲警,南北方向紅燈和東西方向綠燈亮8秒;在南北方向紅燈亮的時(shí)候,外部中斷,先報(bào)一聲警,東西方向紅燈和南北方向綠燈亮8秒;實(shí)現(xiàn)了交通
22、燈的功能。</p><p><b> 5 結(jié)論</b></p><p> 本次課程設(shè)計(jì)的內(nèi)容是模擬交通指示燈的控制,對(duì)應(yīng)的有幾個(gè)方面的技術(shù)要求,也可以增加幾個(gè)功能。</p><p> 調(diào)整修改后,經(jīng)過(guò)軟件的模擬仿真,本次的課程設(shè)計(jì)成功的達(dá)到了技術(shù)指標(biāo)中的各項(xiàng)要求。</p><p><b> 6 心得體會(huì)
23、</b></p><p> 為時(shí)兩周的專業(yè)課程設(shè)計(jì)三到這里已經(jīng)接近尾聲。在這兩周里我們歷經(jīng)一個(gè)從不懂到懂得,從彷徨到清醒的過(guò)程。有過(guò)思考,有過(guò)疑問(wèn),有過(guò)失望,有過(guò)郁悶,但也有過(guò)知曉,有過(guò)喜悅。通過(guò)這兩周的學(xué)習(xí),我們也收獲不少。</p><p> 這是第三次做課程設(shè)計(jì),有過(guò)兩次經(jīng)驗(yàn),基本的步驟還是比較清楚的。在拿到課程設(shè)計(jì)任務(wù)書后,對(duì)本次課程設(shè)計(jì)的要求有了一定的了解。我開始了
24、實(shí)驗(yàn)方案的設(shè)計(jì)。首先進(jìn)行了資料的查閱,對(duì)這次的課程設(shè)計(jì),我對(duì)它的內(nèi)容還是比較熟悉??梢杂肅語(yǔ)言和匯編語(yǔ)言進(jìn)行編譯程序,我在本次課程設(shè)計(jì)中選擇了C語(yǔ)言。我試著想了幾個(gè)方案,從中選擇了三個(gè)方案進(jìn)行實(shí)現(xiàn)。對(duì)同一個(gè)問(wèn)題,都想了很多種不同的方法。就拿方案一和實(shí)現(xiàn)方案來(lái)說(shuō),方案一利用的是延時(shí),實(shí)現(xiàn)方案則是利用的是計(jì)時(shí)牌每跳轉(zhuǎn)一個(gè)數(shù)都需要一段延時(shí),通過(guò)跳轉(zhuǎn)數(shù)字的數(shù)目來(lái)實(shí)現(xiàn)交通燈分別亮不同的時(shí)間。通過(guò)這次課程設(shè)計(jì),加強(qiáng)了我們動(dòng)手、思考和解決問(wèn)題的能力,
25、查閱了很多課本、資料書,增強(qiáng)了自己對(duì)知識(shí)的理解,很多以前不是很懂的問(wèn)題現(xiàn)在都有了更高層次的理解。</p><p> 我想這次的課程設(shè)計(jì)也是一種鍛煉自己學(xué)習(xí)能力的過(guò)程,這一過(guò)程彌補(bǔ)了被動(dòng)教學(xué)的不足,對(duì)我們的個(gè)人能力的提升也有很大的作用。</p><p> 課程設(shè)計(jì)即將告一段落,我們學(xué)到了不少東西,也有了深刻的體會(huì)。課程設(shè)計(jì)不僅讓我們學(xué)到了一些知識(shí),它更加要告訴我們的是一種方法,是一種精神
26、。它體現(xiàn)了我們自主學(xué)習(xí),自主分析,自我督促的態(tài)度;教會(huì)了我們自主尋找問(wèn)題解決問(wèn)題的方法;告知了我們一種積極探索,永不放棄的精神。</p><p><b> 7 參考文獻(xiàn)</b></p><p> [1] 高鋒.單片微型計(jì)算機(jī)原理與接口技術(shù).科學(xué)出版社,2003年2月</p><p> [2] 揣錦華.面向?qū)ο蟪绦蛟O(shè)計(jì)與VC++實(shí)踐.西安電
27、子科技大學(xué)出版社,2005年2月 </p><p> [3] 彭偉. 單片機(jī) C 語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn) 100 例—基于 8051+Proteus 仿真 .電子工業(yè)出版社,2009年7月</p><p> [4]李繼燦.微型計(jì)算機(jī)系統(tǒng)與接口[M].清華大學(xué)出版社,2005年版</p><p> [5] 紅綠燈控制系統(tǒng)的設(shè)計(jì)[C], 百度文庫(kù)</p>
28、<p><b> 附錄</b></p><p><b> 1 方案一</b></p><p> 1.1 方案一的硬件原理圖</p><p><b> 附錄圖1</b></p><p> 1.2 方案一的軟件程序</p><p> #
29、include<reg51.h> </p><p> #define uchar unsigned char </p><p> #define uint unsigned int </p><p> sbit RED_A=P0^0; </p><p> sbit YELLOW_A=P0^1; </p>
30、<p> sbit GREEN_A=P0^2; </p><p> sbit RED_B=P0^3; </p><p> sbit YELLOW_B=P0^4; </p><p> sbit GREEN_B=P0^5; </p><p> uchar Flash_Count=0,Operation_Type=1
31、; </p><p><b> //延時(shí) </b></p><p> void DelayMS(uint x) </p><p><b> { </b></p><p><b> uchar i; </b></p><p> while
32、(x--) for(i=0;i<120;i++); </p><p><b> } </b></p><p><b> //交通燈切換 </b></p><p> void Traffic_Light() </p><p><b> { </b></p>
33、;<p> switch(Operation_Type) </p><p><b> { </b></p><p> case 1: //東向綠燈南向黃燈亮2秒</p><p> RED_A=1;YELLOW_A=1;GREEN_A=0;</p><p> RED_B=1;YELLOW_B=0;G
34、REEN_B=1; </p><p> DelayMS(1500);</p><p> Operation_Type=2; </p><p><b> break; </b></p><p> case 2://東向綠燈南向紅燈亮8秒</p><p> RED_A=1;YELLOW_A
35、=1;GREEN_A=0;</p><p> RED_B=0;YELLOW_B=1;GREEN_B=1;</p><p> DelayMS(8500);</p><p> Operation_Type=3; </p><p><b> break; </b></p><p> case
36、3: //南向綠燈東向黃燈亮2秒 </p><p> RED_B=1;YELLOW_B=1;GREEN_B=0; </p><p> RED_A=1;YELLOW_A=0;GREEN_A=1;</p><p> DelayMS(1500);</p><p> Operation_Type=4; </p><p>
37、;<b> break; </b></p><p> case 4://南向綠燈東向紅燈亮8秒</p><p> RED_B=1;YELLOW_B=1;GREEN_B=0;</p><p> RED_A=0;YELLOW_A=1;GREEN_A=1;</p><p> DelayMS(8500);</p&
38、gt;<p> Operation_Type=1;</p><p><b> } </b></p><p><b> }</b></p><p> //有行人過(guò),東向黃燈南向綠燈亮3秒 </p><p> void EX_INT0() interrupt 0 </p&g
39、t;<p><b> { </b></p><p> RED_A=1;YELLOW_A=0;GREEN_A=1; </p><p> RED_B=1;YELLOW_B=1;GREEN_B=0; </p><p> DelayMS(2000); </p><p><b> } <
40、;/b></p><p> //有行人過(guò),東向綠燈南向黃燈亮3秒 </p><p> void EX_INT1() interrupt 2 </p><p><b> { </b></p><p> RED_A=1;YELLOW_A=1;GREEN_A=0; </p><p> R
41、ED_B=1;YELLOW_B=0;GREEN_B=1; </p><p> DelayMS(2000); </p><p><b> }</b></p><p> void main() </p><p><b> { </b></p><p><b&g
42、t; while(1)</b></p><p> { IE=0x85; </p><p> PX0=1; //中斷優(yōu)先 </p><p><b> IT0=1; </b></p><p><b> IT1=1; </b></p><p> Traffi
43、c_Light();</p><p><b> } </b></p><p><b> }</b></p><p><b> 2 方案二</b></p><p> 2.1 方案二的硬件原理圖</p><p><b> 附錄圖2<
44、/b></p><p> 2.2 方案二的軟件程序</p><p> #include<reg51.h> </p><p> #define uchar unsigned char </p><p> #define uint unsigned int </p><p> sbit RED_
45、A=P0^0; //東西向燈 </p><p> sbit YELLOW_A=P0^1; </p><p> sbit GREEN_A=P0^2; </p><p> sbit RED_B=P0^3; //南北向燈 </p><p> sbit YELLOW_B=P0^4; </p><p> s
46、bit GREEN_B=P0^5; </p><p> sbit t1=P1^0;</p><p> sbit t2=P1^1;</p><p> uchar Flash_Count=0,Operation_Type=1; //閃爍次數(shù),操作類型變量</p><p><b> //延時(shí) </b></p>
47、;<p> void DelayMS(uint x) </p><p><b> { </b></p><p><b> uchar i; </b></p><p> while(x--) for(i=0;i<120;i++); </p><p><b> }
48、 </b></p><p><b> //交通燈切換 </b></p><p> void Traffic_Light() </p><p><b> {</b></p><p> switch(Operation_Type) </p><p><b
49、> { </b></p><p> {case 1: //東西向綠燈與南北向紅燈亮 </p><p> RED_A=1;YELLOW_A=1;GREEN_A=0; </p><p> RED_B=0;YELLOW_B=1;GREEN_B=1; </p><p> DelayMS(5000); </p>
50、<p> Operation_Type=2; </p><p><b> break; </b></p><p> case 2: //東西向黃燈閃爍,綠燈關(guān)閉 </p><p> DelayMS(300); </p><p> YELLOW_A=~YELLOW_A;GREEN_A=1; </
51、p><p> if(++Flash_Count!=10) return; //閃爍5次 </p><p> Flash_Count=0; </p><p> Operation_Type=3; </p><p><b> break; </b></p><p> case 3: //東西向紅
52、燈,南北向綠燈亮 </p><p> RED_A=0;YELLOW_A=1;GREEN_A=1; </p><p> RED_B=1;YELLOW_B=1;GREEN_B=0; </p><p> DelayMS(5000); </p><p> Operation_Type=4; </p><p><b
53、> break; </b></p><p> case 4: //南北向黃燈閃爍5次 </p><p> DelayMS(300); </p><p> YELLOW_B=~YELLOW_B;GREEN_B=1; </p><p> if(++Flash_Count!=10) return; </p>
54、<p> Flash_Count=0; </p><p> Operation_Type=1; </p><p><b> }</b></p><p><b> }</b></p><p><b> } </b></p><p>
55、 //INT0中斷函數(shù)</p><p> void EX_INT0() interrupt 0 </p><p><b> { </b></p><p> RED_A=1;YELLOW_A=1;GREEN_A=0; </p><p> RED_B=0;YELLOW_B=1;GREEN_B=1; </p&g
56、t;<p> DelayMS(5000); </p><p><b> } </b></p><p> //INT1中斷函數(shù) </p><p> void EX_INT1() interrupt 2 </p><p><b> { </b></p><
57、;p> RED_A=0;YELLOW_A=1;GREEN_A=1; </p><p> RED_B=1;YELLOW_B=1;GREEN_B=0; </p><p> DelayMS(5000); </p><p><b> }</b></p><p> void main() </p>
58、<p><b> { </b></p><p><b> while(1)</b></p><p> { IE=0x85; </p><p> PX0=1; //中斷優(yōu)先 </p><p><b> IT0=1; </b></p><
59、p><b> IT1=1; </b></p><p> Traffic_Light();</p><p><b> } </b></p><p><b> }</b></p><p><b> 3實(shí)現(xiàn)方案</b></p>&l
60、t;p> 3.1 實(shí)現(xiàn)方案的硬件原理圖</p><p><b> 附錄圖3</b></p><p> 3.2 實(shí)現(xiàn)方案的軟件程序</p><p> #include<reg51.h></p><p> #include<intrins.h> </p><p>
61、; #define uchar unsigned char </p><p> #define uint unsigned int</p><p> uchar code DSY_CODE10[]={0xef,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe}; </p><p> uchar code DSY_COD
62、E2[]={0xfd,0xfe};</p><p> uchar code DSY_CODE8[]={0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe}; </p><p> sbit RED_A=P0^0; </p><p> sbit YELLOW_A=P0^1; </p><p> sbit
63、 GREEN_A=P0^2; </p><p> sbit RED_B=P0^3; </p><p> sbit YELLOW_B=P0^4; </p><p> sbit GREEN_B=P0^5;</p><p> sbit BEEP=P3^7;</p><p> void Play(uchar
64、t); </p><p> uchar i=0; </p><p> uchar Flash_Count=0,Operation_Type=1; </p><p><b> //延時(shí) </b></p><p> void DelayMS(uint x) </p><p><
65、;b> { </b></p><p><b> uchar m; </b></p><p> while(x--) for(m=0;m<120;m++); </p><p><b> } </b></p><p><b> //交通燈切換 </b&g
66、t;</p><p> void Traffic_Light() </p><p><b> { </b></p><p> switch(Operation_Type) </p><p><b> { </b></p><p> case 1: //東向綠燈南向黃
67、燈亮2秒</p><p><b> i=0;</b></p><p> while(i<2) </p><p><b> {</b></p><p> RED_A=1;YELLOW_A=1;GREEN_A=0;</p><p> RED_B=1;YELLOW_
68、B=0;GREEN_B=1; </p><p> P2=~DSY_CODE10[i];</p><p> P1=~DSY_CODE2[i];</p><p><b> i=i+1; </b></p><p> DelayMS(750); </p><p><b> } <
69、/b></p><p> Operation_Type=2; </p><p><b> break; </b></p><p> case 2://東向綠燈南向紅燈亮8秒</p><p><b> i=2;</b></p><p> while(i<
70、10) </p><p><b> {</b></p><p> RED_A=1;YELLOW_A=1;GREEN_A=0;</p><p> RED_B=0;YELLOW_B=1;GREEN_B=1;</p><p> P2=~DSY_CODE10[i];</p><p> P1=~D
71、SY_CODE10[i];</p><p><b> i=i+1; </b></p><p> DelayMS(750); </p><p><b> } </b></p><p> Operation_Type=3; </p><p><b> brea
72、k; </b></p><p> case 3: //南向綠燈東向黃燈亮2秒 </p><p><b> i=0;</b></p><p> while(i<2) </p><p><b> {</b></p><p> RED_B=1;YELLO
73、W_B=1;GREEN_B=0; </p><p> RED_A=1;YELLOW_A=0;GREEN_A=1;</p><p> P1=~DSY_CODE10[i];</p><p> P2=~DSY_CODE2[i];</p><p><b> i=i+1; </b></p><p>
74、 DelayMS(750); </p><p><b> } </b></p><p> Operation_Type=4; </p><p><b> break; </b></p><p> case 4://南向綠燈東向紅燈亮8秒</p><p><b&
75、gt; i=2;</b></p><p> while(i<10) </p><p><b> {</b></p><p> RED_B=1;YELLOW_B=1;GREEN_B=0;</p><p> RED_A=0;YELLOW_A=1;GREEN_A=1;</p><
76、p> P1=~DSY_CODE10[i];</p><p> P2=~DSY_CODE10[i];</p><p><b> i=i+1; </b></p><p> DelayMS(750); </p><p><b> } </b></p><p> O
77、peration_Type=1;</p><p><b> } </b></p><p><b> }</b></p><p> //有行人過(guò),東向紅燈南向綠燈亮8秒 </p><p> void EX_INT0() interrupt 0 </p><p><
78、b> { </b></p><p> if(RED_B==0)</p><p> {Play(2) ; </p><p><b> i=0;</b></p><p> while(i<8) </p><p><b> { </b><
79、/p><p> RED_A=0;YELLOW_A=1;GREEN_A=1; </p><p> RED_B=1;YELLOW_B=1;GREEN_B=0; </p><p> P1=~DSY_CODE8[i];</p><p> P2=~DSY_CODE8[i];</p><p><b> i=i+1;
80、 </b></p><p> DelayMS(750);</p><p><b> }</b></p><p><b> i=3;</b></p><p> while(i<8) </p><p><b> {</b><
81、/p><p> RED_A=1;YELLOW_A=1;GREEN_A=0; </p><p> RED_B=0;YELLOW_B=1;GREEN_B=1; </p><p> P1=~DSY_CODE8[i];</p><p> P2=~DSY_CODE8[i];</p><p><b> i=i+1;
82、 </b></p><p> DelayMS(750);</p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p> //有行人過(guò),東向綠燈南向黃燈亮8
83、秒 </p><p> void EX_INT1() interrupt 2 </p><p> { if(RED_A==0)</p><p><b> {</b></p><p><b> Play(2);</b></p><p><b> i=0;&
84、lt;/b></p><p> while(i<8) </p><p><b> {</b></p><p> RED_A=1;YELLOW_A=1;GREEN_A=0; </p><p> RED_B=0;YELLOW_B=1;GREEN_B=1; </p><p> P1
85、=~DSY_CODE8[i];</p><p> P2=~DSY_CODE8[i];</p><p><b> i=i+1; </b></p><p> DelayMS(750);</p><p><b> }</b></p><p><b> i=3;&
86、lt;/b></p><p> while(i<8) </p><p><b> { </b></p><p> RED_A=0;YELLOW_A=1;GREEN_A=1; </p><p> RED_B=1;YELLOW_B=1;GREEN_B=0; </p><p> P
87、1=~DSY_CODE8[i];</p><p> P2=~DSY_CODE8[i];</p><p><b> i=i+1; </b></p><p> DelayMS(750);</p><p><b> } </b></p><p><b> }
88、</b></p><p><b> }</b></p><p><b> //按周期t發(fā)音 </b></p><p> void Play(uchar t) </p><p> { uchar i; </p><p> for(i=0;i<100;
89、i++) </p><p><b> { </b></p><p> BEEP=~BEEP; </p><p> DelayMS(t); </p><p><b> } </b></p><p><b> BEEP=0; </b></p&
90、gt;<p><b> } </b></p><p> void main() </p><p><b> { BEEP=0;</b></p><p><b> while(1)</b></p><p> { IE=0x85; </p>&
91、lt;p> PX0=1; //中斷優(yōu)先 </p><p><b> IT0=1; </b></p><p><b> IT1=1; </b></p><p> Traffic_Light();</p><p><b> } </b></p><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)
- 交通指示燈課程設(shè)計(jì)
- 交通指示燈課程設(shè)計(jì)2
- 數(shù)電課程設(shè)計(jì)---交通指示燈
- 課程設(shè)計(jì)--交通指示燈電路設(shè)計(jì)
- 自動(dòng)控制的交通指示燈課程設(shè)計(jì)說(shuō)明
- 電子技術(shù)課程設(shè)計(jì)-- 交通指示燈電路
- 交通指示燈控制系統(tǒng)畢業(yè)論文
- 交通指示燈控制系統(tǒng)畢業(yè)論文
- 交通指示燈控制系統(tǒng)畢業(yè)論文
- 交通指示燈電路設(shè)計(jì)-數(shù)字電子技術(shù)課程設(shè)計(jì)說(shuō)明書
- 課程設(shè)計(jì)-安全指示燈控制電路設(shè)計(jì)
- 課程設(shè)計(jì)---汽車轉(zhuǎn)彎剎車指示燈控制電路
- 數(shù)邏課程設(shè)計(jì)--病房呼叫指示燈電路的設(shè)計(jì)
- 交通燈模擬控制課程設(shè)計(jì)
- 指示燈.dwg
- 指示燈.dwg
- 指示燈.dwg
- 指示燈圖標(biāo)
評(píng)論
0/150
提交評(píng)論