Bài 10-Giao Tiếp Với DS18B20

Preview:

DESCRIPTION

gft

Citation preview

Bi 10: Giao tip vi DS18B20XIN CHO CC BN!Trong bi vit ny ti xin trnh by bi ton o v hin th gi tr nhit ln LCD1602 s dng DS18b20.I.CU TO V NHNG C TNH K THUT CA DS18B20.1.CU TO.Cm bin o nhit DS18b20 s dng chun giao tip 1 WIRE (ng dn tn hiu v ng dn in p ngun nui c th dng chung trn mt dy dn). Ngoi ra, nhiu cm bin c th dng chung trn mt ng dn (Rt thch hp vi cc ng dng o lng a im).Cm bin DS18b20 thng dng gm c 3 chn: VCC, GND, DATA nh hnh di:S kt ni:

2.C TNH K THUT.Cc c im k thut ca cm bin DS1820 c th k ra mt cch tm tt nh sau: phn gii khi o nhit l 9 bit . Di o nhit -55oC n 125oC, tng bc 0,5oC, c th t chnh xc n 0,1oC bng vic hiu chnh qua phn mm (C th t n cc phn gii 10 bit, 11 bit, 12 bit).in p ngun nui c th thay i trong khong rng (t 3,0 V n 5,5 V).Dng tiu th ti ch ngh cc nh.Thi gian ly mu v bin i thnh s tng i nhanh, khng qu 200 ms.Mi cm bin c mt m nh danh duy nht 64 bit cha trong b nh ROM trn chip (on chip).

II.LP TRNH O NHIT VI VI IU KHIN 89S52.Khi x l DS18b20, cc bn cn ch ti 2 nhm lnh (C th c th xem datasheet DS18b20):Lnhtruy cp ROMLnhchc nng b nh.Trong bi tp ny, x l c nhit o c t DS18b20 cc bn cn quan tm hm:-float ds18b20_readtemp(void):y l hm gip cc bn tnh ton v tr v gi tr nhit m DS18b2 o c.HTML:float ds18b20_readtemp(void){ float temp; unsigned char a,b; DS18B20_Init(); // Khoi tao DS18b20 ds18b20_writebyte(0xCC) ; // Cho phep VDK truy cap thang den cac lenh bo nho cua DS18b20 ds18b20_writebyte(0x44) ; // Khoi dong qua trinh do va chuyen doi nhiet do ra so nhi phan DS18B20_Init() ; ds18b20_writebyte(0xCC) ; ds18b20_writebyte(0xBE) ; // Cho phep doc du lieu tu bo nho DS18b20 ra ngoai a = ds18b20_readbyte(); temp=((float)(a&0x0f))/16; // Lay phan thuc cua gia tri nhiet do b = ds18b20_readbyte(); a =((a&0xf0)>>4)|((b&0x0f)