Ⅰ 單片機中如何將DS18b20測得的溫度通過串口發送到電腦的串口調試助手上呢
串口是可以發送16進制的數的。我常用的簡單方法是,在單片機里這樣寫:
int t;
float tt; //溫度值
char i;
unsigned char *p;
Init_DS18B20();
WriteOneChar(0xCC); //跳過讀序號列號的操作
delay(40);//delay(4);
WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度
a=ReadOneChar();
b=ReadOneChar();
t=b;
t<<=8;
t=t|a;
tt=t*0.0625; 轉換成溫度.可用
p= (unsigned char *) (&tt);
for(i=3;i>=0;i--)
{
TI = 0;
SBUF = p[i];
while(TI==0);
}
到計算機這邊,在把他轉換回來就好了;
例如:
BYTE RECV[4]; // 這是計算機收到的字元串;
float *fp = (float*)RECV;
float t = *fp; //t里就是收到的18B20的溫度了
Ⅱ 單片機採集的數據如何即時顯示在電腦顯示器上並存儲
1、首先做一塊電路板(或者買一塊帶USB通訊的開發板),將PIC32的USB通訊管腳D+、D-通過USB座子引出來連接到電腦上。