Pic 18F452 - Ivan FRANCOIS

Download Report

Transcript Pic 18F452 - Ivan FRANCOIS

TP Microcontrôleurs

TP1 Chronomètre numérique

Ivan FRANCOIS

Principe de fonctionnement

• Chronomètre sur l’afficheur 4*7 segments.

• 2 interrupteurs Bp1 et Bp2 gèrent le départ, l’arrêt, le temps intermédiaire et la remise à zéro.

Bp1 Bp2 Pic 18F452 .

.

.

.

1

TP Microcontrôleurs

Diagramme des états

État initial 0000 Bp1 Bp2 Bp1 Marche Bp1 Bp2 Bp2 Temps intermédiaire Arrêt

Travail à réaliser

• Le chronomètre est incrémenté toutes les centièmes de seconde grâce à un timer.

• Bp1 et Bp2 sont 2 interruption externes.

• Bp1 est le bouton marche/arrêt.

• Bp2 est le bouton permettant d’afficher le temps intermédiaire ou la remise à zéro.

Ivan FRANCOIS 2

TP Microcontrôleurs

TP2 Voltmètre numérique

Ivan FRANCOIS

Principe de fonctionnement

• Affichage d’une tension entre 0 et 5V sur l’afficheur 4*7 segments.

• Utilisation du convertisseur analogique numérique intégré au PIC.

+5V t p o Tension continue 0-5V AN4 Pic 18F452 .

.

.

.

3

TP Microcontrôleurs

Travail à réaliser

• Une acquisition analogique toutes les 0,5 secondes. (utilisation d’un timer) • La fin de l’acquisition génère une interruption.

• Résultat de la conversion analogique digitale sur 8 bits (registre ADRESH).

• Résolution de 5/255 = 19 mV.

• Un sous programme de conversion permet d’afficher la valeur du registre ADRESH sur l’afficheur 7 segments Correspondance entre le résultat numérique de la conversion et l’affichage 7 segment Résultat numérique ADRESH 0 1 2 4 8 16 32 64 128 Affichage 0V 19 mV 39 mV 78 mV 156 mV 312 mV 625 mV 1250 mV 2560 mV Ivan FRANCOIS 4

TP Microcontrôleurs

TP3 Serrure codée

Ivan FRANCOIS Principe de fonctionnement câblage du clavier et de l’afficheur R R 1 4 7 * 2 5 8 0 3 6 9 # R RA3 RA2 RA1 RA0 RE2 RE1 RE0 Pic 18F452 RB3 RB4 RB5 E RW RS RD0-RD7 LCD D0-D7 5

TP Microcontrôleurs

Travail à réaliser

• Initialiser le LCD pour un fonctionnement sur 8 bits et 2 lignes • Envoyer un message sur le LCD • Acquisition d’une touche tapée au clavier 4*3 – Ne pas oublier de régler le registre ADCON1 • Affichage sur le LCD d’une touche tapée au clavier • Saisie d’un code de 4 chiffres et affichage

code bon

ou

code mauvais

• Utilisation de la touche * pour la correction et # pour l’effacement de l’afficheur.

Notes

Ivan FRANCOIS 6

TP Microcontrôleurs

TP4 Fréquencemètre/Périodemètre

Ivan FRANCOIS GBF Principe de fonctionnement câblage du GBF TTL 0-5V RA4 Pic 18F452 RB3 RB4 RB5 E RW RS LCD D0-D7 RD0-RD7 7

TP Microcontrôleurs

Principe de fonctionnement

• Le GBF est connecté à 1 entrée du PIC • Il envoi un signal TTL • Les masses du GBF et de la carte sont reliées • 2 types de fonctionnement: fréquencemètre ou périodemètre.

Ivan FRANCOIS Fonctionnement en fréquencemètre • A chaque impulsion issue du GBF, une interruption est déclenchée.

• Lors de cette interruption, un sous programme est chargé d’incrémenter un compteur.

• Toutes les secondes, on affiche le résultat du compteur sur le LCD 8

TP Microcontrôleurs Fonctionnement en périodemètre • A chaque impulsion issue du GBF, une interruption est déclenchée.

• Toutes les microsecondes (réglées par un timer), on incrémente un compteur.

• Lors de l’ interruption, un sous programme est chargé d’afficher le résultat du compteur sur le LCD Ivan FRANCOIS It0

Affichage sur LCD

00108 Microsec Périodemètre It0 0008 Hertz Fréquencemètre 9

TP Microcontrôleurs

TP5 Musique

Ivan FRANCOIS Principe de fonctionnement câblage du clavier et du buzzer R R R 1 4 7 * 2 5 8 0 3 6 9 # RE2 RE1 RE0 RA3 RA2 RA1 RA0 Pic 18F452 RC2/CCP1 BUZZER 10

TP Microcontrôleurs Sortie modulation largeur d’impulsion (PWM) datasheet page 122 Période T Th Sortie CCP1 (PORTC,2) ou CCP2 (PORTC,1) Ivan FRANCOIS Sortie modulation largeur d’impulsion (PWM) • Cette sortie permet d’obtenir un signal carré dont la largeur du niveau haut et la période sont réglables. Les étapes d’initialisation du PWM sont les suivantes: • La période est réglée par le registre PR2: T=(PR2+1)*4*Tosc*(TMR2 prescale value) • La durée du niveau haut est réglée sur 10 bits par les 8 bits du registre CCPR1L et les bits 4 et 5 du registre CCP1CON. Sa valeur est la suivante: Th=(CCPR1L:CCP1CON<5:4>)*Tosc* (TMR2 prescale value) • Le bit 2 du port C doit être réglé en sortie en mettant à zéro TRISC,2 • Le prescaler du timer 2 doit être réglé selon la valeur désiré de la période et doit être mis en marche. Ces 2 actions sont effectuées en initialisant le registre T2CON (p.111).

• Configurer le registre CCP1CON en PWM (p.117) 11

TP Microcontrôleurs

Adaptation du PWM au buzzer

• Pour les notes de musique, le signal permettant de faire vibrer le buzzer doit être carré (Th=T/2) • La fréquence correspond aux fréquences des notes selon le tableau suivant • PR2 est alors réglé selon la note considérée. Une table permet d’aller chercher sa valeur selon la note.

Correspondance entre la fréquence des notes et le registre PR2 T µs Note Do Do# Ré Ré# Mi Fa fa# Sol Sol# La Si bemol Si do F Hz 262 277 294 311 330 349 370 392 415 440 466 494 524 PR2 Ivan FRANCOIS 12

TP Microcontrôleurs

Travail à réaliser

• Programme permettant de jouer la gamme complète. Chaque note durant ½ seconde • Programme permettant de jouer une note suivant la touche saisie au clavier • Enregistrement d’une restitution complète mélodie puis

Notes

Ivan FRANCOIS 13