Ad Code

microcontrôleurs - Débuter avec PIC16F84A

Comme d'introduire dans l'article, introduction aux systèmes embarqués, microcontrôleurs sont le cerveau d'un système embarqué. Donc, dans cet article, je serai en expliquant PIC16F84A - un microcontrôleur huit bits de Microchip. Vous pouvez maintenant demander: «Pourquoi avons-nous commencer avec ce microcontrôleur particulier, il ne sont pas les autres?" Eh bien, il est évident que d'une entité discutée lors de l'introduction sera facile à comprendre. En dehors de cela, il ya quelques bonnes raisons que j'ai choisi d'introduire PIC16F84A comme l'architecture simple, moins le montant des instructions, etc,
Est microcontrôleurs simple que cela existe? - Oui. Par exemple, la série PIC12F. Mais ils sont trop simples pour commencer. Alors, laissez-nous continuer et obtenir notre microcontrôleur - Le PIC16F84A. Il coûte environ Rs.120

Ici, je ne peux pas expliquer toutes les caractéristiques, les spécifications de travail et du microcontrôleur, je vais vous expliquer ce qui est nécessaire pour vous lancer (et croyez-moi, vous pouvez faire beaucoup de projets avec cette connaissance). Ok, laisse maintenant entrer dans le jeu.
PIC16F84A est un microcontrôleur 8 bits, ce qui signifie qu'il est capable de traiter seulement 8 bits à la fois. Il est également livré dans des emballages différents. Mais nous ne sommes concernés par la PDIP (Plastic Dual Inline Package) qui est normalement utilisé par les amateurs. Voici les spécifications du PIC16F84A
 Seulement 35 Instructions - ce qui en fait un populaire RISC (Reduced Instruction Set Computer) - Fréquence d'utilisation. MHz68 jusqu'à 20 octets de données RAM64 Octets de données EEPROM15 enregistre la fonction spéciale (SFR) de tension de fonctionnement - de 2,0 à 5 volts13 broches E / S - Vous pouvez configurer les 13 broches soit comme entrée ou de sortie peut broches individually.Each source / puits 25mA current.Supports ICSP (programmation in situ de série) de mémoire Flash peuvent être effacées / écrite 10000 de la mémoire peut être effacée times.EEPROM / écrit 10.000.000 Watchdog intégré timesIn minuterie.
Ne paniquez pas si vous ne savez pas quelles sont les caractéristiques / spécifications mentionnées ci-dessus, je vais couvrir tous en temps voulu.

