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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  交通管理與控制課程設(shè)計(jì)</p><p>  題目:道路交叉口信號(hào)燈控制仿真</p><p>  學(xué) 院: 信息工程學(xué)院 專(zhuān) 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p>  班 級(jí): 學(xué) 號(hào): </p><p>  學(xué)生姓名:

2、 指導(dǎo)老師: </p><p>  課設(shè)成績(jī): 完成日期:2011年6月18日</p><p><b>  目 錄</b></p><p><b>  1.摘 要3</b></p><p>  2.課程設(shè)計(jì)內(nèi)容和要求3</p

3、><p><b>  3.系統(tǒng)設(shè)計(jì)3</b></p><p>  3.1 設(shè)計(jì)原理3</p><p>  3.2 硬件設(shè)計(jì)部分4</p><p>  3.2.1單片機(jī)最小系統(tǒng)5</p><p>  3.2.2顯示電路5</p><p>  3.3 程序算法描述7

4、</p><p>  3.3.1 延時(shí)算法7</p><p>  3.3.2 相位設(shè)計(jì)算法7</p><p>  3.3.3 黃燈閃爍算法8</p><p>  3.3.4 數(shù)碼管顯示算法8</p><p>  4.運(yùn)行結(jié)果及分析8</p><p><b>  5.體會(huì)感想

5、8</b></p><p><b>  參考文獻(xiàn)9</b></p><p><b>  任務(wù)分工9</b></p><p><b>  附錄19</b></p><p><b>  1.摘 要</b></p><p&

6、gt;  在城鎮(zhèn)街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號(hào)燈,其中紅燈亮,表示該條道路禁止通行;黃燈亮表示該條道路上未過(guò)停車(chē)線(xiàn)的車(chē)輛停止通行,已過(guò)停車(chē)線(xiàn)的車(chē)輛繼續(xù)通行;綠燈亮表示該條道路允許通行。交通燈控制電路自動(dòng)控制十字路口、丁字路口和環(huán)形路口的紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各種車(chē)輛和行人安全通行,實(shí)現(xiàn)交通管理的自動(dòng)化。</p><p>  2.課程設(shè)計(jì)內(nèi)容和要

7、求</p><p><b>  課程設(shè)計(jì)內(nèi)容:</b></p><p>  十字路口的四相位控制;</p><p>  丁字路口的三相位控制;</p><p><b>  環(huán)道相位控制。</b></p><p><b>  課程設(shè)計(jì)基本要求:</b>&l

8、t;/p><p>  使用proteus和keil兩款軟件進(jìn)行模擬設(shè)計(jì);</p><p>  每個(gè)進(jìn)口道必須有紅、黃、綠三色交通信號(hào)燈;</p><p>  在綠燈變綠燈期間黃燈亮,并要求沒(méi)秒閃亮一次;</p><p>  各個(gè)進(jìn)口道的通行時(shí)間和黃燈亮的時(shí)間均可在0~99秒內(nèi)任意設(shè)定;</p><p>  內(nèi)容任選一個(gè),或

9、者全選做。</p><p><b>  3.系統(tǒng)設(shè)計(jì)</b></p><p><b>  3.1 設(shè)計(jì)原理</b></p><p>  本次的交通管理與控制課程設(shè)計(jì),我們?nèi)齻€(gè)人主要做的是丁字路口三相位的信號(hào)燈控制設(shè)計(jì),包括西進(jìn)口、東進(jìn)口和北進(jìn)口的信號(hào)燈設(shè)計(jì)。在查閱書(shū)上內(nèi)容和相關(guān)資料后,我們?cè)O(shè)計(jì)的三相位包括:</p&g

10、t;<p>  第一相位是西進(jìn)口允許直行禁止左轉(zhuǎn),東進(jìn)口允許直行和右轉(zhuǎn),北進(jìn)口禁止左轉(zhuǎn)和右轉(zhuǎn)。設(shè)計(jì)相位圖如圖1:</p><p><b>  圖1 第一相位圖</b></p><p>  第二相位是西進(jìn)口允許左轉(zhuǎn)和直行,東進(jìn)口禁止直行和右轉(zhuǎn),北進(jìn)口允許右轉(zhuǎn)禁止左轉(zhuǎn)。設(shè)計(jì)相位圖如圖2:</p><p><b>  圖2 第

