Horloge numérique à l'aide de Microcontrôleurs PIC et le circuit en temps réel DS1307 horloge Schéma

Figure 1: Schéma de circuit de l’horloge numérique à l’aide du microcontrôleur PIC et du RTC DS1307

Une horloge numérique peut être facilement créer à l’aide de Microcontrôleurs PIC et l’horloge temps réel DS1307 avec un écran LCD ou affichage à sept segments. 

Le DS1307 est une horloge / un calendrier en temps réel de faible puissance de  Maxim Integrated  avec horloge/calendrier BCD (décimal codé binaire), plus de 56 octets de mémoire vive statique non volatile..

Les données et adresse sont transférées en série par l’ intermédiaire d’ un bidirectionnel  bus I2C . Le RTC fournit les informations de l’année, mois, date, heure, minute et seconde. La date de fin de mois est automatiquement ajustée pendant des mois moins de 31 jours , y compris la compensation de l’année bissextile jusqu’à l’année 2100. Il peut fonctionner soit au format 24 heures soit au format 12 heures avec indicateur AM / PM.
Le DS1307 est livré avec un circuit de détection de puissance intégré qui détecte les pannes de courant et commute automatiquement pour sauvegarder l’alimentation. L’opération de chronométrage continue pendant que la pièce fonctionne à partir de l’alimentation de secours. Le DS1307 RTC utilise un oscillateur à quartz externe de 32,768 kHz et ne nécessite aucune résistance ou condensateur externe pour fonctionner.

Le PIC18F2620 dispose d’un bus I2C (Inter-Integrated Circuit) intégré, tout microcontrôleur PIC approprié avec bus I2C peut également être utilisé pour ce projet.
Bien qu’une horloge digitale puisse être construite sans puce d’horloge temps réel externe, en utilisant uniquement un minuteur PIC interne, l’horloge temps réel DS1307 et les puces simillaires rendent le logiciel plus facile car il prend en charge toutes les fonctions du calendrier, ajustement des mois de moins de 31 jours, en tenant compte des années bissextiles et d’autres fonctions qui auraient pu rendre le code plus complexe. L’autre avantage de l’utilisation du DS1307 réside dans un circuit intégré de détection de puissance qui détecte les coupures de courant et commute automatiquement l’alimentation de secours pour conserver les informations en temps réel lorsque le circuit principal est à court d’énergie.
Avant de continuer, assurez – vous de lire cet article:

Interfacer le horloge en temps réel DS1307 avec microcontrôleur PIC .

 Schéma du circuit du projet

Comme indiqué sur le schéma ci-dessus, le DS1307 est connecté au port C du PIC qui a un bus I2C intégré (broches 14 et 15 du 18F2620). Raccordez deux résistances pull-up (R1 et R2) pour que le bus fonctionne.
Connectez une batterie de secours 3V (B1) à la broche VBAT (broche 3) du DS1307 pour sauvegarder les données de l’appareil mais si cela n’est pas nécessaire, cette broche peut être mise à la terre.. 

Sur notre circuit, nous utilisons l’oscillateur interne du PIC et le MCLR est désactivé. Si un oscillateur externe est nécessaire, il peut être connecté aux broches 9 et 10 et si le MCLR est nécessaire pour réinitialiser le PIC, il peut être connecté à une alimentation positive via une résistance de 10K.
Trois boutons-poussoirs connectés au PORT C sont également utilisés pour régler la date et l’heure, une fois le bouton SET enfoncé, l’appareil passe en mode de configuration. Appuyez sur le bouton UP pour augmenter l’heure et appuyez sur le bouton DOWN pour diminuer.
Appuyez de nouveau sur le bouton SET pour déplacer le curseur sur Minutes, en appuyant à nouveau sur secondes pour le jour et ainsi de suite.
Un écran LCD 16 x 2 lignes est connecté au PORT B.

Pour en savoir plus comment utiliser un écran LCD, reportez-vous à l’article: 

Interfacer écran LCD avec microcontrôleur PIC .

Regarder le tutoriel vidéo partie 1:

Construction

Il existe de nombreuses Breakout boards de DS1307 que vous pouvez acheter pour simplifier la construction de ce projet. Vous pouvez également économiser beaucoup d’argent en concevant votre propre circuit imprimé pour ce projet au lieu d’acheter une carte Breakout boards, car les composants électroniques sont vraiment bon marché. Vous pouvez acheter les composants de ce projet sur notre Page Boutique.

