Académique Documents
Professionnel Documents
Culture Documents
Epreuve finale
3) Le transfert de données entre la mémoire principale et le registre du CPU s’effectue via deux
registres, à savoir _____?
A) Registre à usage général et registre mémoire
B) Accumulateur et compteur ordinale
C) Registre mémoire et registre d’adresse
D) Registre d’adresse et accumulateur
5) Le temps d’accès à la mémoire est _____ le temps nécessaire pour effectuer une seule
opération du CPU.
A) plus court que
E) plus long que
F) Négligeable à
G) Identique à
1/6
6) La mémoire de l’ordinateur qui doit être actualisée est ______?
B) DRAM
C) SRAM
D) ROM
E) PROM
8) Soit un signal transmis via le RS232 en parité paire et deux bits de stop Que vaut
l'information interprété par le signal suivant :
A) 10001001
B) 10111011
C) 10010001
Exercice 1 : (6 points)
Solution 1
/*
Application :
- compteur/décompteur selon le mode choisi
- le mode change en fonction du bouton appuyé
- interruption sur les broches RB4, RB5
*/
voidmain()
{
int i;
trisa=0x00;
trisb=0xff;
porta = 0;
portb = 0;
while(1)
{
2/6
porta = i;
//if (x == 1) i = (i + 1) % 10;
//else i = ( ((i - 1) % 10) + 10) % 10;
delay_ms(500);
}
}
/*
Application :
- compteur/décompteur selon le mode choisi
- le mode change en fonction du bouton appuyé
- interruption sur les broches RB4, RB5
*/
voidmain()
{
int i;
trisa=0x00;
trisb=0xff;
porta = 0;
portb = 0;
i = 0;
while(1)
{
porta = i;
3/6
if (x == 1){
i = i + 1;
if (i == 10) i = 0;
}
else {
i = i - 1;
if (i == -1) i = 9;
}
delay_ms(500);
}
}
Exercice 2 : (6 points)
1. A partir de scénario « clignotement à droite » compléter les affectations des états des
boutons, les feux des clignotements et le bip sonneur.
2. Propose le circuit correspondant à ce cahier de charge. (il faux noter que les feux fonction
avec une tension de 12V).
4/6
0.25 pts 0.25 pts
0.25 pts
0.25 pts
0.25 pts
0.25 pts
3. A partir de circuit porosité, compléter les affectations des deux registres TRIS A et TRIS B.
int Clign_gauche;
int Clign_doite;
int Bt_poussoir_doite;
int Bt_poussoir_gauche;
void main() {
trisa=0b00000;
trisb=0b11111111;
porta = 0;
INTCON.GIE = 1;
INTCON.RBIE = 1;
OPTION_REG.INTEDG = 1;
5/6
while(1){
if(Clign_doite==0 && Clign_gauche==0) {porta = 0;}
if(Clign_doite==1) {
porta =0b00101;
delay_ms(2000);
porta =0b00000;
delay_ms(2000);
}
if(Clign_gauche==1) { porta =0b00110;
delay_ms(500);
porta =0b00000;
delay_ms(2000);
}
if(Bt_poussoir_doite) Clign_doite = 0;
if(Bt_poussoir_gauche) Clign_gauche = 0;
}
}
Voidinterrupt()
{
if(INTCON.RBIF == 1){
if(portb.f4=1) { Clign_gauche = 1; } else { Clign_gauche = 0 ; }
if(portb.f5=1) { Clign_doite = 1; } else { Clign_doite = 0 ; }
if(portb.f6=1) { Bt_poussoir_doite = 1; } else { Bt_poussoir_doite = 0 ; }
if(portb.f7=1) { Bt_poussoir_gauche = 1; } else { Bt_poussoir_gauche = 0 ; }
INTCON.RBIF = 0;
}
}
6/6