Bonjour, voici un programme que j'ai fait concernant le TIMER1 en mode horloge temps réel sur un PIC18F4431 ,je voudrais le tester en allumant des LEDs en sorties pour les secondes, minutes, heures et je ne sais pas comment faire.Merci
/* Un timer allume puis éteint la
* led à intervalles réguliers */
#include <p18f4431.h> // déclarations pour le PIC18F4431
#pragma config OSC=HS
#pragma config WDT=OFF
#pragma config LVP=OFF
#pragma config DEBUG=ON
void Init_Timer1(void)
{
TMR1H = 0x80; //Débordement toutes les 1secondes
TMR1L = 0x00;
T1CON = 0b00001111; //Synchro horloge externe 32,768Khz
PIR1bits.TMR1IF = 0;
PIE1bits.TMR1IE = 1;
}
unsigned char secondes, minutes, heures;
void main (void)
{
Init_Timer1();
if (PIR1bits.TMR1IF)
{
secondes++; // Incrementation des secondes
if (secondes > 59) // 60 secondes ?
{
secondes = 0;
minutes++;
}
if(minutes > 59) //60minutes
{
minutes = 0;
heures++;
}
if (heures > 12) //Ne pas utiliser les 24H
heures = 1;
TMR1H |= 0x80; //Reset Timer1
PIR1bits.TMR1IF = 0; //Effacer le Flag
}
}
Merci
-----