11、二相位圖</b></p><p>  第三相位是西進(jìn)口禁止直行和左轉(zhuǎn),東進(jìn)口禁止直行允許右轉(zhuǎn),北進(jìn)口允許左轉(zhuǎn)和右轉(zhuǎn)。設(shè)計(jì)相位圖如圖3:</p><p><b>  圖3 第三相位圖</b></p><p>  我們這樣設(shè)計(jì)可以使每個(gè)進(jìn)口道都不存在沖突點(diǎn),使得每個(gè)進(jìn)口道設(shè)計(jì)最合理,同時(shí)也滿(mǎn)足課程設(shè)計(jì)要求。</p><

12、;p>  3.2 硬件設(shè)計(jì)部分</p><p>  本次的交通管理與控制課程設(shè)計(jì),我們利用AT89C51單片機(jī)最小系統(tǒng)作為最主要部分進(jìn)行電路控制,用LED-GREEN作為綠燈,LED-RED作為紅燈,LED-YELLOW作為黃燈,使用7SEG-BCD數(shù)碼管對(duì)各個(gè)進(jìn)口道的通行時(shí)間進(jìn)行控制顯示。其中電路連接時(shí)為了使得電路圖看得清晰明了,我們沒(méi)有采用傳統(tǒng)的線(xiàn)路連接法,而是使用終端模式。下面對(duì)每部分進(jìn)行介紹:<

13、;/p><p><b>  單片機(jī)最小系統(tǒng)</b></p><p>  單片機(jī)最小系統(tǒng)包括AT89C51單片機(jī)芯片,時(shí)鐘電路和復(fù)位電路。其中AT89C51單片機(jī)芯片是整個(gè)系統(tǒng)的核心,程序燒錄到芯片中,通過(guò)芯片控制電路;時(shí)鐘電路由一個(gè)晶振和兩個(gè)電容構(gòu)成,用于產(chǎn)生系統(tǒng)時(shí)鐘;復(fù)位電路由一個(gè)電容、一個(gè)電阻和一個(gè)開(kāi)關(guān)構(gòu)成,可以有上電復(fù)位、手動(dòng)復(fù)位和看門(mén)狗復(fù)位。最小系統(tǒng)電路圖如圖4:

14、</p><p>  圖4 單片機(jī)最小系統(tǒng)圖</p><p><b>  顯示電路</b></p><p>  我們利用LED和7SEG-BCD數(shù)碼管對(duì)顯示電路進(jìn)行設(shè)計(jì)。系統(tǒng)總設(shè)計(jì)圖如圖7:</p><p>  圖5 LED示意圖圖6 7SEG-BCD數(shù)碼管示意圖</p><p>&l

