Contacts

Principe de fonctionnement d'une balise clignotante avec une photo de microcontrôleur. Le schéma le plus simple sur le microcontrôleur. Exemples de changement de valeurs dans la mémoire du microcontrôleur PIC12F629

Il est donc temps d'étudier les microcontrôleurs, puis de les programmer, ainsi que de collecter des appareils sur eux, dont les systèmes sont maintenant en ligne, eh bien, juste la mer. Eh bien, j'ai trouvé le schéma, acheté le contrôleur, téléchargé le micrologiciel ... et à Gem quoi ??? Et ici devant une radio amateur, commençant à maîtriser les microcontrôleurs, la question se pose - le choix du programmeur! Je voudrais trouver option optimale, en termes de polyvalence - simplicité du schéma - fiabilité. Les programmeurs «de marque» et leurs analogues ont été immédiatement exclus en raison de jolies régime complexequi comprend les mêmes microcontrôleurs qui doivent être programmés. C'est-à-dire qu'il s'avère un "cercle fermé": faire un programmeur, un programmeur est nécessaire. Il a donc commencé à rechercher et à expériences! Au début, le choix est tombé sur la photo JDM. Ce programmateur fonctionne du port COM et se nourrit de là. Cette option a été testée, programmée avec confiance à 4 contrôleurs sur 10, tandis que la nutrition a amélioré la situation, mais pas beaucoup, sur certains ordinateurs, il a généralement refusé de le faire et la protection contre "imbécile" n'est pas fournie. Ensuite, le programmateur PONY-PROG a été étudié. En principe, presque le même que le JDM. Le programmeur "Pony-PROG" représente un schéma très simple, avec des repas d'un ordinateur informatique, dans le cadre de laquelle, sur les forums, sur Internet, des questions apparaissent très souvent sur les échecs en programmation, ou autre microcontrôleur. En conséquence, le choix a été arrêté sur le modèle extra-pic. J'ai regardé le schéma - très simple, avec compétence! L'entrée est max 232 transformant les signaux de port série RS-232 en signaux appropriés pour une utilisation dans circuits numériques Avec les niveaux de TTL ou de CMOS, l'ordinateur ne surcharge pas le port COM, car il utilise la norme d'exploitation RS232, elle ne représente pas de dangers pour le port COM. Le premier plus!
Il est opérationnel avec tous les ports COM, en standard (± 12 V; ± 10V) et avec des ports COM non standard de certains modèles d'ordinateurs portables modernes ayant une tension réduite de lignes de signal, jusqu'à ± 5V - plus! Soutenu par des programmes CI-PROG communs, PonyProg, Winpic 800 (Winpic800) et d'autres - The Troisième Plus!
Et il mange tout de sa propre source d'alimentation!
C'était décidé - vous devez collecter! La version finale de ce programmateur a donc été trouvée à la radio 2007 n ° 8. Il a autorisé à programmer des microcontrôleurs dans deux modes.
Deux façons de traduire des microcontrôleurs Picmicro en mode de programmation sont connus:
1. Inclus de la tension d'alimentation VCC pour soulever la tension VppL (sortie de la CCLR) de zéro à 12V
2. La tension VCC est désactivée pour augmenter la tension VPP de zéro à 12V, puis allumez la tension VCC.
Le premier mode concerne principalement les instruments d'évolution précoce, il impose des restrictions à la configuration de la sortie -MCLR, ce qui peut uniquement servir que dans l'entrée du signal. installation initialeEt dans de nombreux microcontrôles, il est possible de transformer cette sortie en une ligne normale de l'un des ports. C'est un autre plus de ce programmeur. Le schéma est indiqué ci-dessous:

Plus grand
Tout a été collecté sur la laypete et testé. Tout est parfait et stable, les problèmes n'ont pas été remarqués!
Le haut-parleur a été dessiné pour ce programmeur.
depositfiles.com/files/mk49uejin.
Tout a été collecté dans le cas ouvert, la photo de laquelle est inférieure.




Le câble de raccordement a été réalisé indépendamment du segment d'un câble huit et de comédian standard, aucun modem zéro ici ne se cachera pas, je vous avertit tout de suite! L'assemblage de câbles doit être prélevé avec soin, de se débarrasser immédiatement des maux de tête à l'avenir. La longueur du câble ne doit pas dépasser un mètre et demi.
Photo de câble


Ainsi, le programmeur est assemblé, le câble aussi, est arrivé à un tour de vérification de toute cette économie pour la performance, de rechercher des problèmes et des erreurs.
Au début, nous installons le programme IC-PROG, qui peut être téléchargé sur le site Web du développeur www.ic-prog.com, décompressez le programme dans un répertoire distinct. Dans la formation, la cathédrale doit être trois fichiers:
iCProg.exe - fichier shell programmateur.
ICProg.sys - Pilote requis pour Windows NT, 2000, XP. Ce fichier doit toujours être dans le répertoire de programme.
ICProg.chm - Fichier d'aide (fichier d'aide).
Installé, il serait maintenant nécessaire de le configurer.
Pour ça:
1. (Windows XP uniquement): cliquez avec le bouton droit de la souris sur le fichier iCProg.exe. "Propriétés" \u003e\u003e onglet "Compatibilité" \u003e\u003e Installez la "Cochez" pour exécuter le programme en mode compatibilité avec: "\u003e\u003e Sélectionnez" Windows 2000 ".
2. Sur le fichier iCProg.exe. Sélectionnez "Paramètres" \u003e\u003e "Options" \u003e\u003e Top "Langue" \u003e\u003e Installez la langue "Russe" et cliquez sur OK.
D'accord avec l'approbation de "Vous devez redémarrer IC-PROG maintenant" (cliquez sur OK). Le shell programmeur redémarre.
Paramètres "\u003e\u003e" Programmeur

