Vous êtes sur la page 1sur 4

Microprocesseurs Microcontrôleurs

Devoir N°2

NOM : EZZAHY
PRENOM : MOHAMED HATIM

PROF : M.JBILOU

1°) Combien de bits sont nécessaire pour coder une instruction du 16F84. Puis
donner le code en hexadécimal de chacune des instructions de cette partie du
programme en assembleur :
- Pour coder une instruction du 16F84 il faut 14 bits

BSF STATUS, RP0 0101 /000/0000011 binaire 1403 hexa


MOVLW 0xFB 1100/00/11111011 binaire 30FB hexa
BCF STATUS, RP0 0100/000/0000011 binaire 1003 hexa
BSF PORTA, RA2 0101/010/0000101 binaire 1505 hexa
CALL 0x12 100/00000010010 binaire 2012 hexa
BCF PORTA, RA2 0100/010/0000101 binaire 1105 hexa
CALL 0x12 100/00000010010 binaire 2012 hexa
GOTO 0x1e 100/00000011110 binaire 201E hexa
2°) On suppose que notre microcontrôleur est cadencé par un quartz 4 MHz.

a-
T_0 MOVLW 0xA5 ; 1 cy
b- MOVWF var1 ; 1 cy
c- NOP ; 1 cy
d- _T_1 DECFSZ var1, f ; 1 cy
e- GOTO _T1 ; 2 cy
f- NOP ; 1 cy
g- RETURN ; 2 cy

Temps : 500µS 1+1+165*(1+2)+1+2=500µS

b-
T_2 MOVLW 0xC6 ; 1 cy
MOVWF var2 ; 1 cy
NOP ; 1 cy
T_3 CALL T_0 ; 2 cy
DECFSZ var2, f ; 1 cy
GOTO _T3 ; 2 cy
NOP ;
NOP ;
NOP ;
NOP ;
NOP ;
NOP ; 6 cy
RETURN ; 2 cy

Temps 100ms 1+1+198*(2+500µS+1+2)+6+2=100000µS = 100 mS

C- T_4 MOVLW 0x0A ; 1 cy


MOVWF var3 ; 1 cy
NOP ; 1 cy
T_5 CALL T_2 ; 2 cy
DECFSZ var3, f ; 1 cy
GOTO T_5 ; 2 cy
RETURN ; 2 cy

Temps : 1 S 1+1+10*(2+100'000µS+1+2)+2= 1,000054


secondes
3°) Configurer le PORTB en entrée ;
Lire le contenu du PORTB ;
Mettre le résultat dans la case mémoire d’adresse 0Ch.
BSF STATUS,5 ; accès à la Bank 1 Bit n* 7 6 5 4 3 2 1 0
MOVLW 0xFF ; PORTB E E E E E E E E
MOVWF TRISB ; PORTB en entrée TRISB 1 1 1 1 1 1 1 1
BCF STATUS ,5 ; accès à la BANK0 Hexa F F
MOVF PORTB,W ;W PORTB
MOVWF 0x0C ;(0Ch) W

4°) Configurer le PORTB en sortie.


Initialiser le PORTB à FFh
BSF STATUS,5 ; accès à la Bank 1 Bit n* 7 6 5 4 3 2 1 0
MOVLW 0x00 ; PORTB S S S S S S S S
MOVWF TRISB ; PORTB en sortie TRISB 0 0 0 0 0 0 0 0
BCF STATUS ,5 ; accès à la BANK0 Hexa 0 0
MOVLW 0xFF ;W FFh
MOVWF PORTB ; PORTB W

5°) Configurer les broches RB1, RB3, RB5, RB7 du PORTB en entrée et les
broches RB0, RB2, RB4, RB6 du PORTB en sortie
BSF STATUS,5 ; accès à la Bank 1 Bit n* 7 6 5 4 3 2 1 0
MOVLW 0xAA ; PORTB E S E S E S E S
MOVWF TRISB ; PORTB en sortie TRISB 1 0 1 0 1 0 1 0
BCF STATUS ,5 ; accès à la BANK0 Hexa A A

GESI 19/20