TP Initiation langage C avec un microcontrôleur PIC



Documents pareils
PIC EVAL Dev Board PIC18F97J60

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

La programmation des PIC en C. Les fonctions, les interruptions.

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Flowcode - Mode d'emploi

ANALYSE TRAMEs LIAISON SERIE

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

Conférence sur les microcontroleurs.

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

Organigramme / Algorigramme Dossier élève 1 SI

Notice d installation de la Centrale VIGIK DGM1

Carte Relais GSM (Manuel Utilisateur)

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Configuration de TCPIPconfig.h

ELP 304 : Électronique Numérique. Cours 1 Introduction

ENREGISTREUR DE TEMPERATURE

FRANCAIS DGM1. Centrale Vigik 1 porte. N d homologation : - PS MS Gamme: Vigik MANUEL D INSTALLATION.

NovoSIP manuel de mise en service

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Débuter avec PsoC ou PsoC niveau 0

Modules d automatismes simples

PIC : COURS ASSEMBLEUR

TER Licence 3 Electronique des Télécoms Transmission GSM

1. PRESENTATION DU PROJET

Séverine Marien Maxime Ringard. 2 ème année GEII. Régulateur de charge pour station de recharge photovoltaïque

fullprotect inside EOLE SPEie RS E-SPEie V-0.6A-RS 1.0 revision Protection environnement Datasheet édition française

Cours Informatique 1. Monsieur SADOUNI Salheddine

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

NOTICE D INSTALLATION CENTRALE 260

Manipulations du laboratoire

Prototypage électronique

Spécialité Professionnelle. Patrick Boulandet

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee

SYSTEMES ELECTRONIQUES NUMERIQUES

! analyse du fonctionnement

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

SYSTEMES ELECTRONIQUES NUMERIQUES

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

galaxy MODULE TELECOM F A NF Manuel d Installation

Structure et fonctionnement d'un ordinateur : hardware

PROGRAMMATION D'UN MICROCONTRÔLEUR

LPC 100 LECTEUR DES BADGES AVEC CLAVIER CODE 100 BADGES ET/OU 100 CODES

CAA/SE N O T I C E D E M O N T A G E E T D U T I L I S A T I O N KIT DE MONTAGE. Clavier lumineux codes DIGICODE

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

01/11/2011. Machine à café - Amélioration du système existant MLK - ECST

Electron MECATRONIQUE. S.r.l. Educational Equipment Design, Production & Trading. Member of I.D.E.A. International Didactic Equipment Association

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Mise en place d une plateforme de télécommande des équipements électrique à distance «Smart House»

ACTIVITÉ DE PROGRAMMATION

Activité initiation Arduino

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Premiers pas sur l ordinateur Support d initiation

IV- Comment fonctionne un ordinateur?

Configurateur tebis TX100

Informatique Industrielle

12 applications pour maîtriser le PICBASIC PB-3B - Gérard GUIHÉNEUF. Elektor-Publitronic ISBN :

Leçon 1 : Les principaux composants d un ordinateur

Une carte pour vos projets

Encoder Encoder 1 sur 15. Codification fil par étage 15 étages max. + 2 flèches + signal de mouvement. Raccordements 0.1 mm²...

Rapport de projet de fin d études

Système M-Bus NIEVEAU TERRAIN NIVEAU AUTOMATION NIVEAU GESTION. Domaines d'application

Manuel d aide à la pose

Fiche technique CPU 314SC/DPM (314-6CG13)

Alarme intrusion filaire AEI HA zones

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

UGVL : HOMOLOGATION PS ZAC du bois Chaland 6 rue des Pyrénées LISES EVRY Cedex FRANCE Tel Fax

ScoopFone. Prise en main rapide

Manuel Sfera 2-fils Mise en service Que faire, si? touches d appel et la commande de la gâche électrique ne réagissent pas!

Modules d entrées/sorties pour FX série XM07 et XM14

République Tunisienne Ministère de l'education. Sciences Techniques. Manuel d activités. Les auteurs. Ali ZITOUNI Inspecteur des lycées et collèges