1. Vérifiez les paramètres, sélectionnez le port COM que vous utilisez, cliquez sur OK.
2. Concessionnaire, "Paramètres" \u003e\u003e "Options" \u003e\u003e Sélectionnez l'onglet Général \u003e\u003e Définir le "Cochez" sur le point "sur. Pilote NT / 2000 / XP "\u003e\u003e Cliquez sur" OK "\u003e\u003e Si le pilote n'a pas été donné auparavant sur votre système, dans la fenêtre" Confirmer "qui apparaît, cliquez sur" OK ". Le pilote sera installé et le shell programmeur redémarre.
Noter:
Pour des ordinateurs très "rapides", il est possible d'augmenter le paramètre "Délai d'E / S". L'augmentation de ce paramètre augmente la fiabilité de la programmation, cependant, le temps et le temps passé à la programmation de la puce.
3. »Paramètres" \u003e\u003e "Options" \u003e\u003e Sélectionnez l'onglet "I2C" \u003e\u003e Définir les "ticks" sur les éléments: "Activer la MCLR en tant que VCC" et "Enregistrement de bloc d'activation". Cliquez sur OK.
4. "Paramètres" \u003e\u003e "Options" \u003e\u003e Sélectionnez l'onglet "Programmation" \u003e\u003e Supprimer la "Cochez" à partir de l'élément: "Vérifier la programmation" et définissez "Tick" à l'élément "Vérification de la programmation". Cliquez sur OK.
Alors installez-vous!
Maintenant, nous testerions le programmeur en place avec IC-PROG. Et puis tout est simple:
Ensuite, dans le programme IC-PROG, dans le menu, exécutez: Paramètres \u003e\u003e Test de programmeur

Avant d'effectuer chaque élément de la méthode de test, n'oubliez pas de définir tous les "champs" à la position d'origine (toutes les "cases à cocher" sont supprimées), comme indiqué dans la figure ci-dessus.
1. Installez la "tick" dans le "ON" Sortie de données ", dans le même temps, le champ" Cocher "doit apparaître dans le champ" Connexion "et le contact du journal (données)) doit être installé. "1" (au moins +3,0 volts). Maintenant, connecteurs de contact (données) et contact (GND) X2, tandis que la marque dans le champ "Entrée de données" doit disparaître pendant la fermeture des contacts.
2. Lors de l'installation du "Talk" dans le "ON" Tacture ", sur le contact (horloge) du connecteur X2, le niveau du journal doit être installé. "une". (au moins +3,0 volts).
3. Installez le paramètre "Cocher" dans "ON Réinitialiser (MCLR) ", sur le contact de contact (VPP) x3, le niveau de + 13,0 ... +14,0 volt doit être installé et la LED D4 (généralement rouge) est allumée. Si le commutateur de mode est mis en position 1, Le voyant HL3 sera allumé.
Si lors du test, tout signal ne passe pas, vous devez vérifier avec précaution sur tout le chemin du passage de ce signal, y compris le câble de connexion avec le port COM.
Test du canal de données de canal extrapic:
1. 13 Sortie de puce DA1: Voltage de -5 à -12 volts. Lors de l'installation de la "Cochez": de +5 à +12 volts.
2. 12 Sortie de puce DA1: Voltage +5 volts. Lors de l'installation du "Cochez": 0 Volt.
3. 6 Sortie de puce DD1: Tension 0 Volt. Lors de l'installation du "Cochez": +5 volts.
3. Sortie de puce DD1 1 et 2 DD1: Tension 0 Volt. Lors de l'installation du "Cochez": +5 volts.
4. 3 Sortie de puce DD1: Voltage +5 volts. Lors de l'installation du "Cochez": 0 Volt.
5. 14 Sortie de puce DA1: Tension de -5 à -12 volts. Lors de l'installation de la "Cochez": de +5 à +12 volts.
Si tous les tests sont passés avec succès, le programmeur est prêt à fonctionner.
Pour connecter un microcontrôleur au programmeur, vous pouvez utiliser des panneaux appropriés ou créer un adaptateur à base de panneaux ZIF (avec une force de branchement zéro), par exemple, comme RadioKot.ru/circuit/digital/pcmod/18/.
Maintenant quelques mots sur la programmation ICSP - Intrahemal
Contrôleurs de pic.
Lorsque vous utilisez ICSP sur la carte de périphérique, vous devez envisager le programmeur. Lorsque la programmation à l'aide de ICSP, 5 lignes de signalisation doivent être connectées au programmeur:
1. GND (VSS) - fil partagé.
2. VDD (VCC) - Plus la tension d'alimentation
3. MCLR "(VPP) - Entrée de tension de réinitialisation / programmation du microcontrôleur
4. RB7 (données) - Bus de données bidirectionnel en mode de programmation
5. RB6 (horloge) Synchronisation Connexion en programmation
Les conclusions restantes du microcontrôleur ne sont pas utilisées dans le mode de programmation intrahemid.
Option de connexion ICSP au microcontrôleur PIC16F84 dans le boîtier DIP18:

