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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題目 </p><p>  專業(yè)班級 </p><p>  學號 </p>

2、<p>  姓名 </p><p>  指導教師姓名、職稱 講師 </p><p>  所屬助學單位 </p><p><b>  年 月 日</b></p><p&

3、gt;<b>  目 錄</b></p><p>  畢業(yè)(設計)論文開題報告書3</p><p><b>  一、緒論5</b></p><p><b>  二、摘要5</b></p><p><b>  三、關鍵詞5</b></p&

4、gt;<p>  四、系統(tǒng)的硬件配置5</p><p>  1、單片機的簡介5</p><p>  2、單片機的應用6</p><p>  3、keil uvision2 開發(fā)集成環(huán)境介紹7</p><p>  4、protues仿真軟件介紹8</p><p><b>  五、設計方案

5、9</b></p><p><b>  1、實驗環(huán)境9</b></p><p>  2、設計原理以及要求9</p><p>  3、設計過程以及相關圖片說明10</p><p>  六、設計總結與思考30</p><p><b>  七、參考文獻30</b&

6、gt;</p><p><b>  八、附錄31</b></p><p>  畢業(yè)(設計)論文開題報告書</p><p><b>  一、緒論</b></p><p>  隨著人們生活水平的提高,城市里的車輛越來越多,交通也越來越擁擠,此時,交通燈起到了非常重要的作用。城市的十字交叉路口紅綠燈控制

7、系統(tǒng)主要負責東西和南北方向的紅綠燈的狀態(tài)和轉換順序,關鍵在于狀態(tài)之間的轉換要進行的適當?shù)难訒r。當南北方向紅燈亮時,此時要求東西方向綠燈亮,這時東西車輛運行,南北方向停止;接著有一個紅綠燈轉換的過度時期,此時黃燈亮,意在進行警告;然后南北方向綠燈亮,東西方向紅燈亮。就這樣交通燈控制系統(tǒng)永不停息的控制著城市的交通。</p><p><b>  二、摘要</b></p><p&

8、gt;  本次設計的內容是對交通信號燈的控制,主要是進行仿真設計,將keil uvision2 和 protues混合是用來進行仿真,在keil平臺上編寫源程序,生成.hex文件,然后在protues里面畫出仿真圖并將生成的.hex文件加載到單片機中,進行仿真。</p><p><b>  三、關鍵詞</b></p><p>  keil uvision2 prot

9、ues 仿真 控制 交通燈 </p><p><b>  四、系統(tǒng)的硬件配置</b></p><p><b>  1、單片機的簡介</b></p><p>  單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器

10、/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統(tǒng)。</p><p>  早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領域要求的提高,開始出現(xiàn)了16位單片機,但

11、因為性價比不理想并未得到很廣泛的應用。90年代后隨著消費電子產品大發(fā)展,單片機技術得到了巨大提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機主頻已經超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端[1]的型號也只有

12、10美元。當代單片機系統(tǒng)已經不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。</p><p><b>  2、單片機的應用</b></p><p>  在智能儀器儀表中的應用:在各類儀器儀表中引入單片機,使儀器儀表智能化,提高測試的自

13、動化程度和精度,簡化儀器儀表的硬件結構,提高其性能價格比。 </p><p>  在機電一體化中的應用:機電一體化產品是指集機械、微電子技術、計算機技術于一本,具有智能化特征的電子產品。 </p><p>  在實時過程控制中的應用:用單片機實時進行數(shù)據(jù)處理和控制,使系統(tǒng)保持最佳工作狀態(tài),提高系統(tǒng)的工作效率和產品的質量。 </p><p>  在人類生活中的應

14、用:目前國外各種家用電器已普通采用單片機代替?zhèn)鹘y(tǒng)的控制電路。 </p><p>  在其它方面的應用:單片機除以上各方面的應用,它還廣泛應用于辦公自動化領域、商業(yè)營銷領域、汽車及通信、計算機外部設備、模糊控制等各領域中</p><p>  3、keil uvision2 開發(fā)集成環(huán)境介紹</p><p>  Keil uVision2是美國Keil Softwar

