版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 單片機(jī)課程設(shè)計(jì)</b></p><p> DS18B20數(shù)字溫度計(jì)設(shè)計(jì)</p><p> 專業(yè) 電子信息科學(xué)與技術(shù) </p><p> 班級(jí) 11級(jí)2班 </p><p
2、> 學(xué)號(hào) </p><p> 姓名 </p><p><b> 目錄</b></p><p><b> 課題的設(shè)計(jì)目的。</b></p><p&g
3、t; ------------------------------------------------------------------------</p><p> 對(duì)于課題的總體構(gòu)想。</p><p> ------------------------------------------------------------------------</p><
4、p> DS18B20溫度傳感器簡(jiǎn)介。</p><p> ------------------------------------------------------------------------</p><p> STC89C51單片機(jī)簡(jiǎn)介。</p><p> -------------------------------------------
5、-----------------------------</p><p><b> 系統(tǒng)總仿真電路。</b></p><p> ------------------------------------------------------------------------</p><p><b> 總程序。</b>
6、</p><p> ------------------------------------------------------------------------</p><p><b> 心得體會(huì)。</b></p><p> -------------------------------------------------------
7、-----------------</p><p> 參考文獻(xiàn)。 ---------------------------------------------------</p><p><b> 一.課題的設(shè)計(jì)目的</b></p><p> 1. 鞏固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識(shí)面,提高綜合及靈活運(yùn)用所學(xué)知識(shí)解決工業(yè)控制的能力。</
8、p><p> 2. 培養(yǎng)針對(duì)課題需要,選擇和查閱有關(guān)手冊(cè)、圖表及文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動(dòng)手能力。</p><p> 3. 通過對(duì)課題設(shè)計(jì)方案的分析、選擇、比較、熟悉單片機(jī)用系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計(jì)的方法、內(nèi)容及步驟。</p><p><b> 對(duì)課題的總體構(gòu)想</b></p><p>
9、 采用數(shù)字溫度芯片DS18B20 測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。DS18B20 的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器STC89C52構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。 </p><p> 采用51 單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件
10、實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多DS18B20控制工作,還可以與PC 機(jī)通信上傳數(shù)據(jù),另外STC89C52 在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。</p><p> DS18B20溫度傳感器簡(jiǎn)介</p><p> DS18B20功能特點(diǎn):</p><p> 1. 采用單總線技術(shù),與單片機(jī)通信只需要一根I/O線,在一根線上可以
11、掛接多個(gè)DS18B20。</p><p> 2. 每只DS18B20具有一個(gè)獨(dú)有的,不可修改的64位序列號(hào),根據(jù)序列號(hào)訪問地應(yīng)的器件。</p><p> 3. 低壓供電,電源范圍從3~5V,可以本地供電,也可以直接從數(shù)據(jù)線上竊取電源(寄生電源方式)。</p><p> 4. 測(cè)溫范圍為-55℃~+125℃,在-10℃~85℃范圍內(nèi)誤差為±0.5℃。&
12、lt;/p><p> 5. 可編輯數(shù)據(jù)為9~12位,轉(zhuǎn)換12位溫度時(shí)間為750ms(最大)。</p><p> 6. DS18B20可將檢測(cè)到溫度值直接轉(zhuǎn)化為數(shù)字量,并通過串行通信的方式與主控制器進(jìn)行數(shù)據(jù)通信。</p><p> DS18B20引腳如圖所示。</p><p> 四.DS18B20時(shí)序圖</p><p&g
13、t;<b> 1.初始化時(shí)序</b></p><p><b> 2.寫時(shí)序</b></p><p><b> 3.讀時(shí)序</b></p><p> 五.STC89C51單片機(jī)簡(jiǎn)介。</p><p> 89C52單片機(jī)主要特性</p><p>
14、 1. 一個(gè)8 位的微處理器(CPU)。</p><p> 2. 片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM(128B),用以存放可以讀/寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等,SST89 系列單片機(jī)最多提供1K 的RAM。</p><p> 3. 片內(nèi)程序存儲(chǔ)器ROM(4KB),用以存放程序、一些原始數(shù)據(jù)和表格。但也有一些單片機(jī)內(nèi)部不帶ROM/EPROM,如8031,8032,80C31
15、等。目前單片機(jī)的發(fā)展趨勢(shì)是將RAM 和ROM 都集成在單片機(jī)里面,這樣既方便了用戶進(jìn)行設(shè)計(jì)又提高了系統(tǒng)的抗干擾性。SST 公司推出的89 系列單片機(jī)分別集成了16K、32K、64K Flash 存儲(chǔ)器,可供用戶根據(jù)需要選用。</p><p> 4. 四個(gè)8 位并行I/O 接口P0~P3,每個(gè)口既可以用作輸入,也可以用作輸出。</p><p> 5. 兩個(gè)定時(shí)器/計(jì)數(shù)器,每個(gè)定時(shí)器/計(jì)數(shù)
16、器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制。為方便設(shè)計(jì)串行通信,目前的52 系列單片機(jī)都會(huì)提供3 個(gè)16 位定時(shí)器/計(jì)數(shù)器。</p><p> 6. 五個(gè)中斷源的中斷控制系統(tǒng)?,F(xiàn)在新推出的單片機(jī)都不只5 個(gè)中斷源,例如SST89E58RD 就有9 個(gè)中斷源。</p><p> 7. 一個(gè)全雙工UART(通用異步接收發(fā)送
17、器)的串行I/O 口,用于實(shí)現(xiàn)單片機(jī)之間或單機(jī)與微機(jī)之間的串行通信。</p><p> 8. 片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達(dá)40MHz,因而大大的提高了指令的執(zhí)行速度。</p><p><b> 系統(tǒng)總仿真電路。</b></p><p> 總程
18、序 (分模塊寫)</p><p><b> 1.main.c</b></p><p> #include<reg51.h></p><p> #include"lcd.h"</p><p> #include"temp.h"</p><
19、p> void LcdDisplay(int);</p><p> sbit K1=P2^0;</p><p> sbit K2=P2^1;</p><p> sbit K3=P2^2;</p><p> sbit K4=P2^3;</p><p> extern int th=20;</p&g
20、t;<p> extern int tl=-10;</p><p> sbit beep=P1^0;</p><p> void main()</p><p><b> { </b></p><p> LcdInit(); </p><p> LcdWriteCom
21、(0xc7);</p><p> LcdWriteData('C'); </p><p><b> while(1)</b></p><p><b> {</b></p><p><b> if(K1==0)</b></p><p&g
22、t;<b> {</b></p><p> Delay1ms(500);</p><p> if(K1==0);</p><p><b> th++;</b></p><p><b> }</b></p><p><b> if(K
23、2==0)</b></p><p><b> {</b></p><p> Delay1ms(500);</p><p> if(K2==0);</p><p><b> th--;</b></p><p><b> }</b>&l
24、t;/p><p><b> if(K3==0)</b></p><p><b> {</b></p><p> Delay1ms(500);</p><p> if(K3==0);</p><p><b> tl++;</b></p>
25、<p><b> }</b></p><p><b> if(K4==0)</b></p><p><b> {</b></p><p> Delay1ms(500);</p><p> if(K4==0);</p><p><
26、;b> tl--;</b></p><p><b> }</b></p><p> LcdDisplay(Ds18b20ReadTemp());</p><p><b> }</b></p><p><b> }</b></p><
27、;p> void LcdDisplay(int temp) </p><p><b> {</b></p><p> int i,tt,rr,mm;</p><p> unsigned char datas[] = {0, 0, 0, 0},datas1[] = {0, 0, 0},datas2[] = {0, 0, 0};&l
28、t;/p><p> float tp; </p><p> if(temp< 0)</p><p><b> {</b></p><p> LcdWriteCom(0xc0);</p><p> LcdWriteData('-'); </p>
29、<p><b> i=1;</b></p><p> temp=temp-1;</p><p> temp=~temp;</p><p><b> tp=temp;</b></p><p> temp=tp*0.0625*10+0.5;</p><p>
30、<b> mm=-temp;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> LcdWriteCom(0xc0);</p>
31、<p> LcdWriteData('+'); </p><p><b> tp=temp;</b></p><p> temp=tp*0.0625*10+0.5;</p><p><b> mm=temp;</b></p><p><b> }<
32、;/b></p><p> datas[0] = temp / 1000;</p><p> datas[1] = temp % 1000 / 100;</p><p> datas[2] = temp % 100 / 10;</p><p> datas[3] = temp% 10;</p><p>
33、 if(th < 0)</p><p><b> {</b></p><p> LcdWriteCom(0x89);</p><p> LcdWriteData('-'); </p><p><b> tt=-th;</b></p><
34、p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> LcdWriteCom(0x89);</p><p> LcdWriteData('+'); </p&
35、gt;<p><b> tt=th;</b></p><p><b> }</b></p><p> datas1[0] = tt / 100;</p><p> datas1[1] = tt% 100 / 10;</p><p> datas1[2] = tt % 10;
36、</p><p> LcdWriteCom(0x87); </p><p> LcdWriteData('H');</p><p> LcdWriteCom(0x88); </p><p> LcdWriteData(':');</p><p> LcdWriteC
37、om(0x8a); </p><p> LcdWriteData('0'+datas1[0]);</p><p> LcdWriteCom(0x8b); </p><p> LcdWriteData('0'+datas1[1]);</p><p> LcdWriteCom(0x8c); &l
38、t;/p><p> LcdWriteData('0'+datas1[2]);</p><p> if(tl < 0)</p><p><b> {</b></p><p> LcdWriteCom(0x90);</p><p> LcdWriteData(
39、9;-'); </p><p><b> rr=-tl;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
40、 LcdWriteCom(0x90);</p><p> LcdWriteData('+'); </p><p><b> rr=tl;</b></p><p><b> }</b></p><p> datas2[0] = rr / 100;</p>
41、<p> datas2[1] = rr% 100 / 10;</p><p> datas2[2] = rr % 10;</p><p> LcdWriteCom(0x8e); </p><p> LcdWriteData('L');</p><p> LcdWriteCom(0x8f); &l
42、t;/p><p> LcdWriteData(':');</p><p> LcdWriteCom(0x91); </p><p> LcdWriteData('0'+datas2[0]);</p><p> LcdWriteCom(0x92); </p><p> Lcd
43、WriteData('0'+datas2[1]);</p><p> LcdWriteCom(0x93); </p><p> LcdWriteData('0'+datas2[2]);</p><p> if(mm>=(th*10)||mm<=(tl*10)||th<=tl)</p><
44、p><b> beep=0;</b></p><p><b> else</b></p><p><b> beep=1;</b></p><p> LcdWriteCom(0x80); </p><p> LcdWriteData('T'
45、); </p><p> LcdWriteCom(0x81); </p><p> LcdWriteData('A'); </p><p> LcdWriteCom(0x82); </p><p> LcdWriteData('I'); </p><p> LcdW
46、riteData(' '); </p><p> LcdWriteCom(0x84); </p><p> LcdWriteData('A'); </p><p> LcdWriteCom(0x85);</p><p> LcdWriteData('N'); </p>
47、<p> LcdWriteCom(0xc1); </p><p> LcdWriteData('0'+datas[0]); </p><p> LcdWriteCom(0xc2); </p><p> LcdWriteData('0'+datas[1]); </p><p> L
48、cdWriteCom(0xc3);</p><p> LcdWriteData('0'+datas[2]); </p><p> LcdWriteCom(0xc4);</p><p> LcdWriteData('.'); </p><p> LcdWriteCom(0xc5);<
49、/p><p> LcdWriteData('0'+datas[3]); </p><p> LcdWriteCom(0xc6);</p><p> LcdWriteData('"'); </p><p><b> }</b></p><p><
50、;b> 2.lcd.h</b></p><p> #ifndef __LCD_H_</p><p> #define __LCD_H_</p><p> /**********************************</p><p> 當(dāng)使用的是4位數(shù)據(jù)傳輸?shù)臅r(shí)候定義,</p><p&g
51、t; 使用8位取消這個(gè)定義</p><p> **********************************/</p><p> #define LCD1602_4PINS</p><p> /**********************************</p><p><b> 包含頭文件</b>
52、;</p><p> **********************************/</p><p> #include<reg51.h></p><p> //---重定義關(guān)鍵詞---//</p><p> #ifndef uchar</p><p> #define uchar uns
53、igned char</p><p><b> #endif</b></p><p> #ifndef uint </p><p> #define uint unsigned int</p><p><b> #endif</b></p><p> /******
54、****************************</p><p><b> PIN口定義</b></p><p> **********************************/</p><p> #define LCD1602_DATAPINS P0</p><p> sbit LCD1602_
55、E=P2^7;</p><p> sbit LCD1602_RW=P2^5;</p><p> sbit LCD1602_RS=P2^6;</p><p> /**********************************</p><p><b> 函數(shù)聲明</b></p><p>
56、 **********************************/</p><p> /*在51單片機(jī)12MHZ時(shí)鐘下的延時(shí)函數(shù)*/</p><p> void Lcd1602_Delay1ms(uint c); //誤差 0us</p><p> /*LCD1602寫入8位命令子函數(shù)*/</p><p> void Lc
57、dWriteCom(uchar com);</p><p> /*LCD1602寫入8位數(shù)據(jù)子函數(shù)*/</p><p> void LcdWriteData(uchar dat);</p><p> /*LCD1602初始化子程序*/</p><p> void LcdInit(); </p>&l
58、t;p><b> #endif</b></p><p><b> 3.temp.h</b></p><p> #ifndef __TEMP_H_</p><p> #define __TEMP_H_</p><p> #include<reg51.h></p>
59、<p> sbit DSPORT=P3^7;</p><p> void Delay1ms(unsigned int );</p><p> unsigned char Ds18b20Init();</p><p> void Ds18b20WriteByte(unsigned char com);</p><p>
60、unsigned char Ds18b20ReadByte();</p><p> void Ds18b20ChangTemp();</p><p> void Ds18b20ReadTempCom();</p><p> int Ds18b20ReadTemp();</p><p><b> #endif</b&
61、gt;</p><p><b> 4.lcd.c</b></p><p> #include"lcd.h"</p><p> void Lcd1602_Delay1ms(uint c) //延時(shí)</p><p><b> {</b></p><p&
62、gt; uchar a,b;</p><p> for (; c>0; c--)</p><p><b> {</b></p><p> for (b=19;b>0;b--)</p><p><b> {</b></p><p> for(a=1;a&
63、gt;0;a--);</p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> #ifndef LCD1602_4PINS //當(dāng)沒有定義這個(gè)LCD1602_4PINS時(shí)<
64、/p><p> void LcdWriteCom(uchar com) //寫入一個(gè)字節(jié)命令</p><p><b> {</b></p><p> LCD1602_E = 0; </p><p> LCD1602_RS = 0; </p><p> LCD1602_RW
65、= 0; </p><p> LCD1602_DATAPINS = com; </p><p> Lcd1602_Delay1ms(1);</p><p> LCD1602_E = 1; </p><p> Lcd1602_Delay1ms(5); </p><p>
66、LCD1602_E = 0;</p><p><b> }</b></p><p><b> #else </b></p><p> void LcdWriteCom(uchar com) </p><p><b> {</b></p><p&g
67、t; LCD1602_E = 0; </p><p> LCD1602_RS = 0; </p><p> LCD1602_RW = 0; </p><p> LCD1602_DATAPINS = com;//由于4位的接線是接到P0口的高四位,所以傳送高四位不用改</p><p> Lcd1602_Delay1ms(1);
68、</p><p> LCD1602_E = 1; </p><p> Lcd1602_Delay1ms(5);</p><p> LCD1602_E = 0;</p><p> LCD1602_DATAPINS = com << 4; //發(fā)送低四位</p><p> Lcd1602_Delay
69、1ms(1);</p><p> LCD1602_E = 1; </p><p> Lcd1602_Delay1ms(5);</p><p> LCD1602_E = 0;</p><p><b> }</b></p><p> #endif </p><p
70、> #ifndef LCD1602_4PINS </p><p> void LcdWriteData(uchar dat)//寫入一個(gè)字節(jié)數(shù)據(jù)</p><p><b> {</b></p><p> LCD1602_E = 0;</p><p> LCD1602_RS = 1;<
71、;/p><p> LCD1602_RW = 0;</p><p> LCD1602_DATAPINS = dat; </p><p> Lcd1602_Delay1ms(1);</p><p> LCD1602_E = 1;</p><p> Lcd1602_Delay1ms(5); </p>
72、<p> LCD1602_E = 0;</p><p><b> }</b></p><p><b> #else</b></p><p> void LcdWriteData(uchar dat)</p><p><b> {</b></p&g
73、t;<p> LCD1602_E = 0; </p><p> LCD1602_RS = 1; </p><p> LCD1602_RW = 0; </p><p> LCD1602_DATAPINS = dat;//由于4位的接線是接到P0口的高四位,所以傳送高四位不用改</p><p> Lcd1602
74、_Delay1ms(1);</p><p> LCD1602_E = 1; //寫入時(shí)序</p><p> Lcd1602_Delay1ms(5);</p><p> LCD1602_E = 0;</p><p> LCD1602_DATAPINS = dat << 4; //寫入低四位</p><
75、p> Lcd1602_Delay1ms(1);</p><p> LCD1602_E = 1; //寫入時(shí)序</p><p> Lcd1602_Delay1ms(5);</p><p> LCD1602_E = 0;</p><p><b> }</b></p><p> #
76、endif </p><p> #ifndefLCD1602_4PINS</p><p> void LcdInit() //LCD初始化子程序</p><p><b> {</b></p><p> LcdWriteCom(0x38); </p><p>
77、LcdWriteCom(0x0c); </p><p> LcdWriteCom(0x06); </p><p> LcdWriteCom(0x01); </p><p> LcdWriteCom(0x80); </p><p><b> }</b></p><p><b>
78、; #else</b></p><p> void LcdInit() </p><p><b> {</b></p><p> LcdWriteCom(0x32); </p><p> LcdWriteCom(0x28); </p><p> LcdWr
79、iteCom(0x0c); </p><p> LcdWriteCom(0x06); </p><p> LcdWriteCom(0x01); </p><p> LcdWriteCom(0x80); </p><p><b> }</b></p><p><b> #
80、endif</b></p><p><b> 5.temp.c</b></p><p> #include"temp.h"</p><p> void Delay1ms(unsigned int y) //延時(shí)</p><p><b> {</b></p
81、><p> unsigned int x;</p><p> for(y;y>0;y--)</p><p> for(x=110;x>0;x--);</p><p><b> }</b></p><p> unsigned char Ds18b20Init()//初始化<
82、/p><p><b> {</b></p><p> unsigned int i;</p><p> DSPORT=0;</p><p><b> i=70;</b></p><p> while(i--);</p><p> DSP
83、ORT=1;</p><p><b> i=0;</b></p><p> while(DSPORT)</p><p><b> {</b></p><p><b> i++;</b></p><p> if(i>5000)</
84、p><p> return 0;//失敗</p><p><b> }</b></p><p> return 1;//成功</p><p><b> }</b></p><p> void Ds18b20WriteByte(unsigned char dat)
85、//寫字節(jié)</p><p><b> {</b></p><p> unsigned int i,j;</p><p> for(j=0;j<8;j++)</p><p><b> {</b></p><p> DSPORT=0;//每寫入一位數(shù)據(jù)之前先
86、把總線拉低1us(數(shù)據(jù)手冊(cè)上模糊)</p><p><b> i++;</b></p><p> DSPORT=dat&0x01; </p><p><b> i=6;</b></p><p> while(i--); </p><p> DSPORT=1
87、;</p><p><b> dat>>=1;</b></p><p><b> }</b></p><p><b> }</b></p><p> unsigned char Ds18b20ReadByte()</p><p>&
88、lt;b> {</b></p><p> unsigned char byte,bi;</p><p> unsigned int i,j;</p><p> for(j=8;j>0;j--)</p><p><b> {</b></p><p><b&g
89、t; DSPORT=0;</b></p><p><b> i++;</b></p><p><b> DSPORT=1;</b></p><p><b> i++;</b></p><p><b> i++;</b></p&g
90、t;<p> bi=DSPORT; </p><p> byte=(byte>>1)|(bi<<7); </p><p><b> i=4;</b></p><p> while(i--);</p><p><b> }</b>
91、;</p><p> return byte;</p><p><b> }</b></p><p> void Ds18b20ChangTemp() //溫度轉(zhuǎn)換</p><p><b> {</b></p><p> Ds18b20Init();</p&
92、gt;<p> Delay1ms(1);</p><p> Ds18b20WriteByte(0xcc); </p><p> Ds18b20WriteByte(0x44); </p><p><b> }</b></p><p> void Ds18b20ReadTempCom
93、()//讀取溫度命令</p><p><b> {</b></p><p> Ds18b20Init();</p><p> Delay1ms(1);</p><p> Ds18b20WriteByte(0xcc); </p><p> Ds18b20WriteByte(0xbe)
94、; </p><p><b> }</b></p><p> int Ds18b20ReadTemp() //讀取溫度</p><p><b> {</b></p><p> int temp=0;</p><p> unsigned char tmh,tml;&
95、lt;/p><p> Ds18b20ChangTemp(); </p><p> Ds18b20ReadTempCom();</p><p> tml=Ds18b20ReadByte();</p><p> tmh=Ds18b20ReadByte();</p><p><b> tem
96、p=tmh;</b></p><p><b> temp<<=8;</b></p><p> temp|=tml;</p><p> return temp;</p><p><b> }</b></p><p><b> 心得體會(huì)
97、</b></p><p> 通過兩個(gè)星期的努力,我的單片機(jī)課程設(shè)計(jì)基于DS18B20的溫度顯示系統(tǒng),終于完成了。雖然功能還不是很完善但卻讓我通過此次設(shè)計(jì)學(xué)會(huì)了不少東西。學(xué)會(huì)了keil和proteus軟件的使用,從原本的生澀到現(xiàn)在的純熟,是一個(gè)進(jìn)步的過程!并且自己用C語(yǔ)言來編寫代碼,又通過這次課程設(shè)計(jì)學(xué)到了很多東西,部分跟C不太一樣,通過網(wǎng)絡(luò)的查找與應(yīng)用,取得了不錯(cuò)的成效!</p>&l
98、t;p> 這次課程設(shè)計(jì)讓我清楚的認(rèn)識(shí)到只有理論與實(shí)踐相結(jié)合才是真正的學(xué)習(xí)!為了自己的將來,我定會(huì)認(rèn)真學(xué)好大學(xué)課程,在圖書館與網(wǎng)絡(luò)上拓寬自己的知識(shí)(網(wǎng)絡(luò)對(duì)我們的幫助很大),努力進(jìn)取,實(shí)現(xiàn)自己的抱負(fù)與理想!</p><p><b> 參考文獻(xiàn)</b></p><p> 張俊謨著 《單片機(jī)中級(jí)教程》,(第二版)。</p><p> 《C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- ds18b20數(shù)字溫度計(jì)設(shè)計(jì)課程設(shè)計(jì)
- ds18b20溫度計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)-基于ds18b20數(shù)字溫度計(jì)的設(shè)計(jì)
- 數(shù)字溫度計(jì)ds18b20課程設(shè)計(jì)報(bào)告
- ds18b20數(shù)字溫度計(jì)的設(shè)計(jì)
- 基于ds18b20數(shù)字式溫度計(jì)課程設(shè)計(jì)
- 傳感器課程設(shè)計(jì)-----ds18b20數(shù)字溫度計(jì)的設(shè)計(jì)
- 單片機(jī)溫度計(jì)課程設(shè)計(jì)--基于ds18b20的溫度計(jì)
- 畢業(yè)設(shè)計(jì)----ds18b20數(shù)字溫度計(jì)論文
- ds18b20 數(shù)字溫度計(jì)外文翻譯
- 畢業(yè)設(shè)計(jì)---ds18b20數(shù)字溫度計(jì)的設(shè)計(jì)
- 課程設(shè)計(jì)--基于單片機(jī)的ds18b20數(shù)字溫度計(jì)設(shè)計(jì)
- 外文翻譯---ds18b20 數(shù)字溫度計(jì)
- 基于ds18b20的溫度計(jì)設(shè)計(jì)
- 基于ds18b20和1602的溫度計(jì)課程設(shè)計(jì)報(bào)告
- 基于單片機(jī)設(shè)計(jì)的溫度計(jì)(ds18b20)課程設(shè)計(jì)
- ds18b20 數(shù)字溫度計(jì)外文資料翻譯
- 基于ds18b20的數(shù)字溫度計(jì)設(shè)計(jì)與實(shí)現(xiàn)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--ds18b20數(shù)字溫度計(jì)的設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)--基于51單片機(jī)與ds18b20的數(shù)字溫度計(jì)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論