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

下載本文檔

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

文檔簡介

1、<p><b> ?。币?lt;/b></p><p>  在實(shí)際生產(chǎn)、生活等各個領(lǐng)域中,溫度是環(huán)境因素的不可或缺的一部分,對溫度進(jìn)行及時(shí)精確的控制和檢測顯得尤為重要。比如消防電氣的非破壞性溫度檢測,電力、電訊設(shè)備的過熱故障預(yù)知檢測,空調(diào)系統(tǒng)的溫度檢測,在醫(yī)院的監(jiān)護(hù)中也用到溫度的測量,化工、機(jī)械等設(shè)備溫度過熱檢測,土壤各個層面上的溫度將會影響植物的生長,以及熱處理中工件各個部位的溫度對

2、工件形成后的性能至關(guān)重要等等??傊?,現(xiàn)代電子工業(yè)的飛速發(fā)展對溫度檢測的智能化精確度要求越來越高。</p><p>  目前,國內(nèi)外溫度控制系統(tǒng)及儀表正朝著高精度、智能化、小型化等方面快速發(fā)展。本課題設(shè)計(jì)的系統(tǒng)符合當(dāng)代科學(xué)發(fā)展的趨勢,能夠滿足現(xiàn)代生產(chǎn)生活的需要,其測溫效率高,具有較強(qiáng)的穩(wěn)定性和靈活性。方便快捷的實(shí)現(xiàn)了多路溫度采集并顯示,該系統(tǒng)用液晶顯示器節(jié)省了空間且顯示效果好,報(bào)警電路同時(shí)包含了蜂鳴器和提示燈,能更

3、好的引起操作者的警覺,在實(shí)際生產(chǎn)中能夠降低由于溫度超過額定范圍引發(fā)的事故,有良好的實(shí)用性,在國內(nèi)外都具備良好的應(yīng)用前景。</p><p> ?。矞囟炔杉@示系統(tǒng)總體方案設(shè)計(jì)</p><p>  2.1 確定設(shè)計(jì)過程</p><p>  在熟悉課題,明確任務(wù)的基礎(chǔ)上,查閱相關(guān)資料,理清設(shè)計(jì)思路,綜合考慮總的設(shè)計(jì)時(shí)間和各部分設(shè)計(jì)所需時(shí)間,最終決定將本次設(shè)計(jì)分五大步進(jìn)行。

4、</p><p>  1.熟悉課題,明確任務(wù),查閱相關(guān)資料,確定總體設(shè)計(jì)方案;</p><p>  2.根據(jù)各部分的功能劃分功能模塊,確定每一模塊的硬件組成,合理選取具有相應(yīng)功能的器件;</p><p>  3.進(jìn)行硬件設(shè)計(jì),把各器件組成相應(yīng)功能的模塊,并把各功能模塊進(jìn)行電氣連接,形成總的功能系統(tǒng);</p><p>  4.進(jìn)行軟件設(shè)計(jì),編寫

5、程序,實(shí)現(xiàn)各模塊功能,使整個系統(tǒng)能夠良好的運(yùn)行;</p><p>  5.進(jìn)行仿真調(diào)試,檢查各模塊功能能否完全實(shí)現(xiàn),綜合考慮系統(tǒng)的靈活性、穩(wěn)定性、誤差大小及測溫效率調(diào)整各器件的各項(xiàng)參數(shù)。使系統(tǒng)的處在最佳性能狀態(tài)。</p><p>  2.2溫度采集顯示系統(tǒng)方案論證</p><p>  2.2.1單片機(jī)的選取</p><p>  在溫度采集和控

6、制過程中,單片機(jī)是該系統(tǒng)的核心部件。它一方面要接收來自溫度傳感器的模擬信號,一方面要對這個信號進(jìn)行處理、標(biāo)度變換和顯示,另一方面要響應(yīng)串行通信中的呼叫請求。在單片機(jī)所實(shí)現(xiàn)的這些功能中,特別是數(shù)據(jù)采樣和保持部分,需要單片機(jī)有比較快的運(yùn)算速度,同時(shí)考慮選擇機(jī)型的低價(jià)實(shí)用性和低功耗、低電壓等性能,本設(shè)計(jì)采用Atmel公司的AT89C51芯片。</p><p>  2.2.2溫度傳感器的選取</p><