15、t;b>  圖5 系統(tǒng)總設(shè)計(jì)圖</b></p><p>  3.3 程序算法描述</p><p>  3.3.1 延時(shí)算法</p><p>  我們利用兩函數(shù)來(lái)設(shè)計(jì)延時(shí)算法,包括微妙函數(shù)和毫秒函數(shù),程序如下:</p><p>  void DelayUs2x(uchar t){ //微妙函數(shù)</p><

16、p>  while(--t);</p><p><b>  }</b></p><p>  void DelayMS(uint t){//毫秒函數(shù),延時(shí)t毫秒</p><p>  while(t--){</p><p>  DelayUs2x(245);</p><p>  DelayUs

17、2x(245); </p><p>  //時(shí)間運(yùn)算為:2*(2*245+5)=990us,約等于1 ms</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.3.2 相位設(shè)計(jì)算法</p><p>  在設(shè)計(jì)交通信號(hào)燈函

18、數(shù)時(shí),我們使用了switch…case…選擇分支,并且分6個(gè)分支,其中前3個(gè)case是用來(lái)設(shè)計(jì)相位,舉例說(shuō)明程序如下:</p><p>  case 1://第一相位</p><p><b>  //初始化各端口</b></p><p>  RED_WEST=1;YELLOW_WEST=1;</p><p>  GRE

19、EN_LEFT_WEST=1;GREEN_STRIGHT_WEST=0;</p><p>  RED_EAST=1;YELLOW_EAST=1;</p><p>  GREEN_RIGHT_EAST=0;GREEN_STRIGHT_EAST=0;</p><p>  RED_NORTH=0;YELLOW_NORTH=1;</p><p>  

20、GREEN_RIGHT_NORTH=1;GREEN_LEFT_NORTH=1;</p><p>  for(i=20;i>=0;i--){ //設(shè)計(jì)第一相位通行20秒</p><p>  num_display(i); //調(diào)用顯示函數(shù),從20顯示到0</p><p>  DelayMS(1000); //延時(shí)1秒</p>&l

21、t;p>  if(i==0){ //當(dāng)i的值為0</p><p><b>  i=99;</b></p><p>  break; </p><p>  //退出for循環(huán),避免數(shù)的回繞而無(wú)法退出for循環(huán)</p><p><b>  }</b></p>&

22、lt;p><b>  }</b></p><p>  Operation_Type = 4; //轉(zhuǎn)到case4進(jìn)行黃燈閃爍</p><p><b>  break;</b></p><p>  3.3.3 黃燈閃爍算法</p><p>  switch…case…選擇分支的后3個(gè)cas

23、e是用來(lái)設(shè)計(jì)3次黃燈閃爍,列舉其中一個(gè),程序如下:</p><p>  case 4: //進(jìn)行黃燈閃爍</p><p>  if(Flash_Count%2==0) //當(dāng)Flash_Count為偶數(shù)是進(jìn)行閃爍</p><p>  num_display(3-Flash_Count/2); //調(diào)用顯示函數(shù),從3顯示到0<

24、;/p><p>  GREEN_RIGHT_EAST=1;GREEN_STRIGHT_EAST=1; //初始化各端口</p><p>  YELLOW_EAST=~YELLOW_EAST; //YELLOW_EAST取反</p><p>  DelayMS(500); //延時(shí)0.5秒</p><p>  if(

25、++Flash_Count!=7) //if判斷</p><p>  return;//如果還未到7則回到case4開(kāi)頭</p><p>  Flash_Count=0;//將Flash_Count復(fù)位</p><p>  Operation_Type=2;//轉(zhuǎn)到case2</p><p><b>

26、;  break;</b></p><p>  3.3.4 數(shù)碼管顯示算法</p><p>  因?yàn)槲覀冞x用的是7SEG-BCD數(shù)碼管進(jìn)行顯示,其特點(diǎn)是管腳只有4個(gè),可以直接和單片機(jī)芯片的管腳相連。又其是BCD數(shù)碼管,特點(diǎn)是直接給數(shù)碼管便可直接進(jìn)行數(shù)據(jù)顯示。程序描述如下:</p><p>  void num_display(uint num){

27、//7SEG-BCD顯示函數(shù)</p><p>  uint a,b,c; //定義三個(gè)無(wú)符號(hào)整數(shù)</p><p>  a=num/10; //a存的是十位數(shù)</p><p>  b=num%10; //b存的是個(gè)位數(shù)</p><p><b>  c=b;</b></p>

28、<p>  a=a<<4; //a左移4位</p><p>  c=c|a; //進(jìn)行或運(yùn)算,得到a和b的組合數(shù)</p><p>  dataport=c; </p><p>  //將c的值給P2端口,高4位的是十位數(shù)a的值,低4位的值是個(gè)位數(shù)b的值</p><p><b&g

29、t;  }</b></p><p><b>  4.運(yùn)行結(jié)果及分析</b></p><p>  當(dāng)把設(shè)計(jì)好電路,并把程序裝載到單片機(jī)中,啟動(dòng)電源后可以看到LED燈按照設(shè)計(jì)的相位開(kāi)始點(diǎn)亮,并且數(shù)碼管也在進(jìn)行數(shù)據(jù)的遞減,完全吻合程序設(shè)計(jì)。</p><p><b>  5.體會(huì)感想</b></p>&l

30、t;p>  通過(guò)這次課程設(shè)計(jì),我受益匪淺,一方面是對(duì)學(xué)過(guò)的課內(nèi)知識(shí)的溫習(xí)和鞏固,一方面是鍛煉了我的動(dòng)手能力、分析能力、寫(xiě)作能力和團(tuán)隊(duì)協(xié)作精神,再一方面是學(xué)會(huì)了使用proteus和keil這兩款軟件,為今后的學(xué)習(xí)做好了鋪墊。感謝XX老師,謝謝老師的講課和課設(shè)指導(dǎo)!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 吳兵,李曄等.交通管理與控

31、制[M].北京:人民交通出版社,2010.</p><p>  [2] 袁俊泉.單片機(jī)設(shè)計(jì)及其應(yīng)用.西安:西安電子科技大學(xué)出版社,2002.</p><p><b>  任務(wù)分工</b></p><p>  在本次課設(shè)中,我們的分工如下:XX負(fù)責(zé)課設(shè)報(bào)告的撰寫(xiě),XX和XX負(fù)責(zé)程序和電路圖的設(shè)計(jì)。</p><p><

