Leçons de niveau 15

Kidule Dé/Déclarer et initialiser le Hardware

Une page de Wikiversité.
Aller à la navigation Aller à la recherche
Début de la boite de navigation du chapitre
Déclarer et initialiser le Hardware
Icône de la faculté
Chapitre no 3
Leçon : Kidule Dé
Chap. préc. :Tester si un Bouton est pressé (Entrée)
Chap. suiv. :Structure d'un programme
fin de la boite de navigation du chapitre
Icon falscher Titel.svg
En raison de limitations techniques, la typographie souhaitable du titre, « Kidule Dé : Déclarer et initialiser le Hardware
Kidule Dé/Déclarer et initialiser le Hardware
 », n'a pu être restituée correctement ci-dessus.

Il n’est pas nécessaire de tout de suite bien comprendre ce chapitre.

Ce qu’il faut retenir dans un premier temps, c’est que tous tes programmes doivent commencer par

#include "hardwareDe.h"

Comme cela Led0, Led1, Poussoir etc.. sont défini et le PIC est initialisé comme il faut. Si cela te suffit, tu peux aller au chapitre suivant.

Pour ceux qui veulent en savoir plus‎

Déclaration dans le software pour ce Hardware[modifier | modifier le wikicode]

Dans notre montage, 1 port du Kidule PIC 2550 est utilisable: PORTB de 8 bits à droite.

On trouve ci après les déclarations nécessaires pour adresser correctement le hardware: Dans ce fichier, on fait deux choses:

  1. on donne des noms intelligents aux bits d'entrées / sorties, qui correspondent aux deux Kidules
  2. on a une fonction setup() qui permet d'initialiser correctement les registres TRISx pour indiquer s'il s'agit d'entrées ou de sorties
  3. définir des mots parlant pour Allume, Eteint ou Presse plutôt que d’avoir à tout le temps réflechir s'il faut un 1 ou un 0 dans ce cas

hardwareDe.h[modifier | modifier le wikicode]

#define pic18f2550 1
 
// ATTENTION: sur le 18F2550, il ne faut pas écrire dans PORTx des bits, mais dans LATx, car
// si on fait plusieurs instructions bit de suite (Read-Modifiy-Write) on a
// des résultats difficiles à comprendre
// cf http://www.microchip.com/forums/tm.aspx?m=421256
// http://www.microchip.com/forums/tm.aspx?m=110258
 
//déclarations pour le Kidule PIC2550
#define Buzzer LATCbits.LATC7 
 
 
//déclarations pour le module Dé monté à Droite
#define Led0 LATBbits.LATB0
#define Led1 LATBbits.LATB1
#define Led2 LATBbits.LATB2
#define Led5 LATBbits.LATB3
#define Led4 LATBbits.LATB4
#define Led3 LATBbits.LATB5
#define Led6 LATBbits.LATB6
#define Leds LATB
#define Poussoir PORTBbits.RB7
 
//déclaration pour rendre plus explicite le code vu que les modules sont en logique actif à 0
#define Presse 0
#define Allume 0
#define Eteint 1
 
 
// Mise en route du PIC: configuration des PINs en entrées ou sorties
void setup()
{
    TRISB = 0b10000000;  
    Leds  = 0b01111111;
    TRISC = 0b01111111;
    LATC  = 0b00000000;  
}

Le mieux, c’est de copier ce bout de programme dans votre programme, pour ne pas avoir à tout déclarer à la main. Pour l'atelier, vous trouverez un fichier hardwareDe.h déjà présent dans le répertoire.