1. L'affaire MCLR est déclenchée sur le diagramme du dispositif Jumper J2, qui s'ouvre dans le mode de programmation intrahemhémal (ICSP), passant la sortie MCLR au programmateur monopolistique.
2. Le VDD du mode de programmation ICSP est déconnecté du diagramme du périphérique Jumper J1. Ceci est nécessaire pour éliminer la consommation de courant de la ligne VDD de l'appareil.
3. RB7 (bus de données bidirectionnel en mode de programmation) est isolé par le courant du diagramme de périphérique de la résistance R1 avec une valeur nominale d'au moins 1 com. À cet égard, le courant d'écoulement / écoulement maximal fourni par cette ligne sera limité à la résistance R1. Si nécessaire, assurez-vous que la résistance R1 doit être remplacée (comme dans le cas de VDD) avec un cavalier.
4. DÉCLINE RB6 (synchronisation de PIC en mode de programmation) ainsi que RB7 est insérée dans le courant du diagramme de périphérique R2, une valeur nominale d'au moins 1 com. À cet égard, le courant d'écoulement / écoulement maximal fourni par cette ligne sera limité à la résistance R2. Si nécessaire, assurer un courant maximum, la résistance R2 doit être remplacée (comme dans le cas de VDD) avec un cavalier.
Emplacement des sorties ICSP dans les contrôleurs de PIC:


Ce schéma est uniquement à titre de référence, les conclusions de programmation sont préférables de clarifier de datashets au microcontrôleur.
Considérez maintenant le microcontrôleur du microcontrôleur dans le programme IC-PROG. Nous examinerons sur l'exemple du design ici d'ici RGB73.MYLIVEPAGE.RU/WIKI/1952/579
Voici un programme de périphérique


Voici le firmware
Nous flasons le contrôleur PIC12F629. Ce microcontrôleur utilise une constante osccale - représente une valeur d'étalonnage de type 16 type du générateur MK interne, avec laquelle MK rapporte du temps lors de l'exécution de ses programmes enregistrés dans la dernière cellule des données de pointe. Nous connectons ce microcontrôleur au programmeur.
Ci-dessous sur le crier avec des chiffres rouges indique une séquence d'actions dans le programme IC-PROG.


1. Sélectionnez le type de microcontrôleur
2. Appuyez sur la touche "Contact Chip"
Dans la fenêtre "Code du programme" dans la dernière cellule, il y aura notre constante pour ce contrôleur. Pour chaque contrôleur constant son propre ! Ne l'effacez pas, écrivez sur un morceau de papier et obtenez-le sur la puce!
Nous allons plus loin


3. Cliquez sur le bouton "Ouvrir le fichier ...", sélectionnez notre micrologiciel. Dans la fenêtre code de logiciel Le code du firmware apparaît.
4. Allez à la fin du code, sur la dernière cellule Cliquez sur le bouton droit de la souris et sélectionnez le champ "Hex" dans le champ "Hex", entrez la valeur constante, écrite, cliquez sur "OK".
5. Cliquez sur "Programmer la puce".
Le processus de programmation ira, si tout s'est passé avec succès, le programme affichera la notification appropriée.
Je tire un microfère du programmateur et insérez dans la disposition collectée. Allumez le courant. Appuyez sur le bouton Démarrer. Voici le clignotant de travail vidéo
video.mail.ru/mail/vanek_rabota/_myvideo/1..html.
C'était compris. Mais que faire si nous avons le fichier de code source sur l'assembleur ASM et nous avons besoin d'un fichier de firmware hexagonal? Ici vous avez besoin d'un compilateur. Et c'est - c'est MPLAB, dans ce programme, vous pouvez écrire du micrologiciel et compiler. Voici une fenêtre de compilateur


Installer mplab
Trouver dans le programme MPASMWIN.EXE installé MPASMWIN.exe est généralement situé dans le dossier - Microchip - MPASM Suite - MPASMWIN.EXE
Exécuter. Dans la fenêtre (4) parcourez la recherche de notre source (1) .asm, dans le processeur de la fenêtre (5), sélectionnez notre microcontrôleur, appuyez sur l'assemblage et dans le même dossier dans lequel vous avez spécifié le code source apparaîtra à votre firmware. HEX. Et tout est prêt!
J'espère que cet article aidera les débutants à la maîtrise des contrôleurs de PIC! Bonne chance!


