可調(diào)萬年歷以及溫度1602顯示設(shè)計(jì)完全源程序_第1頁
可調(diào)萬年歷以及溫度1602顯示設(shè)計(jì)完全源程序_第2頁
可調(diào)萬年歷以及溫度1602顯示設(shè)計(jì)完全源程序_第3頁
可調(diào)萬年歷以及溫度1602顯示設(shè)計(jì)完全源程序_第4頁
可調(diào)萬年歷以及溫度1602顯示設(shè)計(jì)完全源程序_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、/*此 部 分 為*/18B20的驅(qū)動(dòng)程序#include #include sbitD18B20=P37;#defineNOP()_nop_() #define _Nop()_nop_()/* 定義空指令 */*定義空指令*/void TempDelay (unsigned char idata us); void Init18b20 (void);void WriteByte (unsigned char idata wr);/單字節(jié)寫入 void read_bytes (unsigned char idata j);unsigned char CRC (unsigned char j);

2、 void GemTemp (void);void Config18b20 (void); void ReadID (void);void TemperatuerResult(void);bitflag; unsignedidaemperature; emp_buff9; /unsigned char ida ID 為 8 字節(jié)的字節(jié),read scratchpad 為 9 字節(jié),read romunsigned char idata id_buff8; unsigned char idata *p,TIM;unsigned char idrc_data;unsigned char code

3、CrcTable 256= 0,94, 188,226,97,63,221,65,131,194,156,126,32,163,253,31,157,220,35,98,190,255,70,89,219,154,101,36,248,185,140,205,17,195,33,127,252,162,64,30,95,1,227,189,62,96,130,125,159,193,66,28,254,160,225,191,93,3,128,222,60,224,2,92,223,129,99,61,124,34,192,158,29,67,161,24,250,7,133, 103,164

4、,39,121,155,197,132,218,56,102,229,187,57,186,228,6,88,25,71,165,251,120,38,196,59, 217,135,4,90,184,230,167,249,27,69,198,152,122,166, 68,26,153,199,37,123,58,100,134,216,91,5,231,210, 48,110,237,179,81,15,78,16,242,172,47,113,147,79,173,243,112,46,204,146,211,141,111,49,178,236,14,175,238,50,45,20

5、2,139,87,72,233,246,116,107,/80,241, 19,77,206,144,114,44,109,51,209,143,12,82,176,108,142,208,83,13,115,239,177,240,174,76,18,145,207,148, 118,40,171,245,23,73,8,86,180,234,105,55,213,9,235,181,22,183,85,11,168,54,104,138,212,149,203,41,119,244,170,136,214,52,106,43,117,151,201,74,20,42,200,150,21,

6、75,169,247,182,232,10,84,215,137,53;/*Function:延時(shí)處理*parameter:*Return:*Modify:*/ void TempDelay (unsigned char idata us)while(us-);/*Function:18B20 初始化*parameter:*Return:*Modify:*/ void Init18b20 (void)D18B20=1;_nop_(); D18B20=0;TempDelay(80);_nop_(); D18B20=1;TempDelay(14);_nop_();_nop_();_nop_();/

7、delay 530 uS/80/delay 100 uS/14if(D18B20=0)flag = 1;elseflag = 0; TempDelay(20);_nop_();_nop_(); D18B20 = 1;/detect 1820 sucs!/detect 1820 fail!/20/*Function:向 18B20 寫入一個(gè)字節(jié)*parameter:*Return:*Modify:*/ void WriteByte (unsigned char idata wr)/單字節(jié)寫入unsigned char idata i; for (i=0;i= 1;/delay 45 uS /5/

8、*Function:讀 18B20 的一個(gè)字節(jié)*parameter:*Return:*Modify:*/unsigned char ReadByte (void)unsigned char idata i,u=0; for(i=0;i= 1;D18B20 = 1; if(D18B20=1)u |= 0 x80; TempDelay (2);_nop_();return(u);/單字節(jié)/*Function:讀 18B20*parameter:*Return:*Modify:*/ void read_bytes (unsigned char idata j)unsigned char idata

9、i; for(i=0;ij;i+)*p = ReadByte(); p+;/*Function:CRC 校驗(yàn)*parameter:*Return:*Modify:*/ unsigned char CRC (unsigned char j)unsigned char idata i,crc_data=0; for(i=0;ij;i+)/查表校驗(yàn)crc_data = CrcTablecrc_da return (crc_data);emp_buffi;/*Function:*parameter:*Return:*Modify:溫度*/ void GemTemp (void)read_bytes (

10、9);if (CRC(9)=0) /校驗(yàn)正確Temperature = temp_buff1*0 x100 + temp_buff0;/Temperature *= 0.625;Temperature /= 16; TempDelay(1);/*Function:內(nèi)部配置*parameter:*Return:*Modify:*/void Config18b20 (void)/重新配置限定值和分辨率Init18b20(); WriteByte(0 xcc); WriteByte(0 x4e); WriteByte(0 x19); WriteByte(0 x1a); WriteByte(0 x7f

11、); Init18b20(); WriteByte(0 xcc); WriteByte(0 x48); Init18b20(); WriteByte(0 xcc); WriteByte(0 xb8);/skip rom/write scratchpad/上限/下限/set 11 bit (0.125)/skip rom/保存設(shè)定值/skip rom/回調(diào)設(shè)定值/*Function:讀 18B20ID*parameter:*Return:*Modify:*/ void ReadID (void)/器件 idInit18b20();WriteByte(0 x33);/read rom read_bytes(8);/*Function:18B20ID 全處理*parameter:*Return:*Modify:*/ void TemperatuerResult(void)p = id_buff; ReadID(); Config18b20(); Init18b20 ();WriteByte(0 xcc); WriteByte(0 x44);/skip rom/Temperature convertInit18b20 (); WriteByte(0 xcc); WriteByte(0 xbe); p = temp_buff; GemTemp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論