2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(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>  課程設(shè)計(jì)報(bào)告</b></p><p>  課 程 名 稱 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)</p><p>  院 部 名 稱 機(jī)電工程學(xué)院 </p><p>  專 業(yè) 電氣工程及其自動(dòng)化 </p><p><b>  目錄</b>

2、</p><p><b>  目錄2</b></p><p><b>  摘要2</b></p><p><b>  1 概述3</b></p><p>  1.1 課程設(shè)計(jì)的意義3</p><p>  1.2 設(shè)計(jì)的任務(wù)和要求3</p&

3、gt;<p>  2 系統(tǒng)總體方案及硬件設(shè)計(jì)4</p><p>  2.1數(shù)字溫度計(jì)設(shè)計(jì)方案分析4</p><p>  2.1.1方案一4</p><p>  2.1.2 方案二4</p><p>  2.2系統(tǒng)總體設(shè)計(jì)4</p><p><b>  2.3系統(tǒng)模塊6</b&g

4、t;</p><p>  2.3.1主控制器6</p><p>  2.3.2 顯示電路6</p><p>  2.3.3溫度傳感器7</p><p>  2.3.4報(bào)警溫度電路8</p><p>  3 系統(tǒng)軟件算法分析9</p><p>  3.1主程序流程圖9</p>

5、;<p>  3.2讀出溫度子程序9</p><p>  3.3溫度轉(zhuǎn)換命令子程序10</p><p>  3.4 計(jì)算溫度子程序11</p><p>  3.5 顯示數(shù)據(jù)刷新子程序11</p><p><b>  4 實(shí)驗(yàn)仿真12</b></p><p>  5 總結(jié)與體

6、會(huì)14</p><p><b>  附錄:源程序15</b></p><p><b>  參考文獻(xiàn)18</b></p><p><b>  摘要</b></p><p>  隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各</p><

7、p>  個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本文主要介紹了一個(gè)基于AT89C52單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器DS18B20 開(kāi)發(fā)測(cè)溫系統(tǒng)的過(guò)程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,特別是數(shù)字溫度傳感器DS18B20 的數(shù)據(jù)采集過(guò)程。對(duì)各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并有上下限報(bào)警溫度,它使用起來(lái)相當(dāng)方便,具有精度高、量程寬、靈敏度高、

8、體積小、功耗低等優(yōu)適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS18B20 與AT89C52 結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。</p><p>  關(guān)鍵詞: 單片機(jī)AT89C52 溫度傳感器數(shù)字溫度計(jì)DS18B20</p><p><

9、b>  1 概述</b></p><p>  1.1 課程設(shè)計(jì)的意義</p><p>  本次課程設(shè)計(jì)是在我們學(xué)過(guò)單片機(jī)后的一次實(shí)習(xí),可增加我們的動(dòng)手能力。特別是對(duì)單片機(jī)的系統(tǒng)設(shè)計(jì)有很大幫助。同時(shí)對(duì)畢業(yè)設(shè)計(jì)業(yè)起著很大的作用。</p><p>  1.2 設(shè)計(jì)的任務(wù)和要求</p><p>  1、基本范圍-30℃-30℃<

10、;/p><p>  2、精度誤差小于1℃</p><p>  3、七段 數(shù)碼直讀顯示</p><p>  4、有溫度的上下限報(bào)警功能</p><p>  2 系統(tǒng)總體方案及硬件設(shè)計(jì)</p><p>  2.1數(shù)字溫度計(jì)設(shè)計(jì)方案分析</p><p><b>  2.1.1方案一</b&

11、gt;</p><p>  由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類(lèi)的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D 轉(zhuǎn)換電路,其中還涉及到電阻與溫度的對(duì)應(yīng)值的計(jì)算,感溫電路比較麻煩。而且在對(duì)采集的信號(hào)進(jìn)行放大時(shí)容易受溫度的影響出現(xiàn)較大的偏差。</p><p>&

12、lt;b>  2.1.2 方案二</b></p><p>  進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,電路簡(jiǎn)單,精度高,軟硬件都以實(shí)現(xiàn),而且使用單片機(jī)的接口便于系統(tǒng)的再擴(kuò)展,滿足設(shè)計(jì)要求。</p><p>  從以上兩種方案,很容易看