7、;p>  溫度傳感器是測控系統(tǒng)前向通道的關(guān)鍵部件,它也稱換能器和變換器,一般是指非電物理量與電量的轉(zhuǎn)換,即傳感器是將被測的非電量(如壓力、溫度等)轉(zhuǎn)換成與之對應(yīng)的電量或電參量(如電流、電壓、電阻等)輸出的一種裝置。社會的發(fā)展使人們對傳感器的要求也越來越高,現(xiàn)在的溫度傳感器正在基于單片機(jī)的基礎(chǔ)上從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展,并朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研

8、制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。</p><p>  如果測量目的是定性分析的,選用重復(fù)精度高的傳感器即可,不宜選用絕對量值精度高的;如果是為了定量分析,必須獲得精確的測量值,就需選用精度等級能滿足要求的傳感器。對某些特殊使用場合,無法選到合適的傳感器,則需自行設(shè)計(jì)制造傳感器。自制傳感器的性能應(yīng)滿足使用要求。</p><p>  顯而易見,數(shù)字式溫度傳感器在本設(shè)計(jì)中的應(yīng)用優(yōu)點(diǎn)突出,綜

9、合考慮以上選取注意事項(xiàng),本設(shè)計(jì)采用DS18B20單總線數(shù)字式溫度傳感器對溫度信號進(jìn)行采集。</p><p>  2.2.3顯示器的選取</p><p>  顯示系統(tǒng)是單片機(jī)控制系統(tǒng)的重要組成部分,主要用于顯示各種參數(shù)的值,以便使現(xiàn)場工作人員能夠及時(shí)掌握生產(chǎn)過程。</p><p>  工業(yè)控制系統(tǒng)中常用的顯示器件有CRT、LED、LCD等,CRT不僅可以進(jìn)行字符顯示,

10、而且可以進(jìn)行畫面顯示,和計(jì)算機(jī)配合使用,可十分方便地實(shí)現(xiàn)生產(chǎn)過程的管理和監(jiān)視,但由于CRT體積大,價(jià)格昂貴,所以只適用于大型微機(jī)控制系統(tǒng)。在中小型的控制過程中,為了使工作人員能夠在現(xiàn)場直接看到生產(chǎn)情況和報(bào)警信號,經(jīng)常選用LED和LCD作為顯示器件。LED和LCD都具有體積小,功耗低,響應(yīng)速度快,易于匹配,可靠性高和壽命高等優(yōu)點(diǎn)。LCD是一種功耗極低的顯示元件,在儀表和低功耗應(yīng)用系統(tǒng)中的使用較多,而LED成本低廉,也用于單片機(jī)控制系統(tǒng)中。

11、設(shè)計(jì)要求巡回采集溫度,所以采用LED作為顯示系統(tǒng)。</p><p>  從曲線中還可以看出,電池充滿后,鎳鎘電池的電壓下降幅度要比鎳氫電池的大很多,鎳氫電池的電壓下降(負(fù)壓)不是很明顯。</p><p><b>  3硬件電路設(shè)計(jì)</b></p><p><b>  3.1電路總體框架</b></p><

12、;p>  本設(shè)計(jì)的電路主要分為采集電路、單片機(jī)、顯示電路。其主要組成部分如下圖所示。</p><p>  圖3.1 硬件電路框圖</p><p>  3.2控制芯片AT89C2051簡介</p><p>  AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片,內(nèi)含4Kbytes的可反復(fù)擦寫的只讀程序存儲器(EPROM)和128 bytes

13、的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強(qiáng)大的AT89C51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域,該芯片外形結(jié)構(gòu)及引腳如圖3.1所示。</p><p>  AT89C51單片機(jī)主要性能參數(shù)為:</p><p>  與MCS-51產(chǎn)品