Bureau d étude Electronique Automobile

GPA770 Microélectronique appliquée Exercices série A

Enregistreur de Température pour PC DALLAS 1820

Structure de base d un ordinateur

212 Erreur accès anti- Echo. 214 Erreur démarrage vérif DSP. 215 Erreur accès trame IC. 216 Erreur DSP carte MSG. 217 Erreur données Carte MSG

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

NovoSIP manuel de mise en service

energy BOX WEB Automates de GTB

Traitement de données

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

CAHIER DE TEXTE TECHNOLOGIE 6

PIC 16F84. Philippe Hoppenot

Conception de circuits numériques et architecture des ordinateurs

Ecran programmable. Testez la différence grâce. à sa puissance, sa rapidité. et ses possibilités réseaux

DMX MASTER I. Notice d utilisation. Lisez soigneusement la notice d utilisation avant d utiliser l appareil! Version 1.

Centrale d alarme DA996

Installation de la serrure e-lock multipoints

Utilisation du visualiseur Avermedia

Algorithmique et Programmation, IMA

Conception Electronique (CEL) Prof. Maurizio Tognolini

COMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES.

Ordinateurs, Structure et Applications

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

Spécifications détaillées

Transcription:

NOM : classe : TP Initiation langage C avec un microcontrôleur PIC Activités (surlignée) Acquis En cours d acquisition (aide du professeur) Préparation A1-1 Préparer, intégrer et assembler le matériel A1-2 Paramétrage logiciel A1-3 Tester et valider Installation A2-1 Participer à la préparation sur site A2-2 Mettre en place, raccorder, tester et valider les supports de transmission A2-3 Mettre en place les équipements, les logiciels, configurer, paramétrer, tester et valider Maintenance A3-1 Effectuer la maintenance préventive A3-2 Effectuer la maintenance corrective Organisation A4-1 Réaliser la prise en charge du matériel A4-2 S informer et se documenter A4-3 Participer à la relation clientèle A4-4 Respecter les obligations légales et réglementaires A4-5 Participer à la gestion de son activité Autonomie de l élève Signature de l enseignant Non- acquis Matériels : Une carte PICdem2+ avec ICD2 (+ adaptateur 9VDC et cordons ) Un PC avec les logiciels PCWH ( Compilateur C pour PICs de CCS) et MPLAB De Microchip Documentations (Algorigramme - Initiation au langage C ) + diaporama Prise en compte et restitution du matériel. Signature : BAC Pro SEN - LPR Mendes France 05400 Veynes

Initiation au micro contrôleur PIC18Fxx2 INTRODUCTION Le PIC18F242 (ou PIC18F452) est le micro contrôleur retenu comme support d'apprentissage de la logique micro programmée. Il pourra être utilisé pour réaliser les fonctions Traitement de l'information souvent présentent dans les systèmes techniques étudiés. Il sera alors chargé d'exploiter les informations d'entrée (bouton poussoir, capteur, clavier, ) de manière à commander les parties opératives ( LED, buzzer, affichage, commande de moteur, électrovanne, ). Un microcontrôleur est un circuit intégré comprenant un microprocesseur, de la mémoire (mémoire vive RAM et mémoire morte ROM), une (ou plusieurs) interface de communication permettant les échanges avec les périphériques. Informations d'entrée (Boutons poussoirs, Clavier, Capteurs, ). Traitement de des informations (micro contrôleur PIC18F242) Parties Opératives (commande de moteur, LED, buzzer,.) 1) FONCTIONNEMENT DU MICRO-CONTROLEUR. Le microcontrôleur fonctionne à l'aide d'un programme réalisant le traitement de l'information et d'interfaces de communication avec l'extérieur matérialisées par les ports d'entrée/sortie. Générateur de fréquence PIC18F242 Traitement de l'information (programme) Interface de communication (Ports d'entrée/sortie) PORTA PORTB PORTC Démarrage du programme LP Veynes Bac pro SEN Initiation au microcontrôleur Page 2

Les ports E/S possèdent jusqu'à 8 bits rattachés chacun à une broche du boîtier et pouvant être configurés individuellement soit en entrée soit en sortie, par programme. Le programme ne peut réaliser qu'une seule instruction (commande) à la fois. On parle de logique séquentielle. Les instructions sont réalisées au rythme de l'oscillateur (une instruction toutes les 4 périodes de l'oscillateur). Le microcontrôleur se place en début de programme à chaque impulsion (à l'état bas) sur la broche MCLR (en général à la mise sous tension ou lors de l'appui sur le bouton RESET). Symbole et implantation du PIC18F242: Vss br 8 et br 19 (Masse ) Vdd br 20 (+5V DC) 2) CARACTERISTIQUES TECHNIQUE DU PIC18F242 (Le bus de données étant sur 8 bits, ce microcontrôleur est un µc 8 bits)) Mémoire programme : 8 kmot (un mot est constitué de deux octets). Le PIC18F242 possèdent une mémoire programme de 8 kmot, ce qui lui permet d'enregistrer 8 *1024= 8192 instructions. C'est une mémoire de type ROM FLASH : on peut effacer ou programmer électriquement la mémoire programme et le programme est conservé après une mise hors tension. Mémoire des variables : 768 octets Cette mémoire est utilisée lors de l'exploitation des informations d'e/s (calculs et résultats intermédiaires). Elle est de type RAM, c'est à dire que son contenu est perdu après une mise hors tension. Fréquence maximale de l'oscillateur : 40 MHz LP Veynes Bac pro SEN Initiation au microcontrôleur Page 3

