2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論