|
部分源碼:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit shi=P2^0;
sbit ge=P2^1;
sbit DQ=P2^2;
sbit C=P2^3;
sbit D=P2^4;
uint temp;
void delay(uint t) //延時(shí)函數(shù)
{ while(t--); }
void init_ds18b20( ) //DS18B20初始化
{
uchar n;
DQ=1; delay(8);
DQ=0; delay(80);
DQ=1; delay(14);
n=DQ; delay(20);
}
void write_byte(uchar dat) //寫(xiě)一個(gè)字節(jié)函數(shù)
{
uchar i;
for(i=0;i<8;i++)
{
DQ=0; DQ=dat&0x01;
delay(4);
DQ=1; dat=dat>>1;
}
}
uchar read_byte( ) //讀一個(gè)字節(jié)函數(shù)
{
uchar i,value;
for(i=0;i<8;i++)
{
DQ=0; value>>=1;
DQ=1; if(DQ) value|=0x80; delay(4);
}
return value;
}
uchar readtemperature( ) //讀取溫度函數(shù)
{
uchar a,b;
uint t=0;
init_ds18b20(); write_byte(0xcc); write_byte(0x44);
init_ds18b20(); write_byte(0xcc); write_byte(0xbe);
a=read_byte(); b=read_byte();
t=b; t<<=8; t=t|a; t=t*0.0625+0.5;
return t;
}
|
-
-
-
單片機(jī)溫度檢測(cè).rar
2019-2-27 18:00 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
53.13 KB, 下載次數(shù): 49, 下載積分: 黑幣 -5
Proteus仿真及代碼
評(píng)分
-
查看全部評(píng)分
|