em mô phỏng trên protues thì đọc được rồi.nhưng khi đọc trên thực tế thì nó hiển thị fffffffffffff.khi mô phỏng e test thì nó đoc được mấy con rồi.(code này đọc rom code 1 con trên bus).mong tiền bối giúp đỡ.em đã kiểm tra DS18B20 và sơ đồ kết nối đều đúng.
đoạn code của e nó đây.
#include <16f887.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#define ONE_WIRE_PIN PIN_A0
#use delay(clock=20000000)
#include <one_wire.c>
#include <lcd_lxt.c>
void main()
{set_tris_a(0xff);
int8 code[8]; //khai bao bien mang 8 phan tu, moi phan tu 8bit.
OneWire_Reset();
OneWire_Write(0x33);
code[0] = OneWire_Read();
code[1] = OneWire_Read();
code[2] = OneWire_Read();
code[3] = OneWire_Read();
code[4] = OneWire_Read();
code[5] = OneWire_Read();
code[6] = OneWire_Read();
code[7] = OneWire_Read();
lcd_init();
lcd_putc("ROM CODE :");
printf(lcd_putc,"\n%x%x%x%x%x%x%x%x",code[7],code[6],code[5],code[4],code[3],
code[2],code[1],code[0]);
}
đoạn code của e nó đây.
#include <16f887.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#define ONE_WIRE_PIN PIN_A0
#use delay(clock=20000000)
#include <one_wire.c>
#include <lcd_lxt.c>
void main()
{set_tris_a(0xff);
int8 code[8]; //khai bao bien mang 8 phan tu, moi phan tu 8bit.
OneWire_Reset();
OneWire_Write(0x33);
code[0] = OneWire_Read();
code[1] = OneWire_Read();
code[2] = OneWire_Read();
code[3] = OneWire_Read();
code[4] = OneWire_Read();
code[5] = OneWire_Read();
code[6] = OneWire_Read();
code[7] = OneWire_Read();
lcd_init();
lcd_putc("ROM CODE :");
printf(lcd_putc,"\n%x%x%x%x%x%x%x%x",code[7],code[6],code[5],code[4],code[3],
code[2],code[1],code[0]);
}