Module : Introduction aux systèmes embarqués
Année universitaire : 2022 – 2023
Correction TRAVAUX PRATIQUES N° : 9
INTRODUCTION A LA PROGRAMMATION DES MICROCONTROLEURS
Exercice 9.1 :
1. Compteur.
2. RA4.
3. Registre OPTION_REG :
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
/RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
1 1 1 0 1 0 0 0
4.
void main ( )
TRISB = 0x00 ;
TRISA = 0xFF ;
OPTION_REG = 0xE8 ;
TMR0 = 0 ;
while (1)
{
PORTB = TMR0 ;
if (TMR0 == 10) TMR0 = 0;
Mr Nizar TOUJENI 1/4
5. Registre OPTION_REG :
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
/RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
1 1 1 1 0 0 0 0
void main ( )
TRISB = 0x00 ;
TRISA = 0xFF ;
OPTION_REG = 0xF0 ;
TMR0 = 0 ;
while (1)
{
PORTB = TMR0 ;
if (TMR0 == 16) TMR0 = 0;
}Exercice 9.2 :
1. Registre OPTION_REG :
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
/RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
1 1 1 1 1 1 1 1
2.
Nombre à afficher T1 T2 Afficheur 1 Afficheur 2
Bloqué Bloqué Non Non 1ms
Unité de TMR0 Saturé Bloqué Oui Non 10ms
Bloqué Bloqué Non Non 1ms
Mr Nizar TOUJENI 2/4
Dizaine de TMR0 Bloqué Saturé Non Oui 10ms
Bloqué Bloqué Non Non 1ms
3.
int uni, dix ;
void main ( )
TRISB = 0xF0 ;
TRISA = 0x1C ;
OPTION_REG = 0xFF ;
TMR0 = 0 ;
while (1)
{
while (TMR0 < 100)
uni = TMR0 % 10;
dix = TMR0 / 10;
PORTA = 0 ;
Delay_ms (1) ;
PORTB = uni;
PORTA = 1;
Delay_ms (10) ;
PORTA = 0 ;
Delay_ms (1) ;
PORTB = dix;
Mr Nizar TOUJENI 3/4
PORTA = 2;
Delay_ms (10) ;
TMR0 = 0 ;
Mr Nizar TOUJENI 4/4