$regfile = "m32def.dat" 'ATmega 32 $crystal = 10500000 'Quarz: 8 MHz $baud = 9600 $hwstack = 32 'hardware stack $swstack = 10 'software stack $framesize = 40 Config Adc = Single , Prescaler = Auto , Reference = Off Config Timer1 = Timer , Prescale = 1024 Enable Timer1 On Timer1 Isr_von_timer1 Enable Interrupts Timer1 = 55281 Dim Ad As Word 'adc0 Dim Ad1 As Word 'adc1 Dim Ad2 As Word 'adc2 Dim Bd As Word 'hilfsvaribale adc0 Dim Bd1 As Word 'hilfsvariable adc1 Dim Bd2 As Word 'hilfsvariable adc2 Dim Temp As Byte 'innentemp Dim Temp1 As Byte 'aussentemp Dim Druck As Byte 'luftdruck Dim Durchlaufe As Byte Start Adc Dim ___lcdno As Byte 'Umschaltbyte für Anzeige : '0 = Chip 1 ; 1 = Chip 2 'LCD initialisieren Config Lcd = 40 * 4 'Anzeigemodus 40 x 4 Zeichen Config Lcdpin = Pin , E2 = Portc.3 ___lcdno = 0 Initlcd 'die beiden oberen Zeilen 'initialisieren Cls 'die beiden oberen Zeilen löschen ___lcdno = 1 'auf Chip 2 schalten Initlcd 'die beiden unteren Zeilen 'initialisieren Cls Dim A As Long Print "Initallisirung...Bitte warten" ___lcdno = 0 Locate 1 , 1 Lcd "Initallisirung...Bitte warten" Wait 5 Durchlaufe = 0 Cls Do For A = 1 To 30 Ad = Getadc(0) Ad1 = Getadc(1) Ad2 = Getadc(2) ___lcdno = 1 Locate 2 , 1 Lcd "ADC0: " ; Ad ; " ADC1 " ; Ad1 ; " ADC2: " ; Ad2 Bd = Bd + Ad Bd1 = Bd1 + Ad1 Durchlaufe = A Waitms 1 Next A Ad = Bd / Durchlaufe Ad1 = Bd1 / Durchlaufe Temp = Ad - 656 Temp1 = Ad1 - 640 ___lcdno = 0 'Chip1 Locate 1 , 1 'Zeile 1 Chip1 Lcd "Klimadaten by Tipfix (C)2008" Locate 2 , 1 'Zeile 2 Chip1 Lcd "Innen Temp.: " ; Temp ; Chr(223) ; "C" Cursor Off 'Die 2 unteren Zeilen anzeigen ___lcdno = 1 'Chip2 Locate 1 , 1 'Zeile 1 Chip2 Lcd "Aussen Temp.:" ; Temp1 ; Chr(223) ; "C" 'Zeile 2 Chip2 'Lcd Ad Cursor Off Print "Innen Temp.: " ; Temp ; Chr(176) ; "C" Print "Aussen Temp.: " ; Temp1 ; Chr(176) ; "C" Print "Luftdrucksensor: " ; Ad2 Wait 1 Durchlaufe = 0 Bd = 0 Bd1 = 0 Loop End Isr_von_timer1: Timer1 = 55281 Return