Programmation du microcontrôleur hélice (4 / 7 étapes)

Étape 4: Spin Basics, Suites

On continue avec programme de lumières blinky.  La ligne suivante est :

waitcnt (clkfreq + cnt)

Avant que nous décomposons cette instruction, laissez-moi vous expliquer tout d’abord clkfreq et cnt ;

clkfreq
L’hélice peut fonctionner à plusieurs fréquences d’horloge, de 20kHz à 80MHz.  clkfreq est une variable système égale à horloge combien cycles (tiques) sont en 1 seconde.  Si l’hélice tourne à 80MHz, clkfreq sera = 80,000,000.  Si l’hélice tourne à 20kHz, il sera = 20 000.

CNT
CNT est l’horloge système.  Au démarrage, cnt = 0 et il incrémente à chaque tick tout le chemin à 2³² avant le renversement à 0.  CNT est une valeur en lecture seule, vous ne pouvez pas modifier l’horloge du système, il suffit de lire ce qu’il est.

Maintenant, waitcnt : il suspend l’exécution du programme, jusqu'à ce que l’horloge système atteigne la valeur dans la parenthèse.  Quelle est la valeur entre parenthèses ?  Le système actuel de l’horloge (cnt) PLUS le nombre de graduations en une seconde.  waitcnt (clkfreq + cnt) raconte la prop de tenir pendant 1 seconde avant d’aller à la prochaine instruction.

Que se passe-t-il si nous voulions attendre une seconde ?  waitcnt (clkfreq/2 + cnt).  Que diriez-vous de 5 secondes ? waitcnt (clkfreq * 5 + cnt)

Ainsi, dans notre programme, nous avons renversé la broche 0 pour une sortie, connecté à V + (conduite haute) pour allumer la LED et a attendu pendant une seconde.  Voici la prochaine instruction ;

outa [0]: = 0

Cette instruction permet d’inverser pin 0 d’étant connecté à V + pour se connecter à la masse.  Elle désactive la LED.  Notez que pin 0 est toujours une sortie, mais elle est reliée à la terre.

waitcnt (clkfreq + cnt)

Tout comme la dernière fois, il suspend l’exécution du programme, jusqu'à ce que l’horloge système est égale à la valeur entre parenthèses.  Dans ce cas il se mettra en pause avait pendant une seconde.

Enroulant vers le haut

La dernière instruction dans notre boucle de répétition est terminée.  Parce que notre boucle de répétition n’a aucune condition de fin, il va commencer à nouveau sur la première ligne (outa [0]: = 1) et continuer à fonctionner indéfiniment.

Articles Liés

16F84 simple programmateur de microcontrôleur - JDM

16F84 simple programmateur de microcontrôleur - JDM

dans ce instructable, je vais vous montrer comment j'ai construit et testé ce circuit simple mais puissant.Le programmateur JDM est mon préféré programmateur de microcontrôleur. C'est un circuit simple et compatible avec de nombreux chargeurs de logi
5 raisons pourquoi vous êtes pas en mesure à programme A microcontrôleur

5 raisons pourquoi vous êtes pas en mesure à programme A microcontrôleur

quand à partir de microcontrôleurs, vous êtes susceptible de rencontrer quelques problèmes dans la programmation de votre microcontrôleur, et il n'y a rien de plus frustrant que de perdre des heures pour trouver le problème et toujours ne pas être en
Programmer un microcontrôleur avec 12Blocks

Programmer un microcontrôleur avec 12Blocks

lorsque j'ai fait le Web Clicker, j'ai ramassé une copie de la fenêtre pour le débogage et c'était une bouée de sauvetage. Fenêtre d'affichage a été conçu par Hanno Sander. Il a également développé un autre IDE pour l'hélice, appelée 12Blocks.J'ai d'
Programmation des microcontrôleurs PIC

Programmation des microcontrôleurs PIC

microcontrôleurs PIC sont un outil très utile et polyvalent pour une utilisation dans de nombreux projets électroniques. Ils sont très peu coûteux et facile à trouver. Ils sont aussi très puissants et beaucoup sont capables de vitesses allant jusqu'à
Bâtir un programme pour microcontrôleur STM32 sous Linux

