LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

[PROJEKT] Wielokanałowy termometr i termostat z wyświetlaczem OLED [1]

Kiedy czujniki są zidentyfikowane, to trzeba z każdego z nich odczytać temperaturę i przekonwertować ją na wartość w stopniach Celsjusza. Odczytywanie temperatury realizuje funkcja ReadRawTemp pokazana na listingu 15. Jej argumentem jest kolejny numer urządzenia.

List. 15. Odczyt temperatury z rejestrów czujnika

unsigned int ReadRawTemp(unsigned char device) {
  int HighByte, LowByte;
  Send_MatchRom(device); // wybór urządzenia.
  write_byte(0xbe); // komenda Read Scratchpad
  LowByte=read_byte(); //odczytanie rejestrów temperatury
  HighByte=read_byte();
  return (HighByte << 8) + LowByte;
}
 
//wybór urządzenia
unsigned char Send_MatchRom(unsigned char DeviceNo)
{
  unsigned char i;
  if(DS_reset())
    return FALSE;
  write_byte(0x55); // match ROM
  for(i=0;i<8;i++) {
    write_byte(FoundROM[DeviceNo][i]); //send ROM code
  }
  return TRUE;
}

Druga część artykułu jest dostępna tu.

Absolwent Wydziału Elektroniki Politechniki Wrocławskiej, współpracownik miesięcznika Elektronika Praktyczna, autor książek o mikrokontrolerach Microchip i wyświetlaczach graficznych, wydanych nakładem Wydawnictwa BTC. Zawodowo zajmuje się projektowaniem zaawansowanych systemów mikroprocesorowych.