版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《單片機(jī)原理與接口技術(shù)》課程設(shè)計(jì)
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)--數(shù)字電壓表設(shè)計(jì)
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)--數(shù)字電壓表設(shè)計(jì)
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(數(shù)字電壓表設(shè)計(jì))
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)--數(shù)字電壓表設(shè)計(jì)
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(電力參數(shù)檢測(cè)裝置設(shè)計(jì))
- 單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)-單片機(jī)與超聲波測(cè)距
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)---智能避障避險(xiǎn)小車(chē)
- 微機(jī)原理與單片機(jī)接口技術(shù)課程設(shè)計(jì)課程教學(xué)大綱
- 單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)--溫度采集顯示系統(tǒng)
- 微機(jī)原理與單片機(jī)接口技術(shù)課程設(shè)計(jì)課程教學(xué)大綱
- 單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)-電子密碼鎖設(shè)計(jì)
- 淺論單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)性實(shí)驗(yàn)的開(kāi)設(shè)
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)---電烤箱加熱控制器設(shè)計(jì)
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(co氣體濃度監(jiān)測(cè)儀設(shè)計(jì))
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(蔬菜大棚溫度控制器設(shè)計(jì))
- 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(電烤箱加熱控制器設(shè)計(jì))
- 20-單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(水庫(kù)水位監(jiān)測(cè)裝置設(shè)計(jì))wyc
- 20-單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(水庫(kù)水位監(jiān)測(cè)裝置設(shè)計(jì))wyc
- 《單片機(jī)原理與接口技術(shù)》課程設(shè)計(jì)---電子琴設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論