e2 proj num thermometre rapport

Download e2 Proj Num Thermometre Rapport

Post on 27-Nov-2015

29 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 2004

    SARGOS MathildeZANCAN Adrien

  • ENSEIRB Projet systme numrique

    Sargos - Zancan 2/16

    SSSOOOMMMMMMAAAIIIRRREEEINTRODUCTION........................................................................................................3

    LE MATRIEL ...........................................................................................................4I SYNOPTIQUE DE LA CARTE.....................................................................................................4II SCHMA ET RALISATION DE LA CARTE ................................................................................4

    LE LOGICIEL .............................................................................................................5I LES BIBLIOTHQUES C...........................................................................................................5

    I.A) La LED.........................................................................................................................5I.B) Le bouton-poussoir .......................................................................................................5I.C) L'afficheur LCD 2*16 ..................................................................................................5

    I.C.1) L'criture d'un octet dans le LCD...................................................................................................5I.C.2) L'criture d'une instruction LCD....................................................................................................5I.C.3) L'criture d'un caractre vers le LCD.............................................................................................5I.C.4) L'criture d'une chane de caractres vers le LCD.........................................................................6I.C.5) Le retour chariot..............................................................................................................................6I.C.6) L'effacement de l'cran ...................................................................................................................6I.C.7) Le positionnement du curseur en ligne et colonne ........................................................................6I.C.8) Les temporisations ..........................................................................................................................6I.C.9) L'attente pour l'instruction suivante ...............................................................................................6I.C.10) Linitialisation gnrale du LCD en mode 8 bits...........................................................................7I.C.11) Le programme test ..........................................................................................................................7

    I.D) Le capteur LM35 ..........................................................................................................7I.D.1) Linitialisation gnrale pour le capteur analogique .....................................................................7I.D.2) La lecture de la temprature ...........................................................................................................8I.D.3) Le programme test ..........................................................................................................................8

    I.E) Le capteur DS 1620 ......................................................................................................8I.E.1) La lecture dun mot.........................................................................................................................8I.E.2) Lcriture dun mot.........................................................................................................................9I.E.3) Linitialisation gnrale du capteur numrique .............................................................................9I.E.4) Le lancement dune mesure............................................................................................................9I.E.5) La lecture de la temprature ...........................................................................................................9I.E.6) Le programme test ..........................................................................................................................9

    I.F) La bibliothque additionnelle ..................................................................................... 10II LE PROGRAMME PRINCIPAL................................................................................................. 10

    II.A) La premire version .................................................................................................... 10II.A.1) Point d'entre "main()"..................................................................................................................10II.A.2) Initialisation des interruptions "irq_init()"...................................................................................10II.A.3) Initialisation du microcontrleur "pic_init()"...............................................................................10II.A.4) Conversion ASCII "temp_to_string( temp )"...............................................................................10II.A.5) Enregistrements des tempratures maxi et mini "min_max()" ....................................................10II.A.6) Remise zro des tempratures maxi et mini "raz_min_max()".................................................11II.A.7) Traitement et affichage des tempratures "traitement()".............................................................11II.A.8) Le programme d'interruption "interrupt isr()".............................................................................12

    II.B) La version multi-tches .............................................................................................. 13II.B.1) Gnralits.....................................................................................................................................13II.B.2) Les diffrentes tches....................................................................................................................13II.B.3) Point d'entre "main()"..................................................................................................................14

    CONCLUSION ..........................................................................................................15

    ANNEXES ..................................................................................................................16

  • ENSEIRB Projet systme numrique

    Sargos - Zancan 3/16

    ____ IIINNNTTTRRROOODDDUUUCCCTTTIIIOOONNN ____Notre projet consiste en la ralisation dun thermomtre affichage digital

    base dun microcontrleur Microchip PIC 16F877. Sur un afficheur LCD, lestempratures intrieure et extrieure provenant de deux capteurs seront affiches.

    Lors d'un changement, on affichera les nouvelles valeurs courantes detemprature. Les valeurs maximales et minimales des tempratures seront afficheslors d'appuis successifs sur un bouton-poussoir. Si l'appui dpasse quelques secondesalors une initialisation des valeurs maximales et minimales sera effectue. De plus uneLED clignotera rgulirement, il s'agit d'un tmoin de bon fonctionnement del'ensemble.

  • ENSEIRB Projet systme numrique

    Sargos - Zancan 4/16

    _____LLLEEE MMMAAATTTEEERRRIIIEEELLL_____I Synoptique de la carte

    La carte lectronique est compose d'un microcontrleur PIC 16F877, auquelsont associs divers priphriques. Un capteur de temprature de type analogiqueLM35 permet de mesurer la temprature extrieure, un capteur de temprature detype numrique DS1620 interface srie synchrone est utilis pour la tempratureintrieure. Un afficheur LCD permet la visualisation des tempratures et autresinformations utiles. Un bouton-poussoir permet, quant lui, de slectionner lesdiffrentes informations afficher (tempratures courantes, tempratures maxi,tempratures mini, remise zro). Enfin, une LED clignote pour indiquer l'tat defonctionnement du circuit.

    II Schma et ralisation de la carteLa ralisation du circuit imprim a t faite avec le logiciel Mentor Graphics.Le schma lectrique du montage, les typons ct composants et ct cuivre,

    les schmas d'implantation et la nomenclature des composants sont fournisrespectivement en Annexe 1, Annexe 2.1, Annexe 2.2, Annexe 3.1, Annexe 3.2 etAnnexe 4.

    LM35

    DS1620

    PIC 16F877

    Vout

    DQ

    CLK

    /RST

    RA2

    RA1

    RA3

    BP sl

    LCD(2x16)

    LED

    RB4

    RB2

    RB1

    RB5

    DB0 DB7

    RA1

    RA1

    RA1

    RD0 RD7

    RB0

  • ENSEIRB Projet systme numrique

    Sargos - Zancan 5/16

    _____ LLLEEE LLLOOOGGGIIICCCIIIEEELLL _____I Les bibliothques C

    I.A) La LEDOn souhaite simplement ici allumer la LED afin de vrifier l'tat gnral de

    notre carte lectrique et le fonctionnement global du PIC. Il suffit donc deconfigurer le port B correctement, le bit RB5 qui correspond la commande de laLED doit tre configur en sortie. Si le bit RB5 est ltat '1' alors la LEDs'allumera sinon elle sera teinte.

    I.B) Le bouton-poussoirOn souhaite faire changer l'tat de la LED chaque appui sur le bouton-

    poussoir. Ce changement sera effectu dans le programme d'interruption appellors de l'appui sur le bouton-poussoir. Il a donc fallu initialiser en interruption lebouton-poussoir de slection qui se trouve sur la broche RB0 du PIC.

    I.C) L'afficheur LCD 2*16L'afficheur LCD doit permettre de lire les tempratures, on souhaite donc

    afficher une chane de caractres en code ASCII partir d'une position dfinie surl'cran. On dcompose cette fonction principale en sous-programmes pour obtenirune programmation plus claire et rutilisable.

    I.C.1) L'criture d'un octet dans le LCDLa fonction