標(biāo)題:
單線掛載多路ds18b20的單片機(jī)源程序
[打印本頁]
作者:
xiuyueyuan2013
時間:
2018-1-13 16:01
標(biāo)題:
單線掛載多路ds18b20的單片機(jī)源程序
單線掛載多個ds18b20源碼,一份讀取單個ds18b20 rom,一份掛載多個ds18b20的,程序里只掛載了兩個,修改一下可以掛載多個,lcd1602顯示讀取的溫度
0.jpg
(9.82 KB, 下載次數(shù): 58)
下載附件
2018-1-13 18:27 上傳
單片機(jī)源程序如下:
#include"ds18b20.h"
uchar rom[2][8]={
{0x28,0x6e,0xe4,0x4d,0x06,0x00,0x00,0xa7},
{0x28,0xff,0xa3,0xfd,0xa4,0x16,0x05,0xc8}};
int temp[2];
void dsinit()
{
uchar i;
dsport=0;
i=90;
while(i--);
dsport=1;
i++;
i++;
while(dsport);
while(!dsport);
i++;
i++;
}
void dssendbit(bit x)
{
uchar i;
dsport=0;
i++;
i++;
dsport=x;
i=9;
while(i--);
dsport=1;
i++;
i++;
}
bit dsreadbit()
{
uchar i;
bit x=0;
dsport=0;
i++;
i++;
dsport=1;
i++;
i++;
if(dsport)
{
x=1;
}
i=9;
while(i--);
return x;
}
void dssendbyte(uchar byte)
{
uchar n;
for(n=0;n<8;n++)
{
dssendbit(byte&0x01);
byte>>=1;
}
}
uchar dsreadbyte()
{
uchar n,dat;
for(n=0;n<8;n++)
{
dat>>=1;
if(dsreadbit())
{
dat|=0x80;
}
}
return dat;
}
/*void dsconvert()
{
uchar i;
dsinit();
dssendbyte(0xcc);
dssendbyte(0x44);
i++;
i++;
while(!dsport);
i++;
i++;
}
void dsreadtempcom()
{
dsinit();
dssendbyte(0xcc);
dssendbyte(0xbe);
}*/
void dsreadtemp()
{
uchar tml,tmh,n,v,i;
for(n=0;n<2;n++)
{
dsinit();
dssendbyte(0x55);
for(v=0;v<8;v++)
{
dssendbyte(rom[n][v]);
}
dssendbyte(0x44);
i++;
i++;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
單線掛載多路ds18b20.zip
(75.52 KB, 下載次數(shù): 70)
2018-1-13 16:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
rrqxx
時間:
2018-1-13 20:02
這個可以有,下載來看看。
作者:
xiuyueyuan2013
時間:
2018-1-14 02:57
本帖最后由 xiuyueyuan2013 于 2018-1-14 13:23 編輯
那個搜索警報的命令0xec怎么用,高手指導(dǎo)下哈,自己沒看懂pdf說明
作者:
2633664670
時間:
2018-11-16 20:53
改了端口,但為什么沒法顯示序列號啊 rom
作者:
雨潔
時間:
2019-9-9 08:57
感謝樓主
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1