Salut, c'est encore moi!

Je programme un 8051 en C (plus pour m'amuser que pour autre chose), et j'ai un problème de timer. Je veux faire une fonction horloge qui va attendre 1 ms. Mais voila le problème c'est que le TF0 ne passe jamais a 1!

Alors si il y en a des qui se souviennent du 8051...
Voila le code:


Code:
#include <REG515C.H>

/*

	Auteur: ViiV

	CLK quartz = 15MHz
	Cycle Machine = 15000000/12 = 1.25MHz     1/1250000 = 800 nS
	1 mS = 1000000 nS    1000000/800 = 1250
	1 ms = 1250 coup de CLK
*/

void horloge();


void main(){

    while(1){
    	horloge(); // Cencé attendre 1 ms 
		// Bla bla bla suite programme
	}
}


void horloge(){

        TMOD = 0x01;    // Timer Mode 0x01 16 bit
	TH0 = 0x4E2;    // Met le Timer 0 poids fort a 1250
	TL0 = 0xFB1E;   // Met le Timer 0 poids faible a 64286
	TF0 = 0x00;	    // Bit de l'overflow du clock a 0
    
	TR0 = 0x01;     // Allume le timer 
	
	while(TF0 != 1){    // TF0 reste a 0 et l'execution reste plantée dans la boucle !!!
	    // Ne fait rien tant que TF0 n'est pas a 1
	}

//	TR0 = 0x00;		// Eteint le timer
}