32、b>  附錄1</b></p><p>  #include<reg52.h></p><p>  #define uchar unsigned char //類(lèi)型重定義</p><p>  #define uint unsigned int </p><p>  #define dataport P2

33、 //定義P2端口</p><p>  //定義西進(jìn)口交通燈的端口號(hào)</p><p>  sbit RED_WEST=P0^0;</p><p>  sbit YELLOW_WEST=P0^1;</p><p>  sbit GREEN_LEFT_WEST=P0^2;</p><p>  sbit GREE

34、N_STRIGHT_WEST=P0^3;</p><p>  //定義東進(jìn)口交通燈的端口號(hào)</p><p>  sbit RED_EAST=P0^4;</p><p>  sbit YELLOW_EAST=P0^5;</p><p>  sbit GREEN_RIGHT_EAST=P0^6;</p><p>  sbi

35、t GREEN_STRIGHT_EAST=P0^7;</p><p>  //定義北進(jìn)口交通燈的端口號(hào)</p><p>  sbit RED_NORTH=P1^0;</p><p>  sbit YELLOW_NORTH=P1^1;</p><p>  sbit GREEN_RIGHT_NORTH=P1^2;</p><p

36、>  sbit GREEN_LEFT_NORTH=P1^3;</p><p>  uchar Flash_Count = 0; //閃爍計(jì)數(shù)變量</p><p>  Operation_Type = 1; //操作類(lèi)型變量</p><p>  void num_display(uint num) {//7SEG-BCD顯示函數(shù)</p

37、><p>  uint a,b,c; //定義三個(gè)無(wú)符號(hào)整數(shù)</p><p>  a=num/10; //a存的是十位數(shù)</p><p>  b=num%10; //b存的是個(gè)位數(shù)</p><p><b>  c=b;</b></p><p>  a=a<<4

38、; //a左移4位</p><p>  c=c|a; //進(jìn)行或運(yùn)算,得到a和b的組合數(shù)</p><p>  dataport=c;</p><p>  //將c的值給P2端口,高4位的是十位數(shù)a的值,低4位的值是個(gè)位數(shù)b的值</p><p><b>  }</b></p><

