wiki:li326-Intro

Introduction aux microcontrôleurs

Objectifs

Le but de cette première séance est de commencer à apprendre à programmer en assembleur PIC.

  1. Représentation des nombres
  2. Éléments d'information sur les programmes assembleur
  3. Opérations arithmétiques simples
  4. 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
  1. 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