Temparaturabhäniger portsterueung

OP #1044400
#define  F_CPU 3686400
#include <util/delay.h>
#include <avr/io.h>
#include "twimaster.h"
#include "twimaster.c"
#include "lcd.c"


#define TWI_ADR    0x00
#define _TWINT    0b10000000
#define _TWEN    0b00000100
#define LM75_ADR  0b10010000
#define LM75_CONFIG  0b00000001
#define LM75_HYST  0b00000010
#define LM75_SET  0b00000011
#define LM75_TEMP  0b00000000



int main(void)
 {
   DDRC = 0x1F;

   unsigned char ret1,ret2;
  unsigned char t[4];
    ;
    wait_ms(200);
  lcd_init();
  i2c_init();
                              // initialize I2C library


     // init LM75
  i2c_start_wait(LM75_ADR+I2C_WRITE);
  i2c_write(LM75_CONFIG);          // Config Register auswählen
  i2c_write(0);
  i2c_write(0);
   i2c_stop();

  i2c_start_wait(LM75_ADR+I2C_WRITE);
  i2c_write(LM75_HYST);          // Config Register auswählen
  i2c_write(19);
  i2c_write(0);
   i2c_stop();

  i2c_start_wait(LM75_ADR+I2C_WRITE);
  i2c_write(LM75_SET);          // Config Register auswählen
  i2c_write(21);
  i2c_write(0);
   i2c_stop();



     while(1)
   {

   lcd_write1("Temparatur");
   wait_ms(100);
   lcd_goto(2, 1);
   wait_ms(100);

   i2c_start_wait(LM75_ADR+I2C_WRITE);     // set device address and 
write mode
        i2c_write(LM75_TEMP);
   i2c_rep_start(LM75_ADR+I2C_READ);       // set device address and 
read mode
   ret1 = i2c_readAck();                    // read first byte from LM75
   ret2 = i2c_readNak();                    // read second byte from 
LM75
   i2c_stop();

   sprintf(t, "%d", ret1);
   lcd_write1(t);
   wait_ms(100);
   lcd_write1(",");
   wait_ms(100);
   ret2 &= 0x80;
   if(ret2 == 0b00000000)
    lcd_write1("0");
   else
     lcd_write1("5");
   wait_ms(100);

   wait_ms(200);
   wait_ms(200);
   wait_ms(200);
   wait_ms(200);
   wait_ms(200);
   wait_ms(200);
   wait_ms(200);
   wait_ms(200);
   wait_ms(200);
   lcd_home();
   }
}

hallo ich bin noch ma undzwar ich nutze den oben genannten code. und 
benutze das Avr board 2 und nen lm 75 und wollte wohl das ich bei 
bestimmten temparaturen ports anschalten kann und ich hab gelesen das 
ich da was umwandeln muss. weiß nur nich was und wie. wollte dann einach 
über if( temparatur über zb 20) dann halt Port.... geht das so einfach?

mfg Blade


kann ich da nich einfach If(t >= 20) dann tu .....??

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.