Professional Documents
Culture Documents
(Codientu.org) - giao Tiếp Với Ds18b20 Dùng Pic16f887
(Codientu.org) - giao Tiếp Với Ds18b20 Dùng Pic16f887
Vi li v DS18B20
Page 1
Trong :
Vdd l chn cp ngun t 3 5.5 VDC, thng thng l 5 VDC cng ngun vi vk.
Cch kt ni DS18B20 vi vk
Page 2
1.3.
Cc tp lnh ca DS18B20
Page 3
Page 4
Khi to DS18B20
Page 5
Theo , reset v khi to DS18B20 chng ta cn: khi to chn DQ (l mt chn I/O bt k
ca vk, chn ny c ni vi chn DQ ca DS18B20. V d y ti dng chn RA4) l ng
ra, sau set chn ny mc 0 t nht l 480s, sau khi to chn DQ l ng vo ri delay
mt khong t nht l 480s.
Page 6
Cc bn xem code:
void onewire_reset()
{
TDQ=0;
// khi to chn DQ l ng ra
DQ = 0;
//set DQ l mc 0
__delay_us(500);
TDQ=1;DQ=1;
// khi to chn DQ l ng vo
__delay_us(500);
Page 7
3.2.
{
TDQ=0;
//DQ l ng ra
DQ = 0;
//set DQ l mc 0
DQ = (data&0x01);
Page 8
__delay_us(60);
DQ = 1;
// set DQ l mc 1
data>>=1;
}
}
3.3.
c gi tr nhit t DS18B20
Page 9
TDQ=0;
DQ = 0;
data>>=1;
DQ = 1;
TDQ=1;DQ=1;
//DQ l ng vo
if(DQ)
data|=0x80;
__delay_us(120);
}
return(data);
//tr v gi tr data
}
Nh vy l xong nhng hm c bn giao tip vi DS18B20. By gi chng ta hy tp hp
chng li to thnh mt hm va khi to, ghi, c v tnh kt qu lun. Cc bn xem code:
float ds18b20_read()
{
unsigned char busy=0, temp1, temp2;
int temp3;
float result;
onewire_reset();
write_byte(0xCC);
write_byte(0x44);
__delay_us(200);
onewire_reset();
write_byte(0xCC);
Page 10
write_byte(0xBE);
//Read scratchpad
temp1 = read_byte();
temp2 = read_byte();
temp3 = (temp2*256+temp1);
result = (float) temp3 / 16.0;
__delay_ms(200);
// ??????
return(result);
}
Nhng cu lnh nh:
Write_byte(0xCC); cc bn quay ngc ln trn, mc 1.3. Cc tp lnh ca DS18B20 xem
0xCC l lnh g nha.
Nh vy l xong, ch cn vit thm hm main cho vk lm vic. y l hm main:
void main()
{
lcd_init();
//
lcd_gotoxy(0,0);
printf("\fHOANG KHANH THAN");
__delay_ms(1000);
lcd_gotoxy(0,1);
printf("
DH-SPKT");
__delay_ms(2500);
//
lcd_gotoxy(0,0);
printf("\f");
float temperature;
Page 11
while(1)
{
temperature=ds18b20_read();
lcd_gotoxy(0,0);
printf("NHIET DO: %3.2f",temperature);
}
}
V phn hin th ln LCD cc bn t tham kho hoc ti source code ti:
http://www.mediafire.com/?bjjiq3886bybqr0
Nh vy l kt thc phin giao dch vi DS18B20 mt cch thnh cng tt p. Chc cc bn
thnh cng.
Mi kin ng gp hay thc mc cc bn hy gi vo email: khanhthan.hoang@gmail.com
thn i!
Page 12