HI

@Hubert.G
irgendwie will es nicht klappen!
hier ein teil des Programmes zumindest die nötigen sachen.



Code:
#include <stdlib.h>
#include <avr/io.h>
#include <avr/pgmspace.h> //String im Flash belassen
#include "lcd.h"
#include <util/delay.h>
#include <string.h> 

#include <inttypes.h>



/*
** constant definitions
*/
static const PROGMEM unsigned char copyRightChar[] =
{
	0x07, 0x08, 0x13, 0x14, 0x14, 0x13, 0x08, 0x07,
	0x00, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x00
};



// die Funktion "Verzögerung" ins Programm einbringen
 
void delay_ms(uint16_t ms)
{

	for(uint16_t t=0; t<=ms; t++)
		_delay_ms(1);
}








int main(void)
{



uint16_t readADC(uint8_t channel) 
{
	uint8_t i;
	uint16_t result = 0;

	
	// Den ADC aktivieren und Teilungsfaktor auf 64 stellen
	ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1);

	// Kanal des Multiplexers waehlen
	ADMUX = channel;
	// Interne Referenzspannung verwenden (also 2,56 V)
//	ADMUX |= (1<<REFS1) | (1<<REFS0);

	//AVCC als Referenzspannung verwenden
   ADMUX |= (1<<REFS0); 
	
	// Den ADC initialisieren und einen sog. Dummyreadout machen
	ADCSRA |= (1<<ADSC);
	while(ADCSRA & (1<<ADSC));
	
	// Jetzt 3x die analoge Spannung and Kanal channel auslesen
	// und dann Durchschnittswert ausrechnen.
	for(i=0; i<4; i++) {
		// Eine Wandlung
		ADCSRA |= (1<<ADSC);
		// Auf Ergebnis warten...
		while(ADCSRA & (1<<ADSC));
		
		result += ADCW;
	}
	
	// ADC wieder deaktivieren
	ADCSRA &= ~(1<<ADEN);
	
	result /= 4;
	

	return result;
}









   
   
char fuellzeichen[5][6]PROGMEM ={"0"," ","  ","   ","    "};/* Texte für die LCD-Ausgabe im Flash*/

if (strlen(x) ==4){
   lcd_puts_p(fuellzeichen[1]);
   }
   else if(strlen(y) ==3){
   lcd_puts_p(fuellzeichen[2]);
   }














//Variablen deklarieren

    char Out[80];
    char buffer[20];
	int setup_zeit = 180;
	int setup_temp = 50;
    int bild_aufruf = 0;
	int ist_zeit = 0;
	int ist_temp = 0;
	int summer = 0;
	int automatik_betrieb = 0;
	int y = 0;
	int x = 0;
	int z = 0;
@vohopri
wenn ich ständig -1000 rechnen würde dann bekomme ich ja nie die tausender stelle.
Die stelle soll vorhanden sein wenn die Zah über tausend ist und wenn es unter tausend fällt wird sie halt nicht automatisch gelöscht.