salut j'ai un programme a faire pour un système d'aide a la navigation pour mon thème bac
je dois utiliser l'atméga 8535.
voila la description du programme:
- déclaration du LCD sur le PORTD
- utilisation des librairies mega8535.h, lcd.h et delay.h, stdlib.h
- initialisation des PORT d’entrées / Sortie
- initialiser le TIMER 0 : mode normal, déclenchement sur front montant,
compteur TCNT0 remis à zéro automatiquement quand TCNT0=OCR0
- on pourra utiliser une variable qui compte les centaines de tours afin d’éviter le
débordement du TIMER0
- initialiser le TIMER 1 : mode normal, incrément du compteur toutes les μs
- Interruption déclenchée lors du débordement du TIMER 1 : toutes les 10ms,
on compte le nombre de tours de roue
- mesurer la vitesse de la roue de mesure de vitesse sur l’afficheur
et voila se que l'on me donne pour réaliser ce programme:
unsigned int tour_de_roue,centtours;
…
interrupt [TIM0_COMP] void timer0_comp_isr(void) // se déclenche
quand TCNT0 = OCR0 = 100
{
…
…; // compte les centaines de tours de la roue
}
interrupt [TIM1_OVF] void timer1_ovf_isr(void) // inter déclenchée toutes
les 10 ms
{
TCNT1 = …;
TIFR|=0x10;
if () { // vrai toutes les s
tour_de_roue =; // en tour/s
centtours=;
TCNT0 = ;
…;
}
else
la déclaration des ports est la suivant :
DDRA=0x08;
PORTA=0x00;
DDRB=0xE1;
PORTB=0x00;
DDRC=0x83;
PORTC=0xFF;
DDRD=0xF7;
PORTD=0x00;
si quelqu'un peut m'aider a réaliser ce programme se serait génial !
merci d'avance!
lalouna