La fréquence de l'oscillateur peut aller jusqu'à 40 MHz, soit une instruction toutes les 100ns. Trois ports d'e/s Chaque bit des ports est rattaché à une broche du boîtier et peut être configurer en entrée ou en sortie. En outre ils sont tous configurables pour une application plus spécifique (Conversion Analogique Numérique pour le PORTA, transmission série pour le PORTC, PWM et capture d'impulsions pour le PORTB, ). Dispose de 70 instructions pour l'écriture des programmes. 3) PROGRAMMATION DU MICRO-CONTROLEUR. La programmation du microcontrôleur se fait en langage machine. Ce langage étant peu compréhensible, le programmeur écrit le programme dans un fichier source en langage évolué : assembleur, langage C, basic, etc. Dans notre cas l écriture du programme du PIC se fait en langage C avec le compilateur PCWH de CCS. La compilation génère le code machine qui sera transféré dans la mémoire du microcontrôleur avec l'outil de développement MPLAB IDE de MicroChip. La mise au point du programme permet d'observer le déroulement du programme. Elle peut se faire : -soit en simulation (l ordinateur simule le comportement du microcontrôleur ) -soit en débogage (debugger) auquel cas le programme est transféré dans le microcontrôleur cible à l aide du module ICD2. Il est connecté d'une part à l'ordinateur par la liaison USB et d'autre part à la carte cible (microcontrôleur) par un connecteur RJ11 spécifique. Le module ICD2 permet également de programmer le micro-contrôleur pour un fonctionnement autonome de la carte cible (on supprime alors la liaison avec l ordinateur). Module ICD2 Carte cible Liaison avec l ordinateur (câble USB). Liaison avec la carte cible (câble spécifique, connecteur RJ11) LP Veynes Bac pro SEN Initiation au microcontrôleur Page 4

4) PREMIERS PROGRAMMES AVEC LA CARTE PICDEM2+ 4-1) programme 1 On souhaite réaliser un programme qui allume les quatre DEL connectées sur les ports RB0 à RB3 lorsque l'on appuie sur un bouton poussoir connecté sur RA4. Montage simplifié de l'application : Flécher le sens de l information pour les leds repérées D1 à D4 et le bouton poussoir SW1 En déduire l état logique obtenu en RA4 si SW1 est appuyé. Matériel à utiliser : Repérer le quartz et donner sa fréquence d oscillation. Carte PICDEM 2 + (vérifier la mise en place du cavalier J9 pour valider le buzzer et du cavalier J6 pour valider les 4 leds ) Adaptateur +9VDC pour alimenter la carte cible Carte ICD2 Cordons (1 USB + cordon de liaison entre carte ICD2 et carte cible) 1 PC Logiciels : PCWH de CCS et MPLAB de Microchip La carte ICD2 est auto-alimentée via le cordon USB par l ordinateur. Ne pas brancher le cordon adaptateur +9VDC à cette carte. LP Veynes Bac pro SEN Initiation au microcontrôleur Page 5