Comme vous pouvez le voir, c'est un 18 broches IC. Voici les descriptions des broches:
Broche 5: VSS - Il s'agit de la broche de terre de l'IC et doit être connecté à la borne négative de la batterie.
Broche 14: Vdd - C'est la broche d'alimentation de l'IC et doit être connecté à la borne positive de la batterie. (Rappelez-vous maximale que vous pouvez utiliser une batterie de 5 volts, la batterie nominale au-delà de cette valeur peut endommager ce copain).
Broche 4: MCLR - Effacer la mémoire. C'est une goupille active basse. Cela signifie, il exerce sa fonction assignée, quand elle est maintenue basse (relié à la terre). Evidemment, cette broche est utilisée pour effacer la mémoire RAM temporaire. Toujours, lorsque le contrôleur est en fonctionnement, cette broche est reliée à une alimentation positive
Les broches 15 & 16: Oscillateur in / out - ici, vous vous connectez un oscillateur à quartz. La fréquence maximale que vous pouvez utiliser soit 20MHz. Vous pouvez utiliser un cristal de 4MHz aussi. Plus la fréquence du cristal utilisé, plus le contrôleur fonctionne (Mais ils ont mis la limite pour elle -. 20MHz maximum qui est plus rapide suffit pour toutes les applications utilisant ce contrôleur Pour obtenir une image, si vous utilisez un oscillateur à quartz 20MHz, il peut exécuter des instructions 20000000 par seconde!). Ici, nous allons principalement utiliser des oscillateurs à quartz car ils sont très bon marché, facile à utiliser, précis et petits.
Pins 1,2,3,6,7,8,9,10,11,12,13,17 & 18: Ce sont les 13 broches E / S. Elles sont regroupées en deux groupes. Port A qui contient 5 broches (17,18,1,2 & 3) et B Port qui contient 8 broches (6,7,8,9,10,11,12 & 13)
Comme mentionné précédemment, ces 13 broches E / S peuvent être configurés individuellement soit comme entrée ou sortie et chaque broche peut fournir (source) ou il peut absorber (évier) un maximum de courant 25mA. Ainsi, chaque broche peut conduire une LED facilement, mais il ne peut pas conduire n'importe quelle moteurs à courant continu directement, et à cet effet, nous utilisons des pilotes spéciaux IC moteur appelé.
J'ai énuméré que ce PIC contient une minuterie de bord appelé timer chien de garde. Timer chien de garde est une horloge interne à l'intérieur de la puce. Vous pouvez activer ou désactiver la minuterie par programmation. La principale utilisation de la minuterie est de réinitialiser le microcontrôleur lorsque son programme va défectueux ou qu'il entre dans une boucle infinie. Pour comprendre le timer chien de garde clairement, le considérer comme un compte à rebours et de dire, il commence à être décompté à partir de 1000 et arrive à zéro. Au début du programme, l'horloge de surveillance sera démarrée. Avant le timer atteint zéro (dans notre exemple), le programme doit le réaffecter à un nouveau 1000. à savoir, le timer chien de garde n'est jamais permis d'aller à zéro en fonctionnement normal. Dites, pour chaque instruction 3, nous réinitialiser le timer chien de garde à sa valeur initiale. Ainsi, si une erreur se produit dans notre programme, ou lorsque notre programme entre toute boucle infinie, elle ne peut pas réinitialiser le timer chien de garde. Ainsi, lorsque la minuterie atteint zéro comptent, il réinitialise le microcontrôleur et le programme commence dès le début. Ainsi, le timer chien de garde, surveille le travail du programme et réinitialise le programme lorsque les défauts se produisent. Cette temporisation est utilisé dans des applications avancées.
Il existe deux types de registres ici - Registres à usage général (GPR) et les registres de fonctions spéciales (SFR). Son évident d'après le nom que les registres d'usage général sont utilisés pour stocker une valeur quelconque à opérer. Les registres de fonction spéciales sont utilisées pour effectuer certaines fonctions qui contrôle le périphérique.

Ici, comme vous pouvez le voir, les registres sont répartis en deux banques, la Banque 1 et la Banque 2 (ci-dessous dans le diagramme ci-dessus). Ici, les registres de 00h à 80H à 0BH et 8BH sont SFR restants sont GPRS. Ici, nous sommes plus préoccupés par SFR que le GFRs. Ici, je vais vous expliquer en détail cinq SFR - ETAT, PORTA, PORTB, TRISA, TRISB. (Notez que tous les registres 8 bits sont)
 STATUT: Nous utilisons ce registre principalement pour un seul but - pour basculer entre les banques. Lorsque le cinquième bit de ce registre est réglé, nous sommes dans la banque 1, lorsque le cinquième bit est remis à zéro, nous sommes dans la banque 0
 PORTA: Le cinq des huit bits dans le registre correspondant à la 5 broches du port A (17,18,1,2 & 3 broches). Ici, le bit le moins significatif correspond à RA0
 PORTB: Les huit bits de ce registre correspond à la 8 broches du port B (6,7,8,9,10,11,12 & 13 broches). C'est aussi le cas ici - LSB est RB0 et MSB est RB7
 TRISA: Ce registre est utilisé pour définir (décider) si le port A broches sont entrées ou sorties. Principes représentent l'entrée et de zéros représentent les sorties. Par exemple, 10 010 écrit sur le registre TRISA précise que RA0 est configuré en tant que sortie, comme entrée RA1, RA2 en sortie, que la production et RA3 RA4 en entrée. (assez clair?)
 TRISB: Semblable est le cas avec TRISB inscrire. Il est utilisé pour configurer broches B port entrées / sorties.
 Dans le tutorial suivant, je vais vous montrer comment écrire des programmes dans ce contrôleur.

Enregistrer un commentaire

0 Commentaires

Close Menu