13、出,采用方案二,電路比較簡(jiǎn)單,費(fèi)用較低,可靠性高,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了方案二。</p><p><b>  2.2系統(tǒng)總體設(shè)計(jì)</b></p><p>  溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖2.2—1 所示,總系統(tǒng)仿真如圖2.2—系</p><p>  統(tǒng)仿真圖,控制器采用單片機(jī)AT89C52,溫度傳感器采用DS18B20,用3 個(gè)七段數(shù)

14、碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。</p><p>  圖2.2—1 總體設(shè)計(jì)方框圖</p><p>  圖2.2—2 系統(tǒng)仿真圖</p><p><b>  2.3系統(tǒng)模塊</b></p><p>  系統(tǒng)由單片機(jī)最小系統(tǒng)、顯示電路、溫度傳感器等組成。</p><p><b>  2.3

15、.1主控制器</b></p><p>  單片機(jī)AT89C52 具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。晶振采用11.0592MMHZ。復(fù)位電路采用上電加按鈕復(fù)位。</p><p>  圖2.3.1—1 晶振電路</p><p>  圖2.3.1—2 復(fù)位電路<

16、;/p><p>  2.3.2 顯示電路</p><p>  顯示電路采用3個(gè)共陽(yáng)極七段 數(shù)碼管,采用動(dòng)態(tài)掃描的方式顯示。</p><p>  圖2.3.2 數(shù)碼管顯示電路</p><p>  2.3.3溫度傳感器</p><p>  DS18B20 溫度傳感器是美國(guó)DALLAS 半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感

17、器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20 的性能特點(diǎn)如下:</p><p>  1、獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;</p><p>  2、多個(gè)DS18B20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能</p><p><b>  3、無(wú)須外部器件;&

18、lt;/b></p><p>  4、可通過(guò)數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;</p><p><b>  5、零待機(jī)功耗;</b></p><p>  6、溫度以9或12位數(shù)字;</p><p>  7、用戶可定義報(bào)警設(shè)置;</p><p>  8、報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定

19、溫度(溫度報(bào)警條件)的器件;</p><p>  9、負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作;</p><p>  DS18B20 可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20 的1 腳接地,2 腳作為信號(hào)線,3 腳接電源。另一種是寄生電源供電方式,如圖2.3.3所示單片機(jī)端口接單線總線,為保證在有效的DS18B20 時(shí)鐘周期內(nèi)提供足夠的電流

20、,可用一個(gè)MOSFET 管來(lái)完成對(duì)總線的上拉。當(dāng)DS18B20 處于寫(xiě)存儲(chǔ)器操作和溫度A/D 轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)VDD 端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。</p><p>  圖2.3.3 溫度傳感器與單片機(jī)的連接</p><p>  2.3.4報(bào)警溫度電路</p><p>  

21、定時(shí)器每20ms檢測(cè)一次溫度,測(cè)量到在安全溫度范圍內(nèi)發(fā)光二極管發(fā)出綠色光表示系統(tǒng)正常工作,當(dāng)超過(guò)安全溫度工作范圍外發(fā)光二極管發(fā)出綠色光表示系統(tǒng)出現(xiàn)異常并報(bào)警。</p><p>  圖2.3.4報(bào)警電路</p><p>  3 系統(tǒng)軟件算法分析</p><p>  系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。<

22、;/p><p><b>  3.1主程序流程圖</b></p><p>  主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20 的測(cè)量的當(dāng)前溫度值,其程序流程見(jiàn)圖3.1 所示。</p><p>  圖3.1 主程序流程圖</p><p>  3.2讀出溫度子程序</p><p>  讀出溫

23、度子程序的主要功能是讀出RAM 中的9 字節(jié),在讀出時(shí)需進(jìn)行CRC 校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。其程序流程圖如圖3.2 示</p><p>  圖3.2 讀溫度流程圖</p><p>  3.3溫度轉(zhuǎn)換命令子程序</p><p>  溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,在本程序設(shè)計(jì)中采用1ms 顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖

24、3.3 所示</p><p>  圖3.3 溫度轉(zhuǎn)換流程圖</p><p>  3.4 計(jì)算溫度子程序</p><p>  計(jì)算溫度子程序?qū)AM 中讀取值進(jìn)行BCD 碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖3.4 所示。</p><p>  圖3.4 計(jì)算溫度流程圖</p><p>  3.5 顯示數(shù)據(jù)

25、刷新子程序</p><p>  顯示數(shù)據(jù)刷新子程序主要是對(duì)分離后的溫度顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)標(biāo)志位位為1時(shí)將符號(hào)顯示位移入第一位。程序流程圖如圖3.5。</p><p>  圖3.5 顯示數(shù)據(jù)刷新流程圖</p><p><b>  4 實(shí)驗(yàn)仿真</b></p><p>  進(jìn)入protuse 后,連接好電路,并將程序下