Bâtir un programme pour microcontrôleur STM32 sous Linux

Les STM32Fx et les STM32Lx sont MCU basé sur l'architecture ARM. Pour la construction de programmes est le compilateur gcc disponible sous GNU/Linux. Le compilateur gcc dispose de nombreux réglages et drapeaux, ce n'est pas si facile construire proje
Programmateur de microcontrôleur PIC 16F917

Programmateur de microcontrôleur PIC 16F917

dans ce instructable, je vais vous montrer comment construire un microcontrôleur PIC 16F917 circuit de programmation. Ce microcontrôleur est une forme très agréable du chip Microcontroller le fabricant de la célèbre puce Microchip.Ce microcontrôleur
Début microcontrôleurs partie 2: Création d’une Interface SPI du programmateur au microcontrôleur

Début microcontrôleurs partie 2: Création d’une Interface SPI du programmateur au microcontrôleur

Bonjour, nous espérons que vous avez apprécié la partie 1 de début de microcontrôleurs. Nous allons avancer dans la partie 2 et de commencer à parler sur les interfaces et comment obtenir votre microcontrôleur pour communiquer avec un ordinateur.Donc
Construire et coder une bobine de Tesla Musical MONSTER avec un microcontrôleur

Construire et coder une bobine de Tesla Musical MONSTER avec un microcontrôleur

visiter ma page youtube pour davantage de projets : http://www.youtube.com/channel/UCksEFn8xaLP0z4rsiHa9zcA?feature=mheeComme l'hiver venu, beaucoup seront contraints de rester à l'intérieur... Pour beaucoup, cela signifie jouer scrabble avec grand-m
PIC microcontrôleur Volume Adjuster Program(Proteus 8 Stimulation)

PIC microcontrôleur Volume Adjuster Program(Proteus 8 Stimulation)

Bonjour à tous,L'aspect important de tout apprentissage est d'induire la curiosité et faire quelque chose de significatif pour assurer que. Avec l'aide de cette curiosité, je fais ici un programme de réglage de volume qui ressemble à l'identique dans
Comprendre l’ICSP pour les microcontrôleurs PIC

Comprendre l’ICSP pour les microcontrôleurs PIC

programmation de microcontrôleurs n'est pas difficile. Construire un programmeur rend un grand premier projet électronique. L'objectif de cette instructable est d'expliquer la méthode simple « in circuit serial programming » utilisée avec PICs de Mic
Comment changer fusible bits de Atmega328p AVR - microcontrôleur 8 bits en utilisant Arduino

Comment changer fusible bits de Atmega328p AVR - microcontrôleur 8 bits en utilisant Arduino

Dans ce instructable vous apprendrez comment changer les bits de fusible du microcontrôleur Atmega328p. J'utilise Arduino mega comme programmeur au programme Atmega328P-PU sur maquette. Il est livré avec une valeur par défaut 1MHz interne calibré la
3D imprimés microcontrôleur Dice Roller

3D imprimés microcontrôleur Dice Roller

Il s'agit d'un projet juste pour le plaisir que j'ai fait dans la Digilent MakerSpace. Généralement, chaque fois que je joue des jeux de société j'utilise une application smartphone laminage dés puisque les dés sont si faciles à perdre. J'ai pensé qu
En savoir plus sur microcontrôleurs

En savoir plus sur microcontrôleurs

Cet Instructable a été conçu pour répondre à la question : Comment puis-je commencer à microcontrôleurs ? Maintenant, en clair, un anglais simple, vous pouvez apprendre ce qu'un microcontrôleur est et comment utiliser un. Vous apprendrez comment fair
Le portail « Toujours vivant » microcontrôleurs AVR

Le portail « Toujours vivant » microcontrôleurs AVR

encore un autre, mais instructable, axés sur le portail différent !Celui-ci vous montre comment à :  1) construire un appareil très bon marché qui joue une version 8 bits de Still Alive de portail2) sur le même matériel, mais avec une puce différente