L'organisation du programme (algorigramme) est la suivante : Pic 18F452 à 4MHz oui RA4 = 0? non Test bouton poussoir RA4 = 0 BP appuyé Boucle sans fin Les commentaires : Les commentaires sont nécessaires à la compréhension du fichier source. Ils font le lien entre l algorigramme et le listing du fichier source. Ils sont introduits par le caractère //. Les mots situés après le caractère // ne sont pas interprétés par le compilateur. ALGORITHME : Début algorithme Faire RB3 à RB0 en sortie, RA4 en entrée Tant que 1=1 Si RA4 = 0 Alors Faire RB0 à RB3 =1 Sinon Fin Si Fin tant que Fin algorithme Faire RB0 à RB3 = 0 (boucle sans fin) Travail demandé : A partir du fonctionnement souhaité et de l algorigramme, compléter le listing du programme source fourni ci-dessous (parties encadrées). Retrouver sur le programme les différentes étapes de l algorigramme (prendre 5 couleurs différentes LP Veynes Bac pro SEN Initiation au microcontrôleur Page 6

Instruction à utiliser : If.else. (voir le document initiation au langage C) Fonctions à utiliser : set_tris_x(valeur), output_x, input_x (voir l aide du logiciel PIC C) A partir du diaporama : Editer, compiler ce programme avec le compilateur C de CCS. (imprimer votre listing avec en entête votre nom (en commentaire)) Programmer le PIC 18F242 (ou PIC 18F452) avec MPLAB (voir le diaporama pour la procédure). Vérifier le fonctionnement du programme. Listing du programme Signature du professeur : void main() { // programme principal setup_adc_ports(no_analogs); // fonctions insérées par le «Wizard» de PCWH setup_adc(adc_off); // pour initialiser le µc PIC 18Fxx2 à 4Mhz setup_spi(false); // et paramétrer les ports setup_wdt(wdt_off); setup_timer_0(rtcc_internal); setup_timer_1(t1_disabled); setup_timer_2(t2_disabled,0,1); setup_timer_3(t3_disabled T3_DIV_BY_1); set_tris_a(0b ) ; // à compléter PORT A en entrée (0b= valeur en binaire) set_tris_b(0b ) ; // à compléter PORT B en sortie //RB0 à Rb3 à 0 leds éteintes while (TRUE) //permet de créer une boucle sans fin ( ou while(1) ) { if (!input(pin_a4) ) // ou if ( input(pin_a4) = = 0) { //RB0 à RB3 à 1 } else { // RB0 à RB4 à 0 } } } LP Veynes Bac pro SEN Initiation au microcontrôleur Page 7

4-2) programme 2 Cahier des charges : 4 leds clignotent pendant 200ms si le bouton poussoir RA4 est appuyé, sinon elles sont éteintes. ALGORIGRAMME PIC 18F452 à 4MHz ALGORITHME : Début algorithme Faire RB0 à RB3 en sortie, RA4 en entrée Faire RB0 à RB3 à 0 Tant que 1=1 Tant que RA4 = 0 Faire RB0 à RB3 = 1 Temprisation 0.2s RB0 à RB3 = 0 Temporisation 0.2s Fin tant que Fin tant que Fin algorithme Travail demandé : LP Veynes Bac pro SEN Initiation au microcontrôleur Page 8

