Table des matières:

Chronomètre utilisant Pic18f4520 dans Proteus avec 7 segments : 6 étapes
Chronomètre utilisant Pic18f4520 dans Proteus avec 7 segments : 6 étapes

Vidéo: Chronomètre utilisant Pic18f4520 dans Proteus avec 7 segments : 6 étapes

Vidéo: Chronomètre utilisant Pic18f4520 dans Proteus avec 7 segments : 6 étapes
Vidéo: Compteur : afficheur 7 segment avec le microcontrôleur PIC 2024, Novembre
Anonim
Chronomètre utilisant Pic18f4520 dans Proteus avec 7 segments
Chronomètre utilisant Pic18f4520 dans Proteus avec 7 segments

Je viens de commencer à travailler avec le contrôleur pic, un de mes amis m'a demandé de construire un chronomètre à partir de celui-ci. Je n'ai donc pas d'image matérielle à partager, j'ai écrit du code et l'ai simulé sur le logiciel Proteus.

ici, j'ai partagé le schéma pour le même.

trois variables millisecondes, secondes, minutes sont définies

ici, nous avons utilisé une interruption de minuterie de 10 ms, toutes les 1000 millisecondes, la variable des secondes augmentera, toutes les 60 secondes, la variable des minutes augmentera.

Étape 1: Choses requises

1 contrôleur pic18f4520

2 écrans à sept segments

3 transistors bc547

4 interrupteurs pour marche/arrêt/réinitialisation

5 résistances 330E, 10K, 1K

6 télécharger mikroC pour photo

7 télécharger proteus

Étape 2: Logique du code et affichage

Logique de code et affichage
Logique de code et affichage
Logique de code et affichage
Logique de code et affichage

Qu'est-ce qu'un écran à sept segments ? Un écran à sept segments (SSD) est l'un des écrans les plus courants, les moins chers et les plus simples à utiliser. Cela ressemble à ci-dessus.

ici, nous devons utiliser un affichage à 7 segments de type cathode commune - Dans le SSD de type cathode commune, la borne -ve de toutes les LED est généralement connectée à la broche "COM". Un segment peut être allumé lorsque « 1 » est attribué au segment LED respectif et que la terre est connectée au commun. Les internes sont donnés dans la figure 2.

Étape 3: Affichage de conduite avec microcontrôleur

Affichage de conduite avec microcontrôleur
Affichage de conduite avec microcontrôleur

Dans mon circuit, j'ai utilisé le transistor NPN BC547.

Pour la simple utilisation d'un BJT comme interrupteur, les jonctions émetteur-collecteur sont court-circuitées lorsqu'il y a un signal d'entrée à la borne de base, sinon elle reste coupée. L'entrée doit être fournie par une résistance appropriée.

Étape 4: Pourquoi le multiplexage ?

Souvent, nous devons utiliser deux, trois SSD ou plus et cela aussi en n'utilisant qu'un seul MCU, mais un problème auquel nous sommes confrontés est le manque de broches d'E/S dans le MCU, car un SSD prendrait 8 broches, et donc trois SSD prendrait 24 broches. Dans pic18, nous n'avons que 48 broches d'E/S. Alors, quelle est la solution?

Une possibilité est que nous utilisions un MCU plus grand avec plus de broches d'E/S. Mais alors nous sommes toujours limités à un maximum de 3 SSD pouvant être utilisés. Une autre solution bien meilleure et recommandée à ce problème consiste à multiplexer les écrans à sept segments.

Wikipedia dit « Dans les télécommunications et les réseaux informatiques, le multiplexage (également connu sous le nom de multiplexage) est une méthode par laquelle plusieurs signaux de messages analogiques ou flux de données numériques sont combinés en un seul signal sur un support partagé. L'objectif est de partager une ressource coûteuse. Ce que nous entendons par multiplexage d'un affichage à sept segments, c'est que nous n'utiliserons que 7 ports de sortie pour afficher l'affichage sur tous les SSD.

Étape 5: Comment y parvenir ?

Ici, nous utiliserons « Persistance de la vision ». Maintenant, vous devez avoir déjà traversé ce terme avant. Oui, c'est la même technique qui est utilisée en cinématographie (afficher des images si vite que notre cerveau ne peut distinguer aucun décalage entre deux images consécutives). De même, lorsque nous multiplexons plusieurs SSD, nous n'affichons qu'un seul SSD à la fois et nous basculons entre eux si rapidement que notre cerveau ne peut pas les distinguer.

Disons que chaque affichage n'est actif que 5 millisecondes à la fois, c'est-à-dire qu'il s'allume 1/0,0045 fois par seconde, soit à peu près 222 fois/seconde. Nos yeux ne peuvent pas sentir un changement si vite, et donc ce que nous voyons, c'est que tous les écrans fonctionnent simultanément. Ce qui se passe réellement dans le matériel, c'est que le MCU donne '1' à la broche (rappelez-vous, donner '1' à la base d'un BJT court-circuite la jonction collecteur et émetteur ?), qui est connectée à la base du transistor de les affichages respectifs, maintient le port « ON » pendant 5 millisecondes, puis le désactive à nouveau. Cette procédure est mise en boucle sans fin, de sorte que nous voyons l'affichage en continu.

Étape 6: Algorithme de multiplexage

Algorithme de multiplexage
Algorithme de multiplexage

Définissez deux ports dans le code, un pour le port de données de segment et le port de contrôle de segment.

L'astuce ici est que vous affichez les données sur les 7 segments. et activez la seule broche de contrôle sur laquelle vous devez afficher ces données. changer les données et la goupille de commande de décalage.

ici, dans ce instructable, nous avons utilisé le multiplexage à 6 chiffres, il suffit de parcourir le fichier c joint et vous l'obtiendrez effacé.

Conseillé: