Académique Documents
Professionnel Documents
Culture Documents
Correction TEST RDP SUJET3
Correction TEST RDP SUJET3
Faculté de technologie
Département Ingénierie des Systèmes Électriques et Électroniques
Exercice 1 : 6pts
Voici le schéma (Figure1)
1.1. Ecrivez par deux méthodes un code en MIKRO C qui exécute les taches suivantes :
D1 et D3 s’allument quand D2 est éteint
D2 s’allumer quand D1 et D3 sont éteintes.
Figure 1
[1]
La solution
La première méthode 3pts
void main() {
TRISA=0xff;
TRISB=0x00;
while(1){
if(PORTA.F3==1){
PORTB.F1=1;
PORTB.F6=1;
}
else{
PORTB.F1=0;
PORTB.F6=0;
}
if(PORTB.F1 ==0 && PORTB.F6==0){
PORTB.F3=1;
}
else
PORTB.F3=0;
}
}
[2]
La deuxième méthode 3pts
void main() {
TRISA=0xff;
TRISB=0x00;
while(1){
if(PORTA.F3==1){
PORTB.F3=1;
}
else{
PORTB.F3=0;
}
if(PORTB.F3 ==0 ){
PORTB.F1=1;
PORTB.F6=1;
}
else {
PORTB.F1=0;
PORTB.F6=0;
}
}
}
[3]
Exercice 2 4pts (3pts sur le code et 1pt sur les commentaires)
Voici le schéma (Figure 2)
Ecrivez un code bien commenté en MIKRO C qui permet :
D’allumer D1 et D2 quand vous fermer le premier interrupteur
D3 et D4 va clignoter quand vous fermer le deuxième interrupteur
Figure 2
La solution
[4]
void main() {
if(PORTB.F4==1 && PORTB.F7==1) {// les 2 boutons sont appuyées en même temps
PORTA.F0=1;//D1 va allumer
PORTA.F1=0;
PORTA.F3=0;
delay_ms(100);
} }
[5]