initiation aux microcontrôleurs

publicité
INITIATION AUX
MICROCONTRÔLEURS
MICROCHIP PIC 18F4520
Programmation en langage C
IUT Réseaux & Télécoms - La Rochelle
Généralités
Les microcontrôleurs de la société
ont la
dénomination de PIC (Peripheral Interface Controller).
Un PIC est une unité de traitement de l’information de
type microprocesseur à laquelle on a ajouté des
périphériques internes permettant de réaliser des
montages sans nécessiter l’ajout de composants
externes.
Un microcontrôleur peut donc fonctionner de façon
autonome après programmation.
IUT R&T
2
Structure interne
La majorité des microcontrôleurs PIC
intègrent :
➢ mémoire programme
➢ mémoire données
➢ ports d'entrée-sortie (numériques,
analogiques, PWM, UART, bus
I²C, etc.)
➢ circuits d'horloge
➢ compteurs/timers
Certains modèles disposent de port et d'unités de
traitement de l'USB.
IUT R&T
3
Architecture
Les microcontrôleurs 8 bits PIC sont basés sur une architecture
Harvard
IUT R&T
4
Performances
Les microcontrôleurs Microchip sont équipés d'un processeur
RISC (Reduce Instruction Set Computer). Ceci permet d'obtenir
un fonctionnement plus rapide.
IUT R&T
5
Famille PIC 18Fxx20
Les PIC du type 18F sont des microcontrôleurs dont
l'architecture est optimisée pour les compilateurs C.
IUT R&T
6
Brochage PIC18F4520
IUT R&T
7
Caractéristiques PIC18F4520
IUT R&T
8
Structure interne (1)
IUT R&T
9
Structure interne (2)
IUT R&T
10
Ports d'entrées/sorties
●
Le PIC18F4520 dispose de 5 ports d'E/S. Chaque port
est associé à 3 registres :
➢ TRISx : Registre de direction de données (DDR)
➢ PORTx : Pour la lecture des niveaux présents sur les
broches.
➢ LATx : Buffer de sortie (Output Latch).
Exemple du PortB :
IUT R&T
11
Configuration des registres
Le modèle simplifié d'une ligne de port est le suivant :
La configuration d'un bit du
registre TRISx correspondant à
une ligne du port x configure cette
ligne soit en entrée '1', soit en
sortie '0' :
IUT R&T
12
Programmation des ports
Pour utiliser les ports d'E/S d'un PIC, il faut :
●
●
Configurer les broches du port en écrivant
directement dans le regitre de direction du port
concerné
Ex :
●
●
●
Lire ou écrire sur le port :
Ex :
●
●
●
TRISB = 0x0F ; /* RB0 à RB3 : entrée – RB4 à RB7 : sortie */
TRISC = 0b11111100 ; /* RC0 à RC1 : sortie – RC2 à RC7 : entrée */
PORTB = 0x20 ; /*RB5 à l'état haut */
var = PORTA ; /* la variable var contient
l'état des broches d'entrées du Port A */
Lire ou écrire sur un seul bit d'un port :
Ex :
●
●
IUT R&T
TRISBbits.TRISB0 = 0 ; /* RB0 en sortie */
PORTBbits.RB0 = 1 ; /* RB0 au niveau haut
*/
13
Développement
IUT R&T
14
La carte PICDEM 2+
IUT R&T
15
Téléchargement