18F4550 - Acquisition numérique

Dans ce second tutorial, nous allons illustrer l’acquisition numérique. Le principe du programme que nous allons écrire est de recopier le port B sur le port D. Pour ça, nous allons dire au microcontrolleur:

  • Le port B est en lecture
  • Le port D est en écriture
  • La sortie D est égale à la l’entrée B

Initialisation du projet

Commencez par créer un nouveau projet, comme décrit dans le premier tutorial. Vous allez y insérer le fichier config.h, tel que nous l’avons défini dans le premier tutorial. Créez ensuite un fichier main.c:

#include <pic18fregs.h>
#include "config.h"

/*
Designed for a 20MHz cristal  
*/

void main() {  
    // set port D as output
    TRISD=0;
    // set port B as input
    TRISB=1;
    // Main loop
    while(1) {
        // copy B in D
        LATD = PORTB;
    }
}

Description du programme

On commence par configurer les ports B et D. Le port D est en écriture (cf datasheet, p.115 : table 10-3 et p.121 : table 10-7):

TRISD=0;

Et le port B est en lecture

TRISB=1;

Ensuite on rentre dans une boucle infinie (afin que le programme ne se termine jamais) dans laquelle on va recopier le port B sur le port D

`LATD = PORTB;è

Téléchargement

Vous pouvez télécharger le projet acquisitionnumproject.tar.gz.tar