Cet appareil ne brille pas d'une originalité spéciale, mais peut être utile. L'idée est telle, nous avons 3 entrées: des signaux de virage à gauche et à droite, ainsi que deux bandes à LED situées à gauche et à droite 8 LED. Lorsque vous cliquez sur la pédale de frein - les deux bandes clignotent avec divers effets, complétant les feux d'arrêt principaux. Lorsque j'ai activé, dites le signal de virage droit - dans l'horloge, la lumière fonctionne sur la bande droite, si la gauche est allumée - puis sur la bande de gauche. Lorsque l'accident est activé - toutes les voyants clignotent sur la matrice de manière synchrone avec l'urgence.

De plus, il y a une autre entrée - "clignotant". Il n'est pas un but particulier, c'est juste un désolé pour le pied de la photo de jeter dans l'air. Lorsque le signal 12V est rempli de cette entrée, toutes les LED matricielles clignotent rapidement, vous pouvez appliquer par exemple lorsque la lampe inversée est allumée.

Pour bon travail Les appareils à LED doivent être disposés comme indiqué dans la figure ci-dessus. La 1ère diode selon le schéma est la plus proche du corps du dispositif, le 8ème SD est l'extrême LED sur la ligne. En conséquence, les règles de gauche et de droite sont indiquées.

Cet appareil peut être placé pour verre arrière Voiture ou sur un spoiler. Les LED, bien sûr, doivent être rouges! Aucun périphérique de configuration n'est requis, il commence immédiatement. En mode attente, la consommation actuelle est négligeable, il n'est donc absolument pas effrayant pour la batterie.









Déposer:
La taille:
Contenu:

mk_stop_2.rar
48,9 KB
Photo cavalier (Lay) et le fichier de microcontrôleur de microcontrôleur (HEX)

Ce schéma est un simple stroboscope à LEDConstruit sur le microcontrôleur PIC12F629. Dans le stroboscope, il y a 4 cavaliers avec lesquels vous pouvez sélectionner l'une des options de la LED.

Il existe les modes suivants: l'intervalle entre l'impulsion (30 ms et 10 ms), la fréquence des répétitions (1, 2, 3 et 4 secondes), la création de simples ou de double clignote.

Étant donné que la sortie du microcontrôleur PIC12F629 est capable de résister à la charge maximale de la surface de 25 mA, le transistor peut décharger la sortie du microcontrôleur et augmenter le courant qui passe à travers la LED dans le circuit stroboscopique. Ce transistor a un collecteur de courant maximal 100 mA, suffisant pour alimenter la plupart des types de LED de 5 mm.

La résistance R4 effectue le rôle du limiteur de courant pour la LED. Lorsque la nutrition d'un stroboscope dans 5 volts et une chute de la tension sur la LED à 1,8 volt, le courant circulant à travers la LED est limité à 47 mA.

La tension d'entrée ne doit pas dépasser 5 volts. Le circuit stroboscopique à LED est capable de fonctionner à 3 volts, mais il sera nécessaire de réduire la résistance de la résistance R4. Il convient de prendre en compte lors du calcul de la résistance R4 que certaines LED créent une chute de tension à 3 volts, en particulier une LED blanche et des LED bleues et vertes.

La durée de l'impulsion, l'intervalle et le mode Stroboscope peuvent être sélectionnés par l'utilisateur à l'aide de l'unité de cavalier. Comme mentionné ci-dessus, deux modes ont été mis en œuvre dans le diagramme: les épidémies simples et le double (pause entre double clignotement est de 175 ms).

L'intervalle entre la série Flash est mesuré à partir de la fin d'une seule impulsion de groupe avant le groupe suivant.

Sélectionnez le mode de fonctionnement du stroboscope à LED

Le temps de la durée de l'impulsion, l'intervalle et le mode double sont configurés en modifiant la valeur dans le microcontroller EEPROM PIC12F629, avant son micrologiciel. Il simplifie grandement la modification des valeurs, car il n'est pas nécessaire de réactiver la source programmes. Juste besoin de flash hexagonal dans la mémoire du microcontrôleur.

Exemples de changement de valeurs dans la mémoire du microcontrôleur PIC12F629

Changer la durée de l'épidémie. Supposons que vous souhaitiez obtenir la durée de l'impulsion flash (au lieu de 30 ms par défaut) 40 ms. Ensuite, la valeur que vous souhaitez écrire dans EEPROM est définie comme suit: 40 ms / 1 ms \u003d 40. Nous allons maintenant transférer 40 au système hexadécimal, nous obtenons 28, que vous devez écrire à 00 EEPROM.

Calculez le changement de l'intervalle entre Double clignotements de 0,2 seconde (au lieu de 175 ms par défaut). Pour cela, 200 ms / 1 ms \u003d 200. Nous traduisons dans le système hexadécimal pour obtenir C8 qui est enregistré dans l'adresse 02.

Pour modifier l'intervalle entre la série Flash de 1,3 seconde (au lieu de 1 seconde par défaut), vous devez procéder comme suit: 1,3 seconde / 100 ms \u003d 13. Nous traduisons en un type hexadécimal de 0D. Cette valeur est prescrite à 03 EEPROM.

Il convient de noter que 255 est la valeur maximale pouvant être prescrite en une seule adresse mémoire.

