hallo zusammen,

ich habe hier einen PIC12F675 mit einem 4MHz Quartz, diesen programmiere ich mit dem ccs c compiler und anschließend wird der pic mit dem mplab 7.5 + icd2 gebrannt. allerdings macht mir gerade der timer0 ein wenig kopfschmerzen, mein hardware/software timer kann ich nur auf ganze sekunden werte einstellen, also: 1, 2, 3, 4, 5, 6, ...


Code:
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_16);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);


unsigned int8 TM_VALUE_1SEC = 250;
unsigned int8 TM_VALUE_XSEC = 0;

unsigned int8 TM_COUNT_1SEC = 0;
unsigned int8 TM_COUNT_XSEC = 0;

unsigned int1 TM_FLAG_1SEC = FALSE;
unsigned int1 TM_FLAG_XSEC = FALSE;
unsigned int1 TM_FLAG_MAIN = FALSE;


#int_TIMER0
TIMER0_isr( /* 4ms */ )
{
	TM_FLAG_1SEC = FALSE;
	TM_FLAG_XSEC = FALSE;

	if( ++TM_COUNT_1SEC >= TM_VALUE_1SEC)
	{
		TM_COUNT_1SEC = 0;
		TM_FLAG_1SEC = TRUE;
	}

	if( TM_FLAG_1SEC == TRUE)
	{
		if( ++TM_COUNT_XSEC >= TM_VALUE_XSEC)
		{
			TM_COUNT_XSEC = 0;
			TM_FLAG_XSEC = TRUE;
		}
	}

	if( TM_FLAG_XSEC == TRUE)
	{
		TM_FLAG_MAIN = TRUE;
	}
}


void main()
{
	if( TM_FLAG_MAIN == TRUE)
	{
		TM_FLAG_MAIN = FALSE;
		toggle_einen_ausgang();
	}
	else
	{
		toggle_einen_anderen_ausganag();
	}
}

aber der timer läuft "falsch", wenn ich die zeit messe, bekomme ich immer werte hinter einem komma heraus ?!?!