15、e公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用,而且大大的提高了工作效率和項目開發(fā)周期,他還能嵌入?yún)R編,您可以在關鍵的位置嵌入,使程序達到接近于匯編的工作效率。</p><p>  Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面,使您能在很短的時間內就能學會

16、使用keil c51來開發(fā)您的單片機應用程序 。 另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p>  Keil uVision2是目前使用廣泛的單片機開發(fā)軟件,它集成了源程序編輯和程序調試于一體,支持匯編、C、PL/M語言。</p><p>

17、;  4、protues仿真軟件介紹</p><p>  Protues軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Pr

18、oteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列

19、處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p>  Protues軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:   </p><p> ?。?)原理布圖   </p><p>  (2)PCB自動或人工布線   </p><p> ?。?)SPICE電路仿真   </

20、p><p><b>  革命性的特點   </b></p><p> ?。?)互動的電路仿真   </p><p>  用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。   </p><p> ?。?)仿真處理器及其外圍電路   </p><

21、p>  可以仿真51系列、AVR、PIC、ARM、等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Protues建立了完備的電子設計開發(fā)環(huán)境。</p><p><b>  五、設計方案</b></p><p><b>  1、實驗環(huán)境</b>&l

22、t;/p><p>  電腦一臺 keil uvision2集成開發(fā)環(huán)境 protues仿真軟件</p><p>  2、設計原理以及要求</p><p><b>  設計原理如下:</b></p><p>  通過單片機進行核心控制交通燈的狀態(tài)和轉換順序以及其延時的時間(時間是定時器精確定時的),通過外部中斷控制交通燈的

23、計時、運行、停止;在控制的過程中將燈亮的時間讓數(shù)碼管顯示。</p><p><b>  設計要求如下:</b></p><p> ?。?)信號燈受一個起動開關控制,當起動開關接通時,信號系統(tǒng)開始工作,且先南北紅燈亮,東西綠燈亮。當起動開關斷開時,所有信號燈都熄滅。</p><p>  (2)南北紅燈亮維持25S。在南北紅燈亮的同時東西綠燈也亮,

24、并維持20S。到20S時,東西綠燈閃爍,閃爍3S后熄滅。在東西綠燈熄滅時,東西黃燈亮,并維持2S。到2S時,東西黃燈熄,東西紅燈亮。同時,南北紅燈熄滅,南北綠燈亮。</p><p> ?。?)東西紅燈亮維持30S。南北綠燈亮維持25S。然后閃爍3S,熄滅。同時南北黃燈亮,維持2S后熄滅,這時南北紅燈亮,東西綠燈亮。</p><p><b> ?。?)周而復始。</b>

25、</p><p>  3、設計過程以及相關圖片說明</p><p>  (1)仿真原理圖(在protues里面按要求做的仿真圖,還沒有運行)</p><p>  (2)在keil uvision2上進行源程序的設計,設計滿足以上原理圖的要求</p><p>  選擇“project”→“New project”新建一個項目</p>

26、<p>  選擇數(shù)據(jù)庫以及所用單片機芯片的類型</p><p>  選擇“file” →“New”新建一個文本文檔,并保存為.c的文件</p><p>  右鍵點擊“Source Group1”→“Add File To Group‘Source Group1’”將剛才保存的.c文件加載到次項目中</p><p><b>  進行源程序的編寫

27、:</b></p><p>  #include<reg51.h></p><p>  #include<absacc.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p

28、>  sbit green_0=P1^0; //定義P1口的5個管腳</p><p>  sbit yellow_1=P1^1;</p><p>  sbit red_2=P1^2;</p><p>  sbit green_3=P1^5;</p><p>  sbit yellow_4=P1^4;</p><p

29、>  sbit red_5=P1^3;</p><p>  void delay(uint t); //延時函數(shù)聲明</p><p>  uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,</p><p>  0x92,0x82,0xF8,0x80,0x90};</p><p>  //定義數(shù)

30、碼管顯示0~9不同數(shù)字的代碼</p><p>  char flag,count,second,i,j;</p><p>  void display()</p><p><b>  {</b></p><p>  P0=table[second/10]; //數(shù)碼管數(shù)字顯示賦值</p><p>

31、;  P2=table[second%10];</p><p><b>  }</b></p><p>  void delay(uint t) //延時函數(shù)</p><p><b>  {</b></p><p>  for( ;t;t--){}</p><p>&l

32、t;b>  }</b></p><p>  void main() //主函數(shù)</p><p><b>  {</b></p><p>  second=25;</p><p>  TMOD=0x01; //選擇定時器工作方式</p><p>  TH0=(65536-

33、50000)/256; </p><p>  TL0=(65536-50000)%256;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  TR0=0;</b></p><p&

34、gt;  IT0=1; //選擇中斷方式</p><p><b>  IT1=1;</b></p><p>  EX0=1; //中斷允許</p><p><b>  EX1=1;</b></p><p><b>  while(1)</b></p>

35、<p><b>  {</b></p><p>  display();</p><p>  if(flag==0)</p><p><b>  {</b></p><p>  if((second<=25)&(second>=6))</p><p&

36、gt;<b>  {</b></p><p>  green_0=0;yellow_1=0;red_2=1; </p><p>  //南北方向紅燈亮,綠黃燈不亮</p><p>  green_3=1;yellow_4=0;red_5=0;</p><p>  //東西方向綠燈亮,紅黃燈不亮</p>&l

37、t;p><b>  }</b></p><p>  if((second<=5)&(second>=3))</p><p><b>  {</b></p><p>  green_0=0;yellow_1=0;red_2=1;</p><p>  //南北方向紅燈亮,綠黃燈

38、不亮</p><p>  yellow_4=0;red_5=0; </p><p>  for(i=0;i<5;i++) </p><p>  //東西方向綠燈閃爍2秒,紅黃燈不亮</p><p><b>  {</b></p><p>  green_3=~green

39、_3;</p><p>  delay(200);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if((second<=2)&(second>=0))</p><p><b>  {<

40、/b></p><p>  green_0=0;yellow_1=0;red_2=1; </p><p>  //南北方向紅燈亮,綠黃燈不亮</p><p>  green_3=0;yellow_4=1;red_5=0; </p><p>  //東西方向黃燈亮,紅綠燈不亮</p><p><b>  

41、}</b></p><p><b>  }</b></p><p>  if(flag==1)</p><p><b>  {</b></p><p>  if((second<=30)&(second>=6))</p><p><b&g

42、t;  {</b></p><p>  green_0=1;yellow_1=0;red_2=0; </p><p>  //南北方向綠燈亮,紅黃燈不亮</p><p>  green_3=0;yellow_4=0;red_5=1; </p><p>  //東西方向紅燈亮,綠黃燈不亮</p><p>&l

43、t;b>  }</b></p><p>  if((second<=5)&(second>=3))</p><p><b>  {</b></p><p>  yellow_1=0;red_2=0; </p><p>  //南北方向綠燈閃爍2秒,紅黃燈不亮&

44、lt;/p><p>  green_3=0;yellow_4=0;red_5=1; </p><p>  //東西方向紅燈亮,綠黃燈不亮</p><p>  for(j=0;j<5;j++)</p><p><b>  {</b></p><p>  green_0=~green_0;&l

45、t;/p><p>  delay(200);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if((second<=2)&(second>=0))</p><p><b>  {</b>

46、;</p><p>  green_0=0;yellow_1=1;red_2=0; </p><p>  //南北方向黃燈亮,紅綠燈不亮</p><p>  green_3=0;yellow_4=0;red_5=1; </p><p>  //東西方向紅燈亮,綠黃燈不亮</p><p><b>  }<

47、/b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void int0() interrupt 0 //通過外部中斷0啟動計時</p><p>

48、<b>  {</b></p><p>  TR0=1; //啟動計數(shù)</p><p><b>  }</b></p><p>  void int1() interrupt 2 //通過外部中斷1停止計時</p><p><b>  {</b></p>

49、<p>  TR0=0; //停止計數(shù)</p><p><b>  }</b></p><p>  void timer0() interrupt 1 //定時器中斷函數(shù)</p><p><b>  {</b></p><p><b>  count++;</

50、b></p><p>  if(count==20) //累計定時20次為1秒</p><p><b>  {</b></p><p><b>  count=0; </b></p><p><b>  second--;</b></p>&l

51、t;p>  if(second<0)</p><p><b>  {</b></p><p><b>  flag++;</b></p><p>  if(flag==0)</p><p>  second=25;</p><p>  if(flag==1)<

52、;/p><p>  second=30; </p><p>  if(flag==2)</p><p><b>  {</b></p><p><b>  flag=0;</b></p><p>  second=25;</p><p><b>

53、  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b> 

54、 }</b></p><p>  進行“編譯”→“運行”(沒有錯誤)</p><p>  選擇“Targe 1”設置輸出生成文件.hex文件,然后再運行一次</p><p>  在keil uvision 2 中的程序編寫操作就已經完成,在此過程中也出現(xiàn)過很多問題的,例如:編譯的時候開始會有一些語法錯誤的,或者文件庫名沒有寫全之類的,而且此次設計要求定時

55、很精確,而且時間也都不是一樣的,所以對寫程序的要求就很高了,寫完之后我倍感輕松的,有一種成就感。當然了,此時的程序還不知道能不能滿足仿真的要求,還不能確定仿真就能達到預期的效果。</p><p> ?。?)在protues中的仿真過程</p><p>  運行仿真圖,開始沒有啟動信號運行,此時數(shù)碼管靜態(tài)顯示“25”即南北方向紅燈先亮25秒,此時東西方向綠燈亮</p><

56、p>  按下啟動開關開始計時,由于東西方向綠燈要求亮20秒后閃爍3秒,接著東西黃燈亮2秒;那么當數(shù)碼管顯示5的時候東西方向綠燈開始閃爍,當顯示2的時候黃燈亮2秒,綠燈熄滅;當數(shù)碼管顯示30的時候,東西黃燈熄滅,紅燈亮;此時南北紅燈熄滅,綠燈亮。</p><p>  此時燈的狀態(tài)保持不變,數(shù)碼管倒計時24</p><p><b>  數(shù)碼管倒計時23</b><

57、;/p><p><b>  數(shù)碼管倒計時16</b></p><p><b>  數(shù)碼管倒計時8</b></p><p>  顯示5的時候東西方向綠燈開始閃爍</p><p><b>  可以看到綠燈在閃爍</b></p><p>  2秒的時候東西方向黃燈

58、亮</p><p><b>  數(shù)碼管倒計時1</b></p><p><b>  數(shù)碼管倒計時0</b></p><p>  此時數(shù)碼管顯示30,東西紅燈亮,南北綠燈亮;由于南北方向綠燈要求亮25秒后閃爍3秒,接著南北黃燈亮2秒;那么當數(shù)碼管顯示5的時候南北方向綠燈開始閃爍,當顯示2的時候黃燈亮2秒,綠燈熄滅;當數(shù)碼管顯

59、示25的時候,南北黃燈熄滅,紅燈亮;此時南北紅燈亮,綠燈熄滅。</p><p><b>  數(shù)碼管倒計時25</b></p><p><b>  數(shù)碼管倒計時18</b></p><p><b>  數(shù)碼管倒計時10</b></p><p>  顯示5的時候,南北方向綠燈閃爍&

60、lt;/p><p>  可以看到在閃爍,此時數(shù)碼管倒計時3</p><p>  顯示2的時候,南北方向黃燈亮</p><p><b>  數(shù)碼管顯示1</b></p><p><b>  數(shù)碼管顯示倒計時0</b></p><p>  當數(shù)碼管顯示25的時候,又回到一開始的那個狀

61、態(tài),南北方向紅燈亮,東西方向綠燈亮;就這樣周而復始的運行下去</p><p><b>  六、設計總結與思考</b></p><p>  此次畢業(yè)設計的主題是對交通信號燈的控制,在編寫程序的時候用到了定時器的精確定時,還用到了數(shù)碼管的靜態(tài)顯示,讓其顯示出燈亮的時間;同時還加了交通燈啟動和停止的控制端口(外部中斷0、外部中斷1);此次設計完全達到了課題的要求,不僅如此,

62、在課題的基礎上,還加了數(shù)碼管顯示。此次課題中的報警部分可以省去,因為通過編程對交通燈控制的時候,不會出現(xiàn)南北、東西方向的紅燈或者綠燈同時亮,所以此次設計沒有加報警裝置。設計玩之后,我很有成就感,無論是自己編程還是仿真,都是我獨自完成的,當然我也查閱了相關的資料,而且也學完了《C語言程序設計實用教程》《單片機的C語言應用程序設計》,對這次交通燈的設計有很大的幫助。</p><p>  最后我要感謝輔導過我的指導老師

63、,,謝謝您們對我指導與支持,您們辛苦了!</p><p><b>  七、參考文獻</b></p><p>  1、《C語言程序設計實用教程》 楊莉 劉鴻翔 主編 科學出版社 2009年1月 第二版</p><p>  2、《單片機的C語言應用程序設計》 馬忠梅 籍順心 主編 北京航空航天大學出版社</p><p>  

64、2007年2月第四版</p><p>  3、《數(shù)字電子技術基礎簡明教程》 清華大學電子學教研組 編 余孟嘗 主編 高等教育</p><p>  出版社 2006年5月第三版</p><p>  4、《模擬電子技術基礎簡明教程》 清華大學電子學教研組 編 楊素行 主編高等教育</p><p>  出版社 2006年7月第三版</p>

65、;<p>  5、《單片機控制系統(tǒng)設計安裝與調試》王春陽主編 中國勞動社會保障出版社 2010年10月出版</p><p>  6、《單片機實用技術教程》 龔運新 胡長勝主編 北京師范大學出版社 2010年8月出版</p><p>  7、《單片機原理及應用技術》丁振杰、張喜紅主編 化學工業(yè)出版社 2010年9月出版</p><p>  8、《單

66、片機電路設計、分析與制作》周潤景主編 機械工業(yè)出版社 2010年8月出版</p><p><b>  八、附錄</b></p><p><b>  附件1</b></p><p>  畢業(yè)論文(設計)評分參考標準</p><p>  1.指導教師評分參考標準</p><p&

67、gt;  2.畢業(yè)答辯組成員評分參考標準</p><p>  3.論文評分參考標準</p><p>  畢業(yè)論文(設計)的成績由二部分構成:指導老師評閱成績和答辯成績。指導老師評閱成績占總評比例的60%;答辯成績占總評比例的40%。所有成績均以百分制分別記分。二部分成績相加構成總評成績,總評成績?yōu)槲寮売浄种?,總評成績折算為五級記分制的標準如下:90分以上為“優(yōu)秀”,80—89分為“良好”,

68、70—79分為“中等”,60—69分為“及格”,59分以下為“不及格”(均包含本數(shù))。 </p><p><b>  附件2 </b></p><p>  畢業(yè)設計(論文)評閱教師評審意見</p><p><b>  附件3 </b></p><p>  畢業(yè)設計(論文)答辯記錄</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論