Le moyen le plus simple de traduire le nombre de décimales dans le système hexadécimal (par exemple, le numéro 40) est dans le type de moteur de recherche de Google.com: 40 à hexagonal. Nous aurons la réponse: 0x28. Préfixe 0x En conséquence nous indique simplement que la valeur est donnée dans le système hexadécimal.

Dans le circuit stroboscopique, vous pouvez appliquer un microcontrôleur Pic12f629 et PIC12F675.

Modification du schéma stroboscopique à LED (ABC Morse - SOS)

Il s'agit d'une version à stroboscope modifiée qui permet à Morse dans le système Morse d'organiser des équipements de lumière signal SOS. La longueur du point peut être installée dans l'une des quatre périodes et le temps entre les deux séquences 'SOS' peut également être ajusté.

Pic Microcontrôleurs, possédez l'architecture de Harvard et produites par Microchip Technology Inc. Le nom de la photo est une réduction de la phrase anglaise des contrôleurs d'interface périphériques - Transférer vers les grands et puissants «contrôleurs d'interface périphérique». Les contrôleurs de pic sous la marque Microchip produisent des microcontrôleurs de 8, 16 et 32 \u200b\u200bbits, ainsi que des contrôleurs de signal DSC numériques. Les microcontrôleurs PIC ont les avantages significatifs suivants: bonne continuité de différentes familles: pleine compatibilité logicielle et des outils de développement généraux, y compris un environnement GRATUIT IDE MPLAB, des bibliothèques générales, des piles communes de protocoles de transmission populaires, une compatibilité sur la périphérie, des sorties, des tensions d'alimentation. La nomenclature des contrôleurs a plus de 500 différentes espèces avec toutes sortes de périphériques, différentes tailles Mémoire, productivité, nombre de conclusions, gammes de tensions d'alimentation, températures de fonctionnement, etc.


Considérez la série de contrôleurs la plus faciles PIC16C84 ou PIC16F84.

La présence de la mémoire flash vous permet de le reprogrammer en quelques secondes. Nombre de cycles d'écrasement de 1000 microcontrôleurs. À partir de ses 18 conclusions 13, il est possible d'utiliser des décharges d'entrée - production d'usage général. Lorsqu'ils sont cousus sur le retrait, le niveau actuel de l'unité logique "1" à 20 mA et le niveau actuel du zéro logique "0" à 25 mA (plus que suffisamment de connexion, par exemple, des LED). Il permet de développer simple et bon marché sur ce contrôleur. appareils électroniques Et en fait un candidat idéal pour ceux qui veulent explorer et comprendre les principes de travailler avec le microcontrôleur PIC. Conclusions CODOVKA Les microcontrôleurs 8 bits sont indiqués ci-dessous:


Les contacts RA * et RB * - Il s'agit d'une entrée et de sortie associées aux registres du contrôleur PORTA et PORTB, respectivement (la sortie RA4 peut être utilisée comme entrée de minuterie interne, et RB0 est utilisé comme source d'interruption). VDD et VSS - Puissance (+ UPIT et GND). La série de microcontrôleurs 16x84 fonctionne dans un large intervalle de tension, mais généralement VSS est connectée à 0 V et VDD - + 5V. La sortie de la réinitialisation principale / MCLR est généralement connectée à VDD (directement ou via une résistance), car MK contient un schéma de décharge fiable lors de l'alimentation de la tension d'alimentation. Les contacts OSC1 et OSC2 sont connectés au générateur fréquence d'horloge et peut être configuré pour différents types de celui-ci, y compris les modes de résonateur et de générateur RC. Un schéma simple, à l'aide du contrôleur PIC 16C84 est présenté dans la figure ci-dessous:


Le schéma sauf la puce n'a qu'un générateur RC et une sortie RB4 est connecté à la LED. Il a un programme incroyablement court (sur 6 mots) pour les mpasmes sur l'asembler - le clignotant de la LED.

Composez ce code dans n'importe quel éditeur de texte, sauvegardez-la avec l'extension ASM (lumières.asm), puis proassable à l'aide de mpasme (utilisez la commande MPASM LIGHT.ASM) pour obtenir un fichier hexagonal pouvant être versé à l'aide d'un programmateur sur un microcontrôleur.

Après avoir alimenté l'alimentation au schéma, le voyant clignote.

ce que vous devez savoir sur le microcontroller PIC16F628A pour collecter avec succès structures radioamatrices radio Sur le plan de la documentation de référence et des systèmes intéressants.

Nous avons donc décidé et avons décidé de recueillir notre premier fait à la maison sur le microcontrôleur, il reste à ne pas comprendre comment le programmer. Par conséquent, nous aurons besoin programmeur PICet vous pouvez le récupérer avec vos propres mains, considérez par exemple quelques designs simples.

Cet utita de marque et gratuit est un excellent programme de développement et de débogage de programmes pour tous les microcontrôleurs de la famille PIC produite par la technologie Microchip. Mplab se compose d'applications individuelles, mais connectées les unes avec les autres et consiste en un compilateur de l'assembleur, éditeur de texte, Fonctionnement du simulateur du micrologiciel du contrôleur, en outre, vous pouvez utiliser le compilateur CA.

L'auteur Tavernier K. a été présenté informations techniques Sur le logiciel de développement de logiciels basé sur des microcontrôleurs PIC-microcontrôleurs. Les applications ont une collection de circuit et solutions logicielles Sur les microcontrôleurs de pic, les interfaces typiques sont implémentées. Un grand nombre d'exemples de la mise en œuvre logicielle de diverses fonctions sont peints dans le livre: organisation d'interruptions, sous-programmes d'arithmétiques étendus, arithmétiques de points flottants, etc. Pour sécuriser la théorie dans la pratique, des appareils simples sont donnés, notamment une horloge-réveil et un voltmètre numérique multicanal.

Microcontrôleurs de Power and Horlocking Pic
Développement des applications. Quel microcontrôleur vous devez choisir
Solutions de circuit d'interfaces de microcontrôleurs
Contrôle des LED et des optocoupleurs, des relais, des administrateurs numériques, ADC
Interaction avec la périphérie sur l'interface série
Multiplication instable de nombres de 8 bits
Signal et multiplication non signée de nombres de 16 bits
Division, addition et soustraction de 16 risques
Flottant
Transformation des codes décimaux binaires en binaire
Solutions schématiques prêtes à l'emploi: réveil, mise en oeuvre de l'I2C, I2C, voltmètre avec indication LED
Gestion des moteurs pas à pas

Qu'est-ce qu'un microcontrôleur et comment ça marche
Système de système de commande PIC16F84A
Quel est le programme et les règles de préparation. Un exemple de création d'un programme multivibrateur auto-oscillatoire. Directives.
Conception intégrée mplab IDE et y travaille
Un exemple de création d'un programme
Travailler dans le simulateur. Programmes de débogage
Un exemple de développement d'un programme avec interruption
Organisation de la transition calculée.
Travailler avec la mémoire de données EEPROM
Comment fonctionne un comparateur numérique?
Changement cyclique. Fonctionnement de multiplication
Introduction au principe de la construction d'un sous-programme d'indication dynamique. Adressage indirect
Transformation de nombres binaires en décimal binaire. Formation finale du texte du sous-programme d'indication dynamique
Le principe du compte. Travailler avec la minuterie TMR0. Le principe d'installation de groupes de comptes dans le texte du programme

Les quatre livres, en outre, toutes les sources des programmes décrits sont ajoutées à l'archive et une autre autre informations de référence. Dans l'archive, vous trouverez également les textes source des programmes et du "firmware" du contrôleur. Documents de référence sur tous les micro-contrôleurs discutés dans les quatre livres (PIC12c67x PIC16c432 PIC16c433 PIC16c505 PIC16c54_58 PIC16c554_558 PIC16c620_622 PIC16c623_625 PIC16c62B_72A PIC16c63a_65b_73b_74b PIC16c64x_66x PIC16C6X PIC16c717_77x PIC16C71xx PIC16c72 PIC16c72_77 PIC16c745_765 PIC16c77x PIC16c781_782 PIC16c92x PIC16F630_676 PIC16f7x PIC16F84A PIC16f85_86 PIC16F87xA PIC16hv540 PIC16Lc74b PIC17c4x PIC17c752_756 PIC17c7xx PIC17LC752P16 PIC18c601_801 PIC18cXX8)
Introduction à l'interface Can 2.0
Peut module dans pic microcontrôleurs
Interface logicielle I2C et bref aperçu
Keeloq Chips avec la technologie de code de saut
Universel pneu séquentiel USB dans Pic Microcontrôleurs et logiciels USB
Modules de l'ADC de décharge X dans les microcontrôleurs PIC
Recommandations pour travailler avec ADC en microcontrôleurs PIC
Ainsi que des logiciels pour la programmation décrite dans les livres de PIC microcontrôleurs IC-PROG et PONYPROG2000

Questions de débogage Les développeurs sont différents. Certains pensent qu'il suffit d'analyser soigneusement le texte source du programme, vérifiez la génération de signaux sur les sorties MK et vous pouvez corriger toutes les erreurs. D'autres utilisent les ensembles de sous-programmes spéciaux appelés sur les points de contrôle et sont émis d'une certaine manière (par exemple, une sortie d'indicateur ou un canal de communication série) sur l'état des ressources MK. À propos, la technologie ICD est basée sur cette (débogueur en circuit - débogage intrahemnaya), mise en œuvre dans certaines MK Motorola et Microchip. Mais avec l'une des méthodes de débogage ci-dessus, un problème important se pose - la nécessité de reprogrammer le MK après avoir entré le programme, même des changements mineurs. Ce problème est particulièrement pertinent pour une fois programmable MK. Vrai, dans ce dernier cas, le débogage peut être fait, disons, sur le MK avec la mémoire flash, mais toujours le temps passé à la programmation est suffisamment grand et atteint parfois quelques minutes. De plus, MK, en règle générale, doit être retiré du diagramme, connectez-vous au programmateur, puis insérez-le. Ceux qui traitent de la programmation sur les PC ressentent particulièrement la différence. Par exemple, lors de la programmation à Borland C ++ 3.1 (BC ++), il suffit de démarrer une combinaison de touches CTRL + F9, et après quelques secondes, elle fonctionnera déjà (sauf indication contraire des erreurs). Je voudrais obtenir un résultat similaire et lorsque vous écrivez des programmes de contrôle MK. Et cela est possible en raison de l'utilisation d'ALW, qui est un logiciel et un matériel qui peut être remplacé par un MK émulé dans appareil réelAvec lequel il est relié par un câble avec une tête d'émulation spéciale. L'utilisation d'un tel émulateur ne diffère pas de l'utilisation d'un vrai MC, sauf que le programme modifié est redémarré dans l'ALW presque instantanément.

Conférence 1 - Introduction

La microchip est connue depuis longtemps pour l'électronique domestique en raison de la ligne généralisée de microcontrôleurs bon marché de 8 bits qui ont trouvé une utilisation énorme dans divers appareils Régulateurs de température, appareils d'automatisation bas, capteurs, etc. Afin de suivre ses principaux concurrents, Microchip a présenté ses nouveaux microcontrôleurs 32 bits de la famille PIC32 en 2007.

Dans la ligne PIC32MX grande quantité Dispositifs de PIC32MX1 ** à PIC32MX7 ** avec différentes quantités de mémoire (à partir de 16 kb Flash et 4096 octets de RAM à 512 kb Flash et 131 Ko RAM), des capacités périphériques et une exécution corporelle. En général, il existe des modèles pratiques pour toute application.

La version complète de la conférence avec la description de la connexion modèle du MK et l'exemple de sa programmation peut être prise ici:

Lecture 2 - microcontrôleurs de la famille PIC32. Travailler avec des minuteries.

En utilisant des minuteries, le compte à rebours est mis en œuvre, organiser des interruptions, former des signaux avec modulation d'impulsions, etc. Dans les contrôleurs PIC-32, il existe deux types de minuteries - des minuteries A (en fait, semble être une - TMR1) et des minuteries de type B (TMR2, TMR3, TMR4, TMR5). Toutes les minuteries sont de 16 bits, une horloge d'une source externe ou interne et provoquent des interruptions.

Lecture 3 - Microcontrôleurs PIC32 - Interruptions. C'est un événement externe ou interne qui nécessite une réponse immédiate à partir du contrôleur. Dans ce cas, l'exécution du code de programme actuel est terminée, le MK enregistre les valeurs des registres de service et est incluse dans le gestionnaire d'interruptions, puis traite cette interruption et restaure les registres de service à la sortie de celui-ci et retourne à l'emplacement du code.

Les microchips de la série MK Series PIC16 sont capables d'effectuer de simples équipes arithmétiques avec des opérandes de 8 bits, car leur noyau lui-même est de 8 bits. Mais dans certains projets, vous avez besoin de beaucoup plus ressources de calculPar conséquent, à de tels moments, il est utile d'utiliser une bibliothèque spéciale d'opérations arithmétiques. Présenté, sur le lien au-dessus de la bibliothèque vous permettra de multiplier, division, soustraction et ajout de nombres de 16 bits, vous pouvez convertir des nombres dans différentes formes, Vérifiez la parité, construisez un nombre sur un carré et une autre poignée technique de bagatelles utiles.

Les jours fériés de l'an et non seulement, il y a un grand besoin d'éclairage léger.

Cet appareil peut être appelé différemment: une lampe d'ambiance, une lampe RGB, une lampe de nouvelle année, une balise à LED, etc. Comment l'utiliser - va dire à la fantaisie.

Voici un diagramme d'une lampe RGB multicolore sur un microcontrôleur PIC12F629 (ou PIC12F675). Pour agrandir, cliquez sur l'image.

Apparition de la lampe RGB collectée.

FONCTIONNEMENT VIDEO DE LA LAMPE DANS LE MODE DE LAMPE DE L'AMPHAGE (Lampe d'humeur).

Le schéma de l'appareil proposé est assez simple, mais dispose d'une multitude de modes de fonctionnement. Voici quelques-uns d'entre eux:

    Changement de couleur lente. La lueur verte, rouge et bleu d'intensité différente est mélangée, ce qui vous permet d'obtenir un surmené en douceur des couleurs arc-en-ciel;

    Alternatif rapide clignotant rouge, vert et bleu;

    Augmentation lisse de la luminescence blanche puis 4 clignotements. Ensuite, il y a une répétition du cycle;

    Farellation pivotante et atténuation lente des couleurs de base (bleu, rouge, vert). Après que le cycle soit répété.

    Rouge lisse rouge;

    Glow lisse bleu;

    Glow lisse vert;

    Bleu clignotant;

    Changement de couleur accéléré;

    Lueur blanche lisse;

    Lueur blanche lisse avec une luminosité réduite;

    Glow blanche lisse avec une luminosité minimale;

    Lueur lisse violet (rouge + bleu);

    Lisse de lumière orange (rouge + vert).

Ce sont les principaux modes de fonctionnement de la lampe. Tous les autres sont des options de changement de couleurs arc-en-ciel à différentes vitesses.

Pour apprécier toute la palette riche des modes et la performance de l'appareil, il est préférable de la collecter d'abord sur une factice invoquée. Soi-disant "pain de pain" (pain de pain).

Pour que la lueur de différentes LED mélangées et constituait une nuance de couleur lisse, les DEL doivent être placées aussi proches les unes des autres. De plus, après avoir effectué le schéma, vous pouvez prendre une feuille blanche de format A4, le rouler dans le cylindre et fixer sur les côtés des clips. Le cylindre en papier résultant est installé sur un mannequin insensé - fermez les LED. En conséquence, nous aurons une sorte de plander mat. C'est ce que cela peut travailler.

Le microcontrôleur avant de sceller les frais dont vous avez besoin pour "Flash". Sur la façon de le faire, j'ai déjà parlé sur les pages du site. Quoi Flash - une question distincte. S'il n'y a rien, vous devez d'abord récupérer votre propre photo de programmeur de microcontrôleur USB ou acheter prêt. Il est encore plus utile.

Pendant le firmware PIC12F629 ou PIC12F675, vous devez faire attention à la constante d'étalonnage. Il ne sera pas superflu de compter en premier ( "LIS") Données d'un microcontrôleur pur et écrivez une valeur constante quelque part sur le papier. Après le micrologiciel du microcontrôleur, vous devez vérifier si la valeur de la constante dans la cellule 0x3ff. Valeurs antérieures. Si c'est différent, changez la constante. À propos de quelle constante d'étalonnage est déjà racontée.

Liste des composants radio nécessaires pour assembler la lampe RVB.

Nom La désignation Paramètres / Nominal Marque ou type d'élément
Microcontrôleur DD1. Microcontrôleur 8 bits Pic12f629 ou pic12f675
Stabilisant intégré Da1 tension de sortie de 5 volts 78L05, MC78L05ACP (Toute analogue)
Transistors Mosfet VT1 - VT3. - 2n7000 ou kp501a ( Attention! KP501A est une autre liaison!)
Diode semi-conductrice VD1. (non requis) 1n4148, 1n4007 ou analogique
LED HL1 - HL4. rouge Couleurs de lueur tout diamètre lumineux de 5 mm.
HL5 - HL7 vert Couleurs de lueur
HL8 - HL10 saint Couleurs de lueur
Résistances R1 120 Oh. MLT, lundi (puissance de dispersion - 0,125 W)
R2, R3 68 Oh.
Condensateurs C2. 220 NF (0,22 μF) Céramique multicouche ou analogues
C3. 100 NF (0,1 μF)
Condenseur électrolytique C1. 47 μF * 16 volts tout aluminium (k50-35 ou analogues étrangers)
Bouton Sb1 - tout bouton d'horloge (par exemple, kan0610-0731b)
Sauteur J1. (pas installé) -

Après l'alimentation, l'appareil commence à fonctionner immédiatement. En appuyant sur la touche SB1, vous pouvez changer le mode de fonctionnement de la lampe RGB. Le bouton peut être appuyé sur le moins à l'infini - la commutation des modes se produit dans un cercle.

La carte de circuit imprimé est facile à utiliser avec un marqueur pour les planches. Alors j'ai fait. S'il n'y a pas de marqueur pour les panneaux, vous pouvez appliquer une méthode "crayon" ou un cont. Savoir comment faire des frais lout'om - encore mieux.

Eh bien, s'il n'y a rien de celui indiqué, mais je veux vraiment faire un fait fait maison, puis au lieu d'une fibre de verre, vous pouvez utiliser un épais en carton, un morceau de plastique mince ou de contreplaqué. En général, tout ce qui peut être installé sur le schéma d'installation. Les composés peuvent être effectués avec du fil de cuivre au verso de la base.

Maintenant, un tel conseil semblera sauvage, mais lorsque je venais de commencer à participer à l'électronique, j'ai essayé toutes sortes de méthodes d'installation. Dans les temps proches des temps, les consommables et les détails achetés sur les rouleaux de radio, qui n'étaient que dans les grandes villes. Nous ne pouvions que rêver de composants radio en ligne.

Explication du régime.

Les transistors 2N7000 peuvent être remplacés par KP501A. Mais il vaut la peine d'envisager que kp501a un autre sous-sol! C'est.

Une diode protectrice VD1 ne peut pas être enregistrée dans le schéma. Il sert à protéger le schéma avec des connexions d'alimentation incorrectes. Si cette protection n'est pas nécessaire, la diode VD1 n'est pas nécessaire.

Les résistances peuvent être sélectionnées avec des tarifs proches de l'indiqué dans le diagramme (écart admissible standard ± 20%). Par exemple, j'ai installé R1 à 130 ohms et R2, R3 - 82 ohms.

Pour alimenter le schéma, une alimentation stabilisée avec une tension de sortie de 12 volts sera requise. Il convient, par exemple, une alimentation réglable, dont le diagramme est décrit. Aussi pour alimenter l'appareil peut être utilisé



Avez-vous aimé l'article? Partagez-le