14、指令系統(tǒng)完全兼容;4K字節(jié)可重擦寫Flash閃速存儲器; 1000次擦寫周期;全靜態(tài)操作:0Hz—24Hz;三級加密程序存儲器; 128×8字節(jié)內(nèi)部RAM; 32個可編程I/O口線; 2個16位定時(shí)/計(jì)數(shù)器; 6個中斷源;可編程串行UART通道;低功耗空閑和掉電模式[8]。</p><p>  AT89C51提供4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時(shí)/計(jì)數(shù)器

15、,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。</p><p>  圖3.2 AT89C51引腳圖</p><p>

16、<b>  3.3主程序流程圖</b></p><p>  圖3.3 主程序流程圖</p><p>  3.3.1主程序代碼設(shè)計(jì)</p><p>  #include<reg52.h> //包含頭文件,頭文件包含特殊功能寄存器的定義</p><p>  #include<math.h><

17、/p><p>  #include<INTRINS.H></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int;</p><p>  /***************************************************

18、***************/</p><p>  /* 定義端口 */</p><p>  /******************************************************************/</p><p>  sbi

19、t DQ0=P2^0; //ds18b20 端口1</p><p>  sbit DQ1=P2^1; //ds18b20 端口2</p><p>  sbit DQ2=P2^2; //ds18b20 端口3</p><p>

20、  sbit DQ3=P2^3; //ds18b20 端口4</p><p>  sbit DQ4=P2^4; //ds18b20 端口5</p><p>  sbit DQ5=P2^5; //ds18b20 端口6</p><

21、p>  sbit DQ6=P2^6; //ds18b20 端口7 </p><p>  sbit DQ7=P2^7;//ds18b20 端口8</p><p>  /******************************************************************/</p><p&g

22、t;  /* 全局變量 */</p><p>  /******************************************************************/</p><p>  Uint ch=0,ms=0;</p><p>  

23、uint temp;</p><p>  uchar flag_get,count,num,minute,second;</p><p>  uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};</p><p>  uchar du[]={0xfe,0xfd,0xfb,0xf7,0

24、xef,0xdf,0xbf,0x7f};</p><p>  uchar menu=0;</p><p>  //uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p>  //7段數(shù)碼管段碼表共陽</p><p>  uchar str[8