26、載進(jìn)去。數(shù)碼管顯示溫度與傳感器的溫度相同。圖4—1 溫度顯示仿真</p><p>  屏幕顯示當(dāng)前溫度為安全溫度正常工作,綠色二極管發(fā)光。</p><p>  屏幕顯示的溫度為安全溫度范圍之外,此時(shí)紅色二極管閃爍發(fā)光報(bào)警,表明系統(tǒng)出現(xiàn)異常,需要調(diào)整。</p><p><b>  5 總結(jié)與體會(huì)</b></p><p> 

27、 通過(guò)這次對(duì)數(shù)字溫度計(jì)的設(shè)計(jì)與制作,讓我了解了設(shè)計(jì)電路的程序,也讓我了解了關(guān)于數(shù)字溫度計(jì)的原理與設(shè)計(jì)理念,要設(shè)計(jì)一個(gè)電路總要先用仿真仿真成功之后才實(shí)際接線的。但是最后的成品卻不一定與仿真時(shí)完全一樣,因?yàn)?,再?shí)際接線中有著各種各樣的條件制約著。而且,在仿真中無(wú)法成功的電路接法,在實(shí)際中因?yàn)樾酒旧淼奶匦远軌虺晒?。所以,在設(shè)計(jì)時(shí)應(yīng)考慮兩者的差異,從中找出最適合的設(shè)計(jì)方法。</p><p>  通過(guò)這次學(xué)習(xí),讓我對(duì)各

28、種電路都有了大概的了解,所以說(shuō),坐而言不如立而行,從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫(xiě)與讀的過(guò)程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。</p><p><b>  附錄:源程序</b></p><p>  //********************

29、*********************************************************************</p><p>  //DS18B20報(bào)警實(shí)驗(yàn)演示程序</p><p>  //使用單片機(jī)AT89C52 晶振:11.0592M</p><p>  //************************************

30、*****************************************************</p><p><b>  //包含頭文件</b></p><p>  //*****************************************************************************************<

31、/p><p>  #include<reg52.h></p><p>  //*****************************************************************************************</p><p><b>  //宏定義</b></p><p

32、>  //*****************************************************************************************</p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  //

33、*****************************************************************************************</p><p>  //共陽(yáng)極段碼表tab[]; 帶小數(shù)點(diǎn)的共陽(yáng)極段碼表tab1[]; 警鈴編碼表Music_Girl[];</p><p>  //******************************

34、***********************************************************</p><p>  uchar code tab[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p>  uchar code tab1[]={0x40,0x79,0x24,0x30,0x19,0

35、x12,0x02,0x78,0x00,0x10};</p><p>  //*****************************************************************************************</p><p><b>  //定義全局變量</b></p><p><b> 

36、 //</b></p><p>  //*****************************************************************************************</p><p>  sbit DQ=P2^3;//ds18b20與單片機(jī)連接口</p><p>  sbit seg0=P2^0;//小

37、數(shù)位</p><p>  sbit seg1=P2^1;//個(gè)位</p><p>  sbit seg2=P2^2;//十位</p><p>  sbit green=P2^4;</p><p>  sbit red =P2^5;</p><p>  sbit music=P3^6;//接蜂鳴器</p>

38、<p>  uchar data disdata[4];</p><p>  uint tvalue;//溫度值</p><p>  uchar tflag;//溫度正負(fù)標(biāo)志</p><p>  uchar max_tem=2;//溫度警戒值</p><p>  //********************************

39、*********************************************************</p><p>  //延時(shí)函數(shù),延時(shí)時(shí)間近似1ms</p><p><b>  //</b></p><p>  //*******************************************************

40、**********************************</p><p>  void delay_ms(unsigned int ms)//延時(shí)1毫秒(不夠精確的)</p><p><b>  {</b></p><p>  unsigned int i,j;</p><p>  for(i=0;i<

41、ms;i++)</p><p>  for(j=0;j<110;j++);</p><p><b>  }</b></p><p>  //*****************************************************************************************</p>

42、<p>  //延時(shí)函數(shù),用于18b20時(shí)序控制</p><p><b>  //</b></p><p>  //*****************************************************************************************</p><p>  void dela

43、y_18B20(uint i)//延時(shí)1微秒</p><p><b>  {</b></p><p>  while(i--);</p><p><b>  }</b></p><p>  //*****************************************************

