Kidule Dé/Déclarer et initialiser le Hardware
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.
Déclaration dans le software pour ce Hardware
modifierDans 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:
- on donne des noms intelligents aux bits d'entrées / sorties, qui correspondent aux deux Kidules
- 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
- 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#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.