bonjour,

En gros le timer a deux registres de 8 bits:
TMOD et TCON qui controlent les timers 0 et 1 du uP.
TCON:
bit7 :TF1 qui est un flag qui signal un depassement de la valeur pour le timer 1
bit6 :TR1 qui permet d'eteindre ou de lancer le timer 1
bit5,bit4 : c'est les meme qu'au dessus mais pour le timer 0
bit3 : IE1 interruption externe sur la pin INT1 (pour moi ca ne sert a rien je pense)
bit2 : IT1 interruption externe mais je n'ai pas bien compris ce qu'elle faisait.
c'est dit : external interrupt Trigger type
set or cleared by software to specify edge-sensitive detection. tu comprends ce que ca fait??
TMOD est constitue
bit1,bit0 : c'est les meme qu'au dessus mais pour le timer 0
pour TMOD :
bit7 : gate Si c'est a 0 on ne declenche le compteur que lorsqu'il a une interruption sur INT1 donc detecte par le bit 3 de TCON1 et que TR1=1 (donc que le timer est lance)
si c'est a 1 le timer se met en route des que TR1=1 (donc je le mettrai a 1)
bit6 : C/T permet de choisir si on veut utiliser le timer (0) ou le compteur (1) (donc je met 0)
bit5 et 4 : la ca se complique un peu. Il gere les registres TH1 et TL1 ou sont stockees les donnees du timer.
si bit5=bit4=0 alors on a 8 bits pour le timer et 5 bits appele prescaler qui doit surement donner une valeur approchee.
si bit5=0 bit4=1 alors on a 16 bit de donnee pour le timer
si bit5=1 bit4=0 alors on a 8 bit qui se recharge automatiquement. on charge dans TH1 une valeur qui est automatiquement recharge dans TL1 quand il y a un debordement
bit5=bit4=1 alors on arrete le timer.
Je pense qu'il faut choisir bit5=0 et bit4=1 mais je n'en sais rien.
bit3, bit2, bit1, bit 0 on a la meme chose pour le timer0
D'apres mois il faut mettre 0001XXXX pour TMOD et 01000000 pour TCON
donc d'apres toi je cree une procedure qui met la valeur que je souhaite dans les registres TH1 et TL1 apres je valide le bit6 :TR1 du registre TCON qui lance le timer et j'attends le depassement en scutant le bit7 :TF1 du registre TCON. lorsqu'il est passe a 1 ,j'arrete le timer et je remet a 0 le TF1 et je sors de la procedure. t'es d'accord?
j'ai une autre question toute simple pour toi. pour declarer une variable 8 bits en C on met Byte et pour 16 bits c'est quoi ? int?
merci de m'avoir guider

je compte encore su toi!!!

Sylvie