Introduction aux microcontrôleurs
Objectifs
Le but de cette première séance est de commencer à apprendre à programmer en assembleur PIC.
- Représentation des nombres
- Éléments d'information sur les programmes assembleur
- Opérations arithmétiques simples
- Spécificité des ruptures de séquences
Rerprésentation des nombres
Pour chaque vous écrivez le nombre en décimal. Les nombres négatifs sont codés en complément à deux.
Décimal | Hexadecimal | binaire
|
10 | ||
57 | ||
0x38 | ||
-10 | ||
-0xA | ||
-128 | ||
362 |
Éléments d'information sur les programmes assembleur
- syntaxe 1 instruction par ligne en trois colonnes
- Définition d'une étiquette
- Définition d'une directive ORG - END CBLOCK - ENDC
- réserver 2 registres de 1 octets nommés A et C, un tableau de 12 octets et un registres de 2 octets.
Opérations arithmétiques simples
- Déplacements
char A; char B; A=45; B=A;
- Calculs simples
char A; char B; char C; A=45; A+=12; B=A+10; C=A+B;
- Calculs un peu moins simples
char A; char B; char C; A=-45; A=12-A; A=A-12; C=A-B; C=C & 0xF; C=A << 1; C=C << 5; A = B*5;
- Calculs sur 16 bits
short A; short B; short C; C = B + A; C = B - A;
- Opérations sur W
W = W + 1; W = W - 1;
- Conversion entier vers acsii
W = codeascii (W) ; Les 4 bits de poids faible de W contiennent en entier sur 4 bits
- Que fait ?
xorwf A,f xorwf A,W xorwf A,f
- En 4 instructions :
swap(A,B) en utilisant movf, subwf, addwf, subwf
Spécificité des ruptures de séquences
- Que fait ?
btfsc STATUS,Z
- Ecrivez une boucle qui additionne les nombre de 2 à 10
Last modified 11 years ago
Last modified on Jan 17, 2014, 3:25:55 PM