Manipulation de Registre microcontrôleur (4 / 6 étapes)

Étape 4: Arduino Microcontrollers avec puces ATMEL

Tel que mentionné précédemment, les langues de l’Assemblée de fond utilisé pour programmer les puces PIC32 et ATMEL sont différents. Si vous sautez ensuite à la conclusion que les noms de Registre sont différents, vous ne serait pas juste.

Je ne vais pas en profondeur dans l’explication de la logique ici, mais il y a quelques différences essentielles que vous devez garder à l’esprit. Renvoyer à l’étape précédente pour la profondeur en explication de la logique.

Tout d’abord, le registre directionnel qui définit l’état de I/O de la broche est appelé DDRx, où x désigne le registre (pinMode() définit DDRx). Pour définir le code pin en tant que sortie, vous devez écrire un 1 au bit correspondant dans l’écriture DDRx. 0 pour DDRx fixera la broche en tant qu’entrée. Suivant est le registre PORTx, qui détermine si une épingle comme une sortie est élevé (1) ou faible (0) (digitalWrite() définit PORTx). Dernière est PINx, qui permet de lire les données présentent sur la broche c’est définie comme un intrant (digitalRead() lit PINx). Un « 1 » dans le registre PINx indique qu’il y a un signal présent sur cette broche.

En regardant l’Arduino UNO (voir .pdf ci-dessous, source ici), j’ai décidé d’utiliser les 4 LEDs sur 4→7 de pins qui mappent à inscrire D, 4→7 bits. Nous avons mis le registre D4→7 comme sorties par ORing avec 0b1111 0000, définissant ces quatre bits que 1. J’ai mis 4 interrupteurs sur broches 8→11, qui correspondent au registre B, 0→3 bits. Nous avons mis le registre B0→3 comme entrées par ANDing avec 0b1111 0000, définissant ces quatre bits de 0. Le code suivant va dans notre déclaration de() de configuration:

DDDR = DDDR | 0xF0 ; 0b1111 0000

DDRB = DDRB & 0xF0 ; 0b1111 0000

En regardant les bits du Registre encore une fois, nous voyons que les interrupteurs sont affectées aux voyants de bits 4→7 et 0→3 bits. Si nous assignons à l’état de PINB directement à PORTD, nous sera mise PORTD bits 0→3, pas de fers 4 -> 7 et les LEDs ne s’allument. Nous y remédier avec un décalage de bits vers la gauche par quatre espaces. Le code de notre boucle() déclaration ressemble à ceci :

PORTD = PINB << 4 ;

Voici le code complet :

De plus de 10 lignes de code et 3 seulement faire quelque chose. C’est tout.

Cette compilation avec MPIDE prend seulement 470 octets de mémoire, une réduction de 604 octets de la version courte à l’étape 2 qui coûtent 1074 octets et utilisé pinMode(), digitalWrite() et digitalRead().

Articles Liés

Manipulateur iambique utilisant microcontrôleur

Manipulateur iambique utilisant microcontrôleur

IntroductionIl s'agit de mon premier Instructable. Je voudrais montrer ce qui est impliqué dans la construction d'un keyer électronique pour une clé de pagaie double iambique, tels que la conseillère.J'ai fait deux hypothèses ici. Ceux d'entre vous q
Comment choisir un microcontrôleur

Comment choisir un microcontrôleur

il l'habitude d'être assez limitait le nombre de jetons de microcontrôleur différents disponibles pour les amateurs. Tu dois utiliser tout ce que vous arrivaient à acheter chez le marchand de puce de correspondance, et qui réduit le choix à un petit
Transformez n’importe quel PC en un microcontrôleur gratuitement en 4 étapes

Transformez n’importe quel PC en un microcontrôleur gratuitement en 4 étapes

Il y a des millions d'amateurs d'électronique et de robotique et je suis certainement l'un d'eux. Dans des domaines de l'ingénierie, circuits programmables sont très importantes et donc sont-ils à moi aussi, parce que j'aime à faire différentes sorte
ESP8266 comme un microcontrôleur

ESP8266 comme un microcontrôleur

Comme il a été déjà mentionné dans la mise en route avec tutoriel ESP8266 ESP-01, le module Wi-Fi est entièrement programmable, ce qui nous permet de l'utiliser comme un microcontrôleur et manipuler les entrées et sorties.Dans ce tutoriel nous allons
Intro aux GPS avec des microcontrôleurs

Intro aux GPS avec des microcontrôleurs

Une fois que la compétence des opérations strictement militaires, GPS est devenu une partie intégrante de la vie moderne et en relativement peu de temps ! Qui ne voudrait pas envie de savoir quand et où ils sont n'importe où sur la planète ? C'est un
BRICOLAGE capteurs musculaires / EMG Circuit pour un microcontrôleur

BRICOLAGE capteurs musculaires / EMG Circuit pour un microcontrôleur

mesure d'activation des muscles par l'intermédiaire de potentiel électrique, appelé électromyographie (EMG) , a été utilisé traditionnellement pour la recherche médicale et le diagnostic des troubles neuromusculaires. Cependant, avec l'avènement de r
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'à
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
Début microcontrôleurs partie 9: Bouton et logiciel Debouncing des méthodes

Début microcontrôleurs partie 9: Bouton et logiciel Debouncing des méthodes

Dans cette partie du tutoriel, nous allons discuter le bouton et le logiciel debouncing.Nous voulons étudier le bouton debouncing premier et en détail, donc nous avons une bonne compréhension de ce qu'elle implique. Bouton debouncing est important et
Comment programmer un PIC microcontrôleur & lire un codeur

Comment programmer un PIC microcontrôleur & lire un codeur

Introduction : de jouets électroniques & Jeux pour fours à micro-ondes, microcontrôleurs se trouve à peu près n'importe où ces jours-ci ! Mais comment pouvons-nous rendre ces petits ordinateurs fonctionner pour nos propres projets électroniques ? C'e
Améliorer l’affichage de fibre optique avec LEDs et microcontrôleur.

Améliorer l’affichage de fibre optique avec LEDs et microcontrôleur.

Ce bonsaï belle fibre-optique était morte, l'alimentation n'était pas le cas à être trouvé, mais plus important, le moteur était mort. Il s'agissait d'un moteur à rotation lente qui n'est pas quelque chose que je peux trouver un remplacement facile p
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
Partie de microcontrôleurs de début 11 : Horloges, compteurs et l’horloge de microcontrôleur

Partie de microcontrôleurs de début 11 : Horloges, compteurs et l’horloge de microcontrôleur

Temporisations et compteurs sont donc essentiels que vous verrez de nombreux exemples impliquant tout au long de cette série. Comme son nom l'indique, minuteries sont utilisés pour le temps et le comptage. Comptage et le calendrier vous permet de fai
Lien de microcontrôleur dans le monde entier pour moins de $20

Lien de microcontrôleur dans le monde entier pour moins de $20

contrôler votre thermostat maison du travail. Allumez une arroseuse de n'importe où dans le monde de chiquenaude d'un commutateur. Ce Instructable montre comment lier deux ou plusieurs microcontrôleurs 4 $ à l'aide de l'épine dorsale de l'internet et