Table des matières:
- Étape 1: Choses requises
- Étape 2: Logique du code et affichage
- Étape 3: Affichage de conduite avec microcontrôleur
- Étape 4: Pourquoi le multiplexage ?
- Étape 5: Comment y parvenir ?
- Étape 6: Algorithme de multiplexage
Vidéo: Chronomètre utilisant Pic18f4520 dans Proteus avec 7 segments : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
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
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
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
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é:
Prototype de projet de feu de circulation basé sur Atmega16 utilisant un affichage à 7 segments (simulation Proteus): 5 étapes
Prototype de projet de feux de circulation basé sur Atmega16 utilisant un affichage à 7 segments (simulation Proteus): Dans ce projet, nous allons créer un projet de feux de circulation basé sur Atmega16. Ici, nous avons pris un segment 7 et 3 LED pour désigner les signaux de feu de circulation
Chronomètre Arduino utilisant l'écran LCD I2C : 5 étapes
Chronomètre Arduino utilisant l'écran LCD I2C : Dans ce projet, je vais vous apprendre à utiliser un écran LCD et un Arduino comme chronomètre interactif. Lorsque votre projet est terminé avec le code fourni, il devrait ressembler à la photo ci-dessus. Passez à l'étape suivante pour savoir par où commencer
Chronomètre à affichage à 4 chiffres et 7 segments : 3 étapes
Chronomètre à affichage à 4 chiffres et à 7 segments : cette instructable vous montrera comment créer un chronomètre en temps réel entièrement fonctionnel à partir d'un affichage à 4 chiffres à sept segments
Chronomètre de base utilisant VHDL et carte Basys3 : 9 étapes
Chronomètre de base à l'aide de VHDL et de la carte Basys3 Nous sommes ravis de partager notre projet avec vous! Il s'agissait d'un projet final pour le cours CPE 133 (Design numérique) à Cal Poly, SLO à l'automne 2016. Le projet que nous construisons
Interfaçage du microcontrôleur 8051 avec écran LCD 16 * 2 dans la simulation Proteus : 5 étapes (avec images)
Interfaçage du microcontrôleur 8051 avec un écran LCD 16 * 2 dans la simulation Proteus: Il s'agit d'un projet très basique de 8051. Dans ce projet, nous allons vous expliquer comment nous pouvons interfacer un écran LCD 16 * 2 avec un microcontrôleur 8051. Nous utilisons donc ici le mode 8 bits complet. Dans le prochain tutoriel, nous parlerons également du mode 4 bits