39、p>  void DelayUs2x(uchar t){ //延時(shí)函數(shù)</p><p>  while(--t);</p><p><b>  }</b></p><p>  void DelayMS(uint t){ //延時(shí)t毫秒</p><p>  while(t--){</p>&l

40、t;p>  DelayUs2x(245);</p><p>  DelayUs2x(245); //時(shí)間運(yùn)算為:2*(2*245+5)=990us,約等于1 ms</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Traffic

41、_light() //交通信號(hào)燈函數(shù)</p><p><b>  {</b></p><p><b>  uint i;</b></p><p>  switch(Operation_Type) { //switch選擇</p><p>

42、  case 1: //第一相位</p><p><b>  //初始化各端口</b></p><p>  RED_WEST=1;YELLOW_WEST=1;</p><p>  GREEN_LEFT_WEST=1;GREEN_STRIGHT_WEST=0;</p><p>  R

43、ED_EAST=1;YELLOW_EAST=1;</p><p>  GREEN_RIGHT_EAST=0;GREEN_STRIGHT_EAST=0;</p><p>  RED_NORTH=0;YELLOW_NORTH=1;</p><p>  GREEN_RIGHT_NORTH=1;GREEN_LEFT_NORTH=1;</p><p>

44、  for(i=20;i>=0;i--){ //設(shè)計(jì)第一相位通行20秒</p><p>  num_display(i); //調(diào)用顯示函數(shù),從20顯示到0</p><p>  DelayMS(1000); //延時(shí)1秒</p><p>  if(i==0) { //當(dāng)i的值為0</p><p>

45、;<b>  i=99;</b></p><p>  break;//退出for循環(huán),避免數(shù)的回繞而無(wú)法退出for循環(huán)</p><p><b>  }</b></p><p><b>  }</b></p><p>  Operation_Type = 4; //轉(zhuǎn)到

46、case4進(jìn)行黃燈閃爍</p><p><b>  break;</b></p><p>  case 2: //第二相位</p><p><b>  //初始化各端口</b></p><p>  RED_WEST=1;YELLOW_WEST=1;</p><p&g

47、t;  GREEN_LEFT_WEST=0;GREEN_STRIGHT_WEST=0;</p><p>  RED_EAST=0;YELLOW_EAST=1;</p><p>  GREEN_RIGHT_EAST=1;GREEN_STRIGHT_EAST=1;</p><p>  RED_NORTH=1;YELLOW_NORTH=1;</p><

48、p>  GREEN_RIGHT_NORTH=0;GREEN_LEFT_NORTH=1;</p><p>  for(i=25;i>=0;i--){ //設(shè)計(jì)第二相位通行25秒</p><p>  num_display(i); //調(diào)用顯示函數(shù),從25顯示到0</p><p>  DelayMS(1000); //延時(shí)1秒<

49、;/p><p><b>  if(i==0){</b></p><p><b>  i=99;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }&

50、lt;/b></p><p>  Operation_Type = 5; //跳到case5進(jìn)行黃燈閃爍</p><p><b>  break;</b></p><p>  case 3: //第三相位</p><p><b>  //初始化各端口</b></p&g

51、t;<p>  RED_WEST=0;YELLOW_WEST=1;</p><p>  GREEN_LEFT_WEST=1;GREEN_STRIGHT_WEST=1;</p><p>  RED_EAST=1;YELLOW_EAST=1;</p><p>  GREEN_RIGHT_EAST=0;GREEN_STRIGHT_EAST=1;</p&

52、gt;<p>  RED_NORTH=1;YELLOW_NORTH=1;</p><p>  GREEN_RIGHT_NORTH=0;GREEN_LEFT_NORTH=0;</p><p>  for(i=30;i>=0;i--){ //設(shè)計(jì)第三相位通行30秒</p><p>  num_display(i); //調(diào)用顯示函

53、數(shù),從30顯示到0</p><p>  DelayMS(1000); //延時(shí)1秒</p><p><b>  if(i==0){</b></p><p><b>  i=99;</b></p><p><b>  break;</b></p><p&

54、gt;<b>  }</b></p><p><b>  }</b></p><p>  Operation_Type = 6; //跳到case6進(jìn)行黃燈閃爍</p><p><b>  break;</b></p><p>  case 4: //進(jìn)行

55、黃燈閃爍</p><p>  if(Flash_Count%2==0) //當(dāng)Flash_Count為偶數(shù)是進(jìn)行閃爍</p><p>  num_display(3-Flash_Count/2); //調(diào)用顯示函數(shù),從3顯示到0</p><p>  GREEN_RIGHT_EAST=1;GREEN_STRIGHT_EAST=1; //初始化各端

56、口</p><p>  YELLOW_EAST=~YELLOW_EAST; //YELLOW_EAST取反</p><p>  DelayMS(500); //延時(shí)0.5秒</p><p>  if(++Flash_Count!=7) //if判斷</p><p>  return; //如果還未到7

57、則回到case4開(kāi)頭</p><p>  Flash_Count=0; //將Flash_Count復(fù)位</p><p>  Operation_Type=2; //轉(zhuǎn)到case2</p><p><b>  break;</b></p><p>  case 5: <

58、/p><p>  if(Flash_Count%2==0)</p><p>  num_display(3-Flash_Count/2);</p><p>  GREEN_LEFT_WEST=1;GREEN_STRIGHT_WEST=1;</p><p>  YELLOW_WEST=~YELLOW_WEST; //YEL

59、LOW_WEST取反</p><p>  DelayMS(500);</p><p>  if(++Flash_Count!=7) </p><p><b>  return;</b></p><p>  Flash_Count=0;</p><p>  Operation_Type=3;

60、 //轉(zhuǎn)到case3</p><p><b>  break;</b></p><p><b>  case 6:</b></p><p>  if(Flash_Count%2==0)</p><p>  num_display(3-Flash_Count/2);</p>&

61、lt;p>  GREEN_RIGHT_NORTH=1;GREEN_LEFT_NORTH=1;</p><p>  YELLOW_NORTH=~YELLOW_NORTH; //YELLOW_NORTH取反</p><p>  DelayMS(500);</p><p>  if(++Flash_Count!=7) </p><p>&l

62、t;b>  return;</b></p><p>  Flash_Count=0;</p><p>  Operation_Type=1; //轉(zhuǎn)到case1</p><p><b>  break;</b></p><p><b>  }</b></p>

63、;<p><b>  }</b></p><p>  void main()//主函數(shù)</p><p><b>  {</b></p><p>  while(1) //死循環(huán)</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)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論