En ce qui concerne le circuit imprimé, vous n’avez pas à payer une fortune ces jours-ci pour un circuit imprimé professionnel de qualité, de même que pour l’assemblage de composants SMD si vous devez miniaturiser votre carte.

De nombreuses sociétés de circuits imprimés dans le monde peuvent vous proposer des cartes de bonne qualité. L’une de ces sociétés que nous pouvons recommander est PCBWay un fabricant de PCB basé en Chine et spécialisé dans le prototypage de cartes, la production de petits volumes et le service d’assemblage de PCB, réunis sous un même toit avec une décennie d’expérience.

Comme ils sont spécialisés dans le prototypage et les petites commandes, vous pouvez obtenir des circuits imprimés même pour de petits nombres à un prix relativement raisonnable pour seulement 5 USD. Vous pouvez obtenir 10 circuits imprimés de haute qualité (taille: 100 mm x 100 mm ou moins). Les nouveaux membres reçoivent un bonus de 5 $ qui peut être utilisé pour obtenir votre première commande totalement gratuite.

Vous pouvez choisir entre ces couleurs de masque de soudure sans frais supplémentaires: vert, rouge, jaune, bleu, blanc et noir. Vous pouvez également obtenir le prix instantanément avec le devis instantané en ligne, comme illustré à la figure 2 ci-dessous.

PCBWay Home pageFigure 2: Devis instantané de PCBWay en ligne

Pour en savoir plus sur leurs services et passer une commande en ligne, veuillez cliquer sur le lien ci-dessous:

PCBWay: https://www.pcbway.com/

Le Code du projet

Le compilateur de PIC MikroC Pro est utilisé pour écrire le code. 
MikroC Pro for PIC fournit des bibliothèques intégrées pour les périphériques I²C. Le DS1307 fonctionne comme un dispositif esclave sur le bus I²C. 
Les registres contenant les informations de date et d’heure peuvent être obtenus en mettant en œuvre un START et en suivant l’adresse d’identification de l’appareil. Ensuite, chaque registre peut être accédé séquentiellement en utilisant son adresse jusqu’à ce qu’une condition STOP soit exécutée.
L’adresse du DS1307 est 0x68 = 1101000 (page 12 de  la fiche technique ). 
Plus de détails sont disponibles à partir de la  Fiche techniqu du DS1307
L’horloge temps réel DS1307 est une horloge / un calendrier BCD (Décimal codé binaire). Les données lues à partir de DS1307 doivent donc être converties au format requis en fonction de nos besoins et les données à écrire sur DS1307 doivent également être au format BCD.. 
Les fonctions de bibliothèque pour afficher des caractères à cristaux liquides de MikroC ont besoin des caractère ou chaîne de données. Ainsi , les données  à afficher dans l’écran LCD devrait être ou converti en chaîne des caractères. 
L’ addition et la soustraction ne peuvent pas être appliqués directement sur BCD lors de la mise à jour l’heure et la date. Les fonctions de mettre à jour les données doivent convertir d’ abord de BCD en binaire et vice – versa en cas de besoin. 
La Fonction  BCD2Binary () convertit BCD en binaire afin que nous puissions faire quelques calculs de base et la Fonction Binary2BCD ()  convertit binaire en BCD afin que nous puissions écrire dans le registre DS1307 en BCD.

Les données Heure, Minute, Seconde, Date, Mois et Année sont stockées dans des registres de DS1307 séparés de 8 bits au format BCD comme indiqué dans la  Fiche techniqu du DS1307  à la page 8. Nous lisons les données de ces registres pour accéder heure / date. Le MSB () convertit les 4 bits les plus significatifs en caractères correspondants et le LSB () convertit les 4 bits les moins significatifs en caractère correspondant. Lors de l’ écriture au registre heure, Bit 6 est utilisé pour sélectionner le bit de sélection de mode 24 heures ou 12 heures. Lorsque ce bit est fait élevé (1), le mode 12 heures est sélectionné et le bit 5 représentera AM / PM  (Logic haute représente PM).

Regarder le tutoriel vidéo partie 2:

Le code complet du Projet:

Vous pouvez télécharger les fichiers de projet complet (code source MikroC et Proteus conception schématique) ci – dessous ici. Tous les fichiers sont compressés, vous aurez besoin de les dézipper ( Télécharger une version gratuite de l’utilitaire Winzip pour décompresser les fichiers ). 

Télécharger MikroC code source

Télécharger Horloge numérique Proteus Schéma

(Visited 761 times, 1 visits today)