1 Mini projet Thème : Horloge, calendrier et thermomètre numérique Affichage
1 Mini projet Thème : Horloge, calendrier et thermomètre numérique Affichage sur un module LCD alphanumérique de la date (format dd jj/mm/aaaa) de l'heure (format hh:mm) de la température (résolution 0,5 °C) Mise en oeuvre du bus I2C Présenté par : BOUFAID LYES BOUMRAH MORAD BOUCHEWAREB MADJIDE 2 SOMAIRE Introduction générale CHAPITRE I : 1- Présentation 2- Schéma électrique de la carte 3- Présentation du DS1307 (Real Time Clock) 4- Présentation du DS1621 / DS1631 / DS1731 4- Principe de fonctionnement d'un afficheur LCD alphanumérique 6- Principe de fonctionnement de la carte CHAPITRE II : 1- Le circuit imprimé 2- Liste du matériel 3- Code source du microcontrôleur PIC 16F876A 4-Conclusion 5-Annexe 3 Introduction Générale : Le développement des applications à base des microcontrôleurs PIC est devenu de plus enplus courant, ceci est dû à plusieurs causes : beaucoup de ressources internes (périphériques intégrés), mémoires embarquées de plus en plus grande, vitesse de calcul accrue… En effet, un microcontrôleur est un composant parfaitement adapté à des applications embarquées, il permet, en le programmant, d’effectuer et de contrôler une tâche tout en comparant son état à des conditions préfixées par l’utilisateur. L’utilisation des microcontrôleurs fait appel tout d’abord à leur programmation. Il existe plusieurs méthodes de programmation selon le langage utilisé, par exemple en assembleur on peut écrire un programme où on va tirer le maximum des performances du microcontrôleur mais ce programme nécessite beaucoup de travail et surtout beaucoup de temps. Heureusement, avec la montée en puissance des microcontrôleurs, on voit apparaitre des compilateurs en langage C qui permettent de gagner un temps considérable pour le développement des programmes. Dans ce travail notre choix est porté vers le PIC 16F876A. Dans le premier chapitre nous allons étudier d’une manière générale ce microcontrôleur et ses différentes ressources internes, ensuite un deuxième chapitre destiné à la programmation de ce microcontrôleur en langage assembleur en utilisant le compilateur MPLAB. . La température constitue une information importante dans plusieurs processus industriels et delaboratoire. Elle intervient comme une grandeur principale dont la valeur doit être connue avec précision ou comme paramètre influant sur la qualité d’autres mesures. Sa valeur sera utilisée pour la correction ou la compensation. Certains procèdes industriels ou biologiques favorisent des environnements de températures spécifiques, ainsi la régulation de température s’impose. Cette régulation passe par la mesure de température de manière continue. Les possibilités offertes par l’utilisation de système à base de microprocesseur ont permis de traiter les signaux issus des capteurs numériquement (linéarisation et conversion). Ceci à conduit à des appareils précis et bon marché. Les systèmes à base de microcontrôleurs constituent la solution la plus attractive. Dans ce travail nous avons fait la conception d’un thermomètre et d’un calendrier à base de PIC 16F876A de Microchip. Notre horloge, calendrier et thermomètre numérique utilise un capteur intégré DS1620 pour la mesure de température et DS1307 pour la date et l’heure. Les calculs sont confiés au microcontrôleur et l’affichage sur un écran alphanumérique 2*16. 4 CHAPITRE I : 1- Présentation : Il s'agit d'une horloge / calendrier / thermomètre numérique, avec affichage sur un module LCD alphanumérique. Deux boutons poussoirs permettent le réglage de l'heure et de la date. Une pile de sauvegarde (en option) permet de conserver la date et l'heure en cas de coupure de l'alimentation principale. La date et l'heure sont ainsi restaurées à la reprise de fonctionnement de l'alimentation principale. 2- Schéma électrique de la carte : 5 N.B. Si vous n'utilisez pas de pile de sauvegarde, il faut relier la broche 3 (VBAT) du DS1307 directement à la masse. 3- Présentation du DS1307 (Real Time Clock) : Le circuit Dallas DS1307 est une horloge temps réel (Real Time Clock), qui fournit secondes, minutes, heures, jours, dates, mois et années. Le Dallas DS1307 est associé (entre les broches 1 et 2) à un quartz d'horlogerie de fréquence nominale 32,768 kHz. Les années bissextiles sont prises en compte (jusqu'en 2100). Le DS1307 s'interface avec un bus I2C, en configuration esclave : Le DS1307 travaille dans le mode standard (fréquence d'horloge f SCL de 100 kHz) L'adresse I2C (7 bits) du DS1307 est : 1 1 0 1 0 0 0 En option, on peut brancher une pile de sauvegarde entre la broche 3 et la masse. Avec une pile au lithium 3 V / 48 mAh, la date et l'heure sont conservées pendant plus de 10 ans en l'absence de l'alimentation principale (interrupteur SW3 en position OFF). 4- Présentation du DS1621 / DS1631 / DS1731 (thermomètre numérique) : Le capteur de température DS1631 (Dallas Semiconductor) fait parti de la famille des capteurs "intelligents" : sur la même puce, il y a un capteur de température classique associé à une électronique d'interface (convertisseur analogique - numérique, contrôleur avec son jeu d'instructions, EEPROM, port série synchrone : bus I2C). Le DS1631 est un thermomètre numérique : plage de mesure - 55,0 °C à + 125,0° C avec une résolution que l'on peut choisir de 9 bits (0,5 °C) à 12 bits (0,0625 °C). La température est fournie sous la forme d'un nombre binaire en complément à deux. La durée de la conversion dépend de la résolution : 93,75 ms avec 9 bits, 750 ms avec 12 bits. Le DS1631 s'interface avec un bus I2C (broches SDA et SCL), en configuration esclave : Le DS1631 travaille en Fast mode (fréquence d'horloge f SCL de 400 kHz) L'adresse I2C (7 bits) du DS1631 est : 1 0 0 1 A2 A1 A0 o A2, A1 et A0 correspondent aux niveaux logiques appliqués à ces 3 entrées o On peut donc connecter jusqu'à 8 boîtiers DS1631 sur un bus I2C 6 La différence entre le DS1631 et le DS1731 se fait uniquement sur la précision de la mesure (à ne pas confondre avec la résolution !) : 0,5 °C dans la plage 0 °C à +70 °C pour le DS1631 1 °C dans la plage -10 °C à +85 °C pour le DS1731 6- Principe de fonctionnement d'un afficheur LCD alphanumérique : Ci-dessous, un exemple d'afficheur LCD alphanumérique 16 x 2 (2 lignes de 16 caractères) : 6-1- Le connecteur : Le connecteur possède 16 broches : 7 6-2 Alimentation du module LCD : R = 10 k P = 2,2 k R' = quelques dizaines d'ohms Le potentiomètre P règle la tension d'alimentation (V0) du panneau LCD : on agit ainsi sur le contraste. R' règle le courant du système de rétroéclairage (de l'ordre de 100 mA). Consulter la documentation du constructeur pour déterminer sa valeur exacte. 8 6-3- Interface 4 bits : Si vous êtes limité par le nombre de broches disponibles de votre microcontrôleur, vous pouvez utiliser l'interface 4 bits. Cela fait gagner 4 broches et seules 7 broches sont nécessaires à la commande du module LCD. Vu du côté du microcontrôleur, cela donne : 3 sorties (reliées aux 3 entrées RS, R/W et E du module LCD) 4 broches (reliées aux 4 bits du bus de données DB7~DB4) : configurées en sortie en mode écriture (R/W = 0) configurées en entrée en mode lecture (R/W = 1) L'interface 4 bits est plus lente que l'interface 8 bits. En effet, le transfert des 8 bits de données se fait en 2 fois. On commence par transmettre les 4 bits de poids forts (DB7~DB4) puis les 4 bits de poids faibles (DB3~DB0). 9 Remarque : On peut gagner une broche en reliant R/W à la masse (R/W = 0 : mode écriture). Le drapeau BUSY n'est donc plus accessible. On contourne l'obstacle avec une temporisation suffisamment longue, à l'issue de laquelle on pourra transmettre une nouvelle instruction. 6-4- Protocole de communication en mode écriture (R/W = 0) dans le cas d'une interface 4 bits : Le microcontrôleur commence par établir RS et R/W (R/W = 0), puis les 4 bits DB7-DB4. Les niveaux de RS et R/W sont pris en compte par le module LCD sur le front montant de E. Les niveaux des 4 bits DB7-DB4 sont pris en compte par le module LCD sur le front descendant de E. Le microcontrôleur établit ensuite les 4 bits de poids faibles DB3-DB0, qui sont pris en compte par le module LCD sur le deuxième front descendant de E. 10 6-5- Protocole de communication en mode lecture (R/W = 1) dans le cas d'une interface 4 bits : Le microcontrôleur commence par établir RS et R/W (R/W = 1). Les niveaux de RS et R/W sont pris en compte par le module LCD sur le front montant de E. Le module LCD fournit alors les 4 bits DB7-DB4 (au plus tard 120 ns après le front montant de E). Le module LCD fournit ensuite les 4 bits de poids faibles DB3-DB0, après le deuxième front montant de E. N.B. Au niveau uploads/Management/ boulou-copie.pdf
Documents similaires










-
43
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 11, 2021
- Catégorie Management
- Langue French
- Taille du fichier 1.0629MB