44、************************************</p><p><b>  // 溫度顯示函數(shù)</b></p><p>  // P0口顯示溫度十位,P1口顯示溫度個(gè)位,P2顯示溫度小數(shù)位</p><p>  //*****************************************************

45、************************************</p><p>  void display(uchar a,uchar b,uchar c)</p><p><b>  { </b></p><p><b>  //顯示十位</b></p><p><b>  

46、P0=0xff;</b></p><p><b>  seg2=1;</b></p><p>  P0=tab[a];</p><p>  delay_ms(1);</p><p><b>  seg2=0;</b></p><p><b>  //顯示

47、個(gè)位</b></p><p><b>  P0=0xff;</b></p><p><b>  seg1=1;</b></p><p>  P0=tab1[b];</p><p>  delay_ms(1);</p><p><b>  seg1=0;&

48、lt;/b></p><p><b>  //顯示小數(shù)位</b></p><p><b>  P0=0xff;</b></p><p><b>  seg0=1;</b></p><p>  P0=tab[c];</p><p>  delay_m

49、s(1);</p><p><b>  seg0=0;</b></p><p><b>  } </b></p><p>  //*****************************************************************************************</p&g

50、t;<p>  //DS18B20的復(fù)位函數(shù),對(duì)DS18B20時(shí)序操作前都要閑復(fù)位</p><p><b>  //</b></p><p>  //*****************************************************************************************</p>&l

51、t;p>  void ds1820rst()/*ds1820復(fù)位*/</p><p><b>  { </b></p><p>  unsigned char x=0;</p><p>  DQ = 1; //DQ復(fù)位</p><p>  delay_18B20(4); //延時(shí)</p>

52、;<p>  DQ = 0; //DQ拉低</p><p>  delay_18B20(100); //精確延時(shí)大于480us</p><p>  DQ = 1; //拉高</p><p>  delay_18B20(40); </p><p><b>  } </b>&

53、lt;/p><p>  //*****************************************************************************************</p><p>  //DS18B20讀指令函數(shù) RAM指令</p><p>  //逐位讀取DS18B20轉(zhuǎn)化后的溫度值</p><p>

54、;  //*****************************************************************************************</p><p>  uchar ds1820rd()/*讀數(shù)據(jù)*/</p><p><b>  {</b></p><p>  uchar i=0;<

55、/p><p>  uchar dat = 0;</p><p>  for (i=8;i>0;i--)</p><p><b>  { </b></p><p>  DQ = 0; //給脈沖信號(hào)</p><p><b>  dat>>=1;</b></

56、p><p>  DQ = 1; //給脈沖信號(hào)</p><p><b>  if(DQ)</b></p><p>  dat|=0x80;</p><p>  delay_18B20(10);</p><p><b>  }</b></p><p>  r

57、eturn(dat);</p><p><b>  }</b></p><p>  //*****************************************************************************************</p><p>  // DS18B20寫(xiě)指令函數(shù) R0M指令</p&

58、gt;<p>  // 控制DS18B20做何操作</p><p>  //*****************************************************************************************</p><p>  void ds1820wr(uchar wdata)/*寫(xiě)數(shù)據(jù)*/</p><p&

59、gt;<b>  {</b></p><p>  uchar i=0;</p><p>  for (i=8; i>0; i--)</p><p><b>  {</b></p><p><b>  DQ = 0;</b></p><p>  DQ

60、 = wdata&0x01;</p><p>  delay_18B20(10);</p><p><b>  DQ = 1;</b></p><p>  wdata>>=1;</p><p><b>  }</b></p><p><b>  

61、}</b></p><p>  //*****************************************************************************************</p><p>  //DS18B20轉(zhuǎn)化啟動(dòng)函數(shù)</p><p><b>  //</b></p>&

62、lt;p>  //*****************************************************************************************</p><p>  void read_temp1()/*讀取溫度值并轉(zhuǎn)換*/</p><p><b>  {</b></p><p>  E

63、A=0; //關(guān)全局中斷,防止DS18B20的時(shí)序操作被打亂</p><p>  ds1820rst(); </p><p>  ds1820wr(0xcc);//*跳過(guò)讀序列號(hào)*/</p><p>  ds1820wr(0x44);//*啟動(dòng)溫度轉(zhuǎn)換*/</p><p>  ds1820rst();</p>&l

64、t;p><b>  EA=1; </b></p><p><b>  }</b></p><p>  //*****************************************************************************************</p><p>  //D

