新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AT89S52與DS18B20數(shù)字溫度傳感器測試結(jié)束

AT89S52與DS18B20數(shù)字溫度傳感器測試結(jié)束

作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
/************************************************************************ 溫度獲取***********************************************************************/void get_tem(){uchar tem1,tem2;float aaa;reset(); //復(fù)位write_byte(0xCC);//跳過ROMwrite_byte(0x44);//溫度轉(zhuǎn)換reset();write_byte(0xCC);write_byte(0xBE);tem1=read_byte();tem2=read_byte();TH=tem2;if(tem2>0x7f)tem2=~tem2;aaa=(tem2*256+tem1)*6.25;temper=(int)aaa;a1=temper/1000;a2=temper%1000/100;a3=temper%100/10;a4=temper%10;}/************************************************************************ 清屏***********************************************************************/void init(){P1=0x00;P0=0xff;}/*********************************************************************** * 正溫度時,顯示************************************************************************/void disp(uchar num1,uchar num2,uchar num3,uchar num4){P1=table[num1];P0=0xfe;delayms(2);P1=table1[num2];P0=0xfd;delayms(2);P1=table[num3];P0=0xfb;delayms(2);P1=table[num4];P0=0xf7;delayms(2);}/*********************************************************************** * 負(fù)溫度時,顯示************************************************************************/void disp1(uchar num1,uchar num2,uchar num3){P1=0x40;//顯示負(fù)號P0=0xfe;delayms(2);P1=table[num1];P0=0xfd;delayms(2);P1=table1[num2];P0=0xfb;delayms(2);P1=table[num3];P0=0xf7;delayms(2);}/*********************************************************************** * 毫秒級的延時* 晶振7.3728M***********************************************************************/ void delayms(uchar i) //誤差 -0.651041666667us{uchar a,b;for(;i>0;i--)for(b=47;b>0;b--)for(a=5;a>0;a--);}/*********************************************************************** * 定時器0中斷服務(wù)程序, 設(shè)置20毫秒計時器。每1秒鐘采集一次溫度值************************************************************************/void Timer0Interrupt(void) interrupt 1{TH0 = 0x88;TL0 = 0x00;//add your code here!time++;if(time==20){time=0;get_tem();}}
上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