25、];</p><p>  /******************************************************************/</p><p>  /* 主函數(shù) */</p><p>  /***************

26、***************************************************/</p><p><b>  main()</b></p><p><b>  {</b></p><p><b>  int i j;</b></p><p>  unsi

27、gned char TempH,TempL;</p><p>  P0=0xff; </p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  P1=0xff;</b></p><p> 

28、 switch (ch)</p><p>  case 0:temp=ReadTemperature0();break;</p><p>  case 1:temp=ReadTemperature1();break;</p><p>  case 2:temp=ReadTemperature2();break;</p><p>  case

29、3:temp=ReadTemperature3();break;</p><p>  case 4:temp=ReadTemperature4();break;</p><p>  case 5:temp=ReadTemperature5();break;</p><p>  case 6:temp=ReadTemperature6();break;</p&g

30、t;<p>  case 7:temp=ReadTemperature7();break;</p><p>  TempH=temp>>4;</p><p>  TempL=temp&0x0F;</p><p>  TempL=TempL*6/10; //小數(shù)近似處理</p><

31、p>  str[0]=0xc6; //顯示C符號</p><p>  str[7]=0xc6; //顯示C</p><p>  str[6]=0x85; //顯示H</p><p>  str[5]=tab[ch];

32、 //顯示通道</p><p>  str[4]=bf; //顯示-</p><p>  str[3]=tab[(TempH%100)/10]; //十位溫度</p><p>  str[2]=tab[(TempH%100)%10]&0x7f; //個位溫度,帶小數(shù)點(diǎn)</p>

33、<p>  str[1]=tab[TempL]; //顯示格式 CHx-XX.XC</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  P1=0xff;</b></p><p>  P0=str[i];</

34、p><p><b>  P1=du[i];</b></p><p>  delay(50);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

35、<p>  void itc_timer() interrupt 1 //控制定時(shí)時(shí)間為1s</p><p><b>  {</b></p><p>  TH0=(65535-10000)/256;</p><p>  TL0=(65535-10000)%256;</p><p><

36、;b>  ms++;</b></p><p>  if(ms==5) </p><p><b>  {</b></p><p><b>  ch++;</b></p><p><b>  ms=0;</b></p><p>  if(c

37、h==8) ch=0;</p><p>  } //5S換通道</p><p><b>  }</b></p><p><b>  總 結(jié)</b></p><p>  通過此次課程設(shè)計(jì),我學(xué)到了很多很多新的知識,同時(shí),也加深了對舊知

38、識的了解和認(rèn)知。不管是從動手能力還是理論學(xué)習(xí)上講,這次課程設(shè)計(jì)都讓我有了一定的提高。</p><p>  首先是對單片機(jī)芯片AT89S52的學(xué)習(xí),之前我們學(xué)的89C51系列的,前者對于后者來講,比較先進(jìn)和高級,而且更加貼近于我們的生活。鑒于自己對AT89S52的一點(diǎn)認(rèn)識也沒有,所以一切只能從頭開始學(xué)起,從到圖書館找資料到網(wǎng)上查找,從一個人奮戰(zhàn)到找同學(xué)幫助,一點(diǎn)一滴地,從無到有,在不斷的努力之下,我終于也了解到一點(diǎn)

39、點(diǎn)AT89S52單片機(jī)芯片的工作原理和功能了</p><p>  接著便是DS18B20溫度傳感器的學(xué)習(xí),AT89S52單片機(jī)芯片還可以從89C53系列找相似之處,但DS18B20就完全沒有了,不過,還好,現(xiàn)代DS18B20的應(yīng)用技術(shù)也比較普遍和熟練,所以能找得到比較多的資料區(qū)了解和學(xué)習(xí)。一門比較成熟的技術(shù)要掌握起來是比較容易的,只要你有耐心和恒心去學(xué)習(xí)。</p><p>  最困難的還不

40、是制作感光板,而是程序的編寫。本來在上一學(xué)年中,自己對匯編就學(xué)得不怎樣好的了,現(xiàn)在到了真真正正地使用到它的時(shí)候,就更加感覺到力不從心了,不過,辦法總是比困難多的。雖然使用匯編語言對于我來講是困難了點(diǎn),但是我可以選擇用C語言來編寫程序。終于,在自己的堅(jiān)持不懈之下,一段段程序終于從我手中完成了,更讓我覺得高興的是,在調(diào)試的過程中,雖然也有很多問題,但是都能比較順利地解決了。</p><p>  最后,是此次課程設(shè)計(jì)的

41、不足之處。最最明顯的就是沒有仿真數(shù)據(jù),對于課程設(shè)計(jì)來講,沒有仿真數(shù)據(jù)的前提下制作實(shí)物其實(shí)是一個挺冒險(xiǎn)的行為。其次,便是此次課程設(shè)計(jì)的功能較單一,而且是用單片機(jī)芯片做的,沒能做到創(chuàng)新。希望自己在以后的學(xué)習(xí)中,要注意培養(yǎng)自己創(chuàng)新這一方面的能力。參考文獻(xiàn)</p><p>  [1] 單片微型計(jì)算機(jī)與接口技術(shù),李群芳、黃建編著,電子工業(yè)出版社;</p><p>  [2] 單片機(jī)原理及應(yīng)用,張毅剛

42、編著,高等教育出版社;</p><p>  [3] 51系列單片機(jī)及C51程序設(shè)計(jì),王建校,楊建國等編著,科學(xué)出版社;</p><p>  [4] 單片機(jī)原理及接口技術(shù),李朝青編著,北京航空航天大學(xué)出版社;</p><p>  [5] 基于AT89C2051單片機(jī)的智能充電器設(shè)計(jì),劉美俊,電子質(zhì)量;</p><p>  [6] 單片機(jī)微型計(jì)算

43、機(jī)及其應(yīng)用,孫育才,東南大學(xué)出版社,;</p><p>  [7] 單片機(jī)接口電路與應(yīng)用稱序?qū)嵗?,沈德金,北京航天航空大學(xué)出版社;</p><p>  [8] 單片機(jī)基礎(chǔ),李廣弟,北京航空航天大學(xué)出版杜;</p><p><b>  附錄1 系統(tǒng)電路圖</b></p><p><b>  顯示系統(tǒng)電路圖<

44、/b></p><p><b>  采集系統(tǒng)和單片機(jī)</b></p><p><b>  附錄2 主要源代碼</b></p><p>  void delay(uchar z)</p><p><b>  {</b></p><p>  uchar

45、 x,y;</p><p>  for(x=10;x>0;x--)</p><p>  for(y=z;y>0;y--);</p><p><b>  }</b></p><p>  void init_timer()</p><p><b>  {</b><

46、;/p><p>  TMOD=0x01;</p><p>  TH0=(65535-10000)/256;</p><p>  TL0=(65535-10000)%256;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></

47、p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p>  void Init_DS18B20(void) </p><p><b>  {</b></p><p>  unsigned char x=0;<

48、;/p><p>  DQ0= 1; //DQ0復(fù)位</p><p>  delay(8); //稍做延時(shí)</p><p>  DQ0 = 0; //單片機(jī)將DQ0拉低</p>

49、<p>  DQ0 = 1; //拉高總線</p><p>  delay(10);</p><p>  x=DQ0; //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗</p><p><b>  delay(5);</b></p>

50、<p><b>  }</b></p><p>  /******************************************************************/</p><p>  /* 讀一個字節(jié) */</p>

51、<p>  /******************************************************************/</p><p>  unsigned char ReadOneChar(void)</p><p><b>  {</b></p><p>  unsigned char i=0;&

52、lt;/p><p>  unsigned char dat = 0;</p><p>  for (i=8;i>0;i--)</p><p><b>  {</b></p><p>  DQ0 = 0; // 給脈沖信號</p><p&g

53、t;<b>  dat>>=1;</b></p><p>  DQ0 = 1; // 給脈沖信號</p><p><b>  if(DQ0)</b></p><p>  dat|=0x80;</p><p><b>

54、  delay(5);</b></p><p><b>  }</b></p><p>  return(dat);</p><p><b>  }</b></p><p>  /******************************************************

55、************/</p><p>  /* 寫一個字節(jié) */</p><p>  /******************************************************************/</p><p>  void Wr

56、iteOneChar(unsigned char dat)</p><p><b>  {</b></p><p>  unsigned char i=0;</p><p>  for (i=8; i>0; i--)</p><p><b>  {</b></p><p&g

57、t;<b>  DQ0 = 0;</b></p><p>  DQ0 = dat&0x01;</p><p><b>  delay(5);</b></p><p><b>  DQ 0= 1;</b></p><p><b>  dat>>=1;

58、</b></p><p><b>  } </b></p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  /************************************************

59、******************/</p><p>  /* 讀取溫度 */</p><p>  /******************************************************************/</p><p>  

60、unsigned int ReadTemperature0(void)</p><p><b>  {</b></p><p>  unsigned char a=0;</p><p>  unsigned int b=0;</p><p>  unsigned int t=0;</p><p>

61、  Init_DS18B20();</p><p>  WriteOneChar(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar(0x44); // 啟動溫度轉(zhuǎn)換</p><p>  delay(200);</p><p>  Ini

62、t_DS18B20();</p><p>  WriteOneChar(0xCC); //跳過讀序號列號的操作 </p><p>  WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度</p><p>  a=ReadOneChar(); //低位

63、</p><p>  b=ReadOneChar(); //高位</p><p><b>  b<<=8;</b></p><p><b>  t=a+b;</b></p><p>  return(t);</p><p>

溫馨提示

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

評論

0/150

提交評論