65、S18B20轉(zhuǎn)換溫度讀取函數(shù),并轉(zhuǎn)化成實(shí)際溫度值</p><p>  // 返回值: tvalue為實(shí)際溫度值</p><p>  //*****************************************************************************************</p><p>  unsigned int rea

66、d_temp2()</p><p><b>  {</b></p><p>  uchar a,b;</p><p><b>  EA=0;</b></p><p>  ds1820wr(0xcc);//*跳過(guò)讀序列號(hào)*/ </p><p>  ds1820wr(0xbe);

67、//*讀取溫度*/ </p><p>  a=ds1820rd();</p><p>  b=ds1820rd();</p><p><b>  EA=1;</b></p><p><b>  tvalue=b;</b></p><p>  tvalue<<=8;

68、</p><p>  tvalue=tvalue|a;</p><p>  if(tvalue<=0x07ff)</p><p><b>  tflag=0;</b></p><p><b>  else</b></p><p><b>  {</b&g

69、t;</p><p>  tvalue=~tvalue+1;</p><p><b>  tflag=1;</b></p><p><b>  }</b></p><p>  tvalue=tvalue*(0.625);//溫度值擴(kuò)大10倍,精確到1位小數(shù)</p><p> 

70、 return(tvalue);</p><p><b>  }</b></p><p>  //*****************************************************************************************</p><p>  //入口參數(shù):tvalue</p>

71、<p>  //溫度值百十個(gè)位分離函數(shù) 存入disdata[]數(shù)組中</p><p><b>  //</b></p><p>  //*****************************************************************************************</p><p> 

72、 void ds1820disp1()//溫度值顯示</p><p><b>  { </b></p><p>  disdata[0]=tvalue/1000;//百位數(shù)</p><p>  disdata[1]=tvalue%1000/100;//十位數(shù)</p><p>  disdata[2]=tvalue%10

73、0/10;//個(gè)位數(shù)</p><p>  disdata[3]=tvalue%10; //小數(shù)位</p><p><b>  }</b></p><p>  //*****************************************************************************************<

74、;/p><p>  //定時(shí)器初始化函數(shù)</p><p><b>  //</b></p><p>  //*****************************************************************************************</p><p>  void init

75、_t1()</p><p><b>  {</b></p><p><b>  green=0;</b></p><p><b>  red=1;</b></p><p><b>  TH1=0XB7;</b></p><p>&l

76、t;b>  TL1=0XFF;</b></p><p><b>  TR1=1;</b></p><p><b>  ET1=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p

77、><p>  //*****************************************************************************************</p><p><b>  //主函數(shù)</b></p><p><b>  //</b></p><p>

78、  //*****************************************************************************************</p><p>  void main()</p><p><b>  { </b></p><p>  init_t1();</p>&l

79、t;p><b>  while(1)</b></p><p><b>  { </b></p><p><b>  red=1;</b></p><p>  read_temp1();//讀取溫度</p><p>  read_temp2();//讀取溫度</p&

80、gt;<p>  ds1820disp1();//數(shù)值提取 </p><p>  display(disdata[1],disdata[2],disdata[3]); </p><p>  delay_ms(10);</p><p><b>  }</b></p><p><b>  }</

81、b></p><p>  //*****************************************************************************************</p><p><b>  //T0中斷函數(shù)</b></p><p>  // 定時(shí)器沒(méi)20ms檢測(cè)一次溫度,當(dāng)超過(guò)</p&

82、gt;<p>  //*****************************************************************************************</p><p>  void check_tem() interrupt 3</p><p><b>  {</b></p><p&g

83、t;  uchar i=0;</p><p><b>  EA=0;</b></p><p><b>  TH1=0XB7;</b></p><p><b>  TL1=0XFF;</b></p><p>  if(disdata[1]>max_tem)</p>

84、;<p><b>  { </b></p><p>  red=0;green=0;</p><p>  music=~music;</p><p>  delay_ms(1);</p><p><b>  }</b></p><p><b>  E

85、A=1;</b></p><p><b>  }</b></p><p><b>  參考文獻(xiàn)</b></p><p>  【1】馬忠梅,張凱,等. 單片機(jī)的C 語(yǔ)言應(yīng)用程序設(shè)計(jì)(第四版) 北京航空航天大學(xué)出版社</p><p>  【2】薛慶軍,張秀娟,等.單片機(jī)原理實(shí)驗(yàn)教程北京航天航

溫馨提示

  • 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)論