A partir du fonctionnement souhaité, faire le programme source (imprimer le listing avec votre nom en entête). Tester ce programme. Instructions : while (voir document initiation au langage C) Fonctions : set_tris_x(valeur) ; output ; input ; delay (voir l aide du logiciel PIC C) 4.3) TP chenillard simple défilement A. Présentation Cahier des charges : réaliser un chenillard qui a un seul sens de défilement. La première LED à s'allumer est la LED1 reliée à RB0. La LED2 s allume 0,5 seconde plus tard et ainsi de suite jusqu à la LED4. Ce cycle recommence ensuite indéfiniment tant que le bouton poussoir RA4 est appuyé (sinon les leds sont éteintes). B. Algorigramme Initialisation du PIC 18F452 (à 4Mhz) RA4 en entrée RB0 à RB3 en sorties Déclaration d une variable entière «valeur» sur 8 bits (PORT B) = 0 oui RA4 =1? Boucle répéter tant que non valeur = 0000 0001 B O U C L E Valeur <= 0000 1000? non F O R oui Décalage à gauche de 1 bit de la variable valeur (PORTB) = valeur décalage de n bits à gauche ( << ) : x = y << n Temporisation de 0.5s LP Veynes Bac pro SEN Initiation au microcontrôleur Page 9

C. Algorithme DEBUT ALGORITHME FAIRE RB0 à RB3 en sortie et RA4 en entrée Déclarer la variable «valeur» (entier sur 8 bits) TANT QUE 1=1 (boucle sans fin) Répéter PORTB=0 Tant que RA4 = 1 (test BP si relâché ) POUR valeur = (00000001) 2 à valeur <= 0000 1000 et par décalage à gauche de 1 FAIRE (PORTB) = valeur FAIRE Temporisation 0,5s valeur initiale condition modification FIN POUR FIN TANT QUE FIN ALGORITHME Aide : utiliser la condition do while et la boucle For (voir document initiation au langage C) Travail à faire : Faire le programme de cet ordinogramme (ajouter votre nom en commentaire) et le tester. Signature du professeur : Imprimer ce programme et encadrer sur celui-ci, les différentes étapes de l algorigramme. 4.4) TP chenillard à deux sens de défilement A. Présentation Cahier des charges : réaliser un chenillard à deux sens de défilement. La première LED à s'allumer est la LED1 reliée à RB0. La LED2 s allume 0,5 seconde plus tard et ainsi de suite jusqu à la LED4. Ensuite, c est au tour de la LED3 de s allumer pour revenir à la LED1. (la condition, pour que le chenillard démarre, est que le bouton poussoir RA4 soit appuyé sinon les leds sont éteintes.) Travail à faire : Faire l algorigramme, l algorithme et le programme de ce cahier des charges. Aide : utiliser le décalage logique à gauche puis le décalage logique à droite avec des boucles for Tester votre programme et le faire vérifier à votre professeur. Signature du professeur : Imprimer ce programme et encadrer sur celui-ci, les différentes étapes de l algorigramme. LP Veynes Bac pro SEN Initiation au microcontrôleur Page 10

PICDEM2+ with PIC18F452 MCLR/Vpp 1 RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF- 4 RA3/AN3/VREF+ 5 RA4/T0CKI 6 RA5/AN4/SS/LVDIN 7 RE0/RD/AN5 8 RE1/WR/AN6 9 RE2/CS/AN7 10 OSC1/CLKI 13 RA6/OSC2/CLKO 14 RC0/T1OSO/T1CKI 15 RC2/CCP1 17 RC3/SCK/SCL 18 RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5 28 RD6/PSP6 29 RD7/PSP7 30 RC4/SDI/SDA 23 RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26 RB0/INT0 33 RB1/INT1 34 RB2/INT2 35 RB3/CCP2B 36 RB4 37 RB5/PGM 38 RB6/PGC 39 RB7/PGD 40 RC1/T1OSI/CCP2A 16 U1 PIC18F452 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM032L VCC GND VEE VCC = 5V RA4 R2 4k7 Q1 2N2222 R4 VCC R5 2k2 LS1 SOUNDER 50% RV1 5k D2 LED-RED D3 LED-RED D4 LED-RED D5 LED-RED R21 R22 R23 R24 J6 JUMPER D1 LED-GREEN R15 VCC J9 JUMPER VCC X1 Quartz 4MHz J7 JUMPER RB0 RB1 RB3 RB2