Commutateurs de lecture avec ATtiny2313 (6 / 9 étapes)

Étape 6: Configurer Timer/compteur 0

CTC mode peut être utilisé pour activer/désactiver la sortie OC0A sur la broche 2, Port B (physique broche 14). Pour activer la sortie sur cette broche, DDRB doit être établi en fonction. Le code C pour c’est tout comme la mise en place d’une sortie pour un blinkenlight.

DDRB = _BV(PB2) ; Port B2 est une sortie.

La prochaine étape est de fournir un signal d’horloge et de charger le registre de comparer de sortie pour produire une forme d’onde comme une fréquence. L’équation pour la fréquence qui en résulte est donnée dans la feuille de données (page 72). Termes dans l’équation seront décrites ci-dessous. Voici l’équation :

fOC0A = fclk_I/O / 2*N*(1+OCR0A)

Où fOC0A: = fréquence de sortie
fclk_I/O: = fréquence de source d’horloge
N: = facteur de prescale horloge
OCR0A: = valeur sortie comparer Registre pour Timer/compteur 0 a.

Horloge de fréquence de la Source, fclk_I/O
Il s’agit de la fréquence de l’horloge système. La valeur par défaut est de 1 MHz. Bits CS00, CS01, et contrôlent la CS02 de TCCR0B cette sélection. Puisque ces bits également sélectionnent la valeur de N, il est décrit ci-après.

Valeur de diviseur, N
N est la valeur utilisée pour diviser ou prescale, l’horloge système. Bits CS00 CS01 et CS02 de TCCR0B contrôlent cette sélection. Tableau 41 à la page 81 de la fiche de données de ATtiny2313 décrit les combinaisons. Étant donné que vous souhaitez une fréquence près 1kHz, bits CS00 et CS01 de TCCR0B seront définis. Notez qu’affectant tous les trois bits 0, ne sélectionnant ainsi aucune source d’horloge, cesse effectivement de la sortie. Il s’agit de la méthode qui sera utilisée pour démarrer et arrêter le bip.

Valeur, OCR0A
Cette valeur est la valeur du compteur qui est chargé dans la sortie comparer s’inscrire pour Timer/compteur 0 a. Lorsque cette valeur est atteinte, le compteur sera réinitialisé à zéro et décompte recommencera jusqu'à ce que le sommet est atteint et le cycle se répète. TOP est facilement modifiée, donc la fréquence de la balise est facile à changer. Étant donné que vous souhaitez une fréquence près 1kHz, haut est fixé à 7. (Notez le Prédiviseur pourrait ont été définie sur 8 et haut fixé à 63. Même résultat - votre choix.)

Fréquence de sortie, fOC0A
À l’aide de l’équation pour calculer les résultats de fréquence de sortie en :

fOC0A = 1 000 000 / 2 * 64 * (1 + 7)
fOC0A = 977Hz

Assez proche ! Voici le code pour charger le registre de comparer en sortie et le Registre du contrôle Timer compteur 0. Veuillez consulter le code de programme réel pour comprendre comment ils sont utilisés.
OCR0A = 7 ; Valeur de temps

TCCR0B = _BV(CS01) | _BV(CS00) ; Sélectionnez horloge interne & Prédiviseur = 8

TCCR0B = 0 ; aucune source d’horloge ne désactive ton

Réglage du Mode temps/compteur

Comme un dernier détail, nous allons spécifier le mode Timer/compteur que nous désirons en positionnant les bits appropriés dans le registre de contrôle Timer/compteur 0 a. CTC mode est sélectionné en définissant le bit WGM01 tel que décrit dans le tableau 40, page 79 de la feuille de données. Car nous voulons la sortie à activer/désactiver chaque cycle, bit COM0A0 doit également être défini comme indiqué dans le tableau 34 à la page 77. Voici le code :

TCCR0A = _BV(COM0A0) | _BV(WGM01) ; Mode d’alternance CTC

Articles Liés

APR9600 Enregistrement vocal et système de lecture avec JRC286D puce ICStation Mega 2560 Compatible Arduino

APR9600 Enregistrement vocal et système de lecture avec JRC286D puce ICStation Mega 2560 Compatible Arduino

L'équipe ICStation vous présenter ce système lecture et enregistrement de voix de APR9600 utilisé dans ascenseur basé sur le ICStation Mega2560 compatible avec Arduino. Il utilise une tension DC5V pour travailler. Lorsque vous appuyez sur les touches
Commute sur BART avec votre moto comme un BOSS

Commute sur BART avec votre moto comme un BOSS

Vous pouvez commute sur la baie de San Francisco sur la Bay Area Rapid Transit (BART), notre système de train léger sur rail pour la plupart-fabuleux. Les cyclistes sont chanceux que les vélos sont autorisés sur les voitures ; ce n'était pas toujours
Comment faire une bague de lecture avec Sugru

Comment faire une bague de lecture avec Sugru

Hi.  Cette instructable a été créée à Madrid Makespace au cours de l'atelier de nuit de Sugru.Cet appareil vous aidera à tenir un livre tout en lisant avec une main tout en portant à l'arrière. Cela peut déjà être fait, mais c'est fatiguant de garder
Fichiers audio décompression et la lecture avec Arduino nu (sans protections)

Fichiers audio décompression et la lecture avec Arduino nu (sans protections)

L'idée est tout au sujet représentant chaque échantillon comme 2 bits au lieu de 8 bits, donc permet d'économiser 75 % de la taille du fichier audio qui est déjà un taux d'échantillon réduit. Le résultat prendrait 2 Ko de mémoire flash de l'Arduino (
Protection universelle (vol) pour les équipements électroniques ou les voitures avec interrupteur invisible

Protection universelle (vol) pour les équipements électroniques ou les voitures avec interrupteur invisible

je vais vous montrer comment vous pouvez utiliser un interrupteur reed comme une protection universelle pour appareils électroniques ou les voitures. Tout ce dont vous avez besoin est un commutateur à lames et un aimant. Pour les voitures vous aurez
Commande de commutateur de l’AC avec Opto Triac

Commande de commutateur de l’AC avec Opto Triac

Interrupteurs à courant alternatif sont des dispositifs de silicium qui contrôlent des charges ca directement connectés à l'alimentation secteur. Cela signifie que la borne de référence conduite du commutateur AC peut être connectée au potentiel de l
Arduino - mercure Commutateur alarme d’inclinaison avec le jeu de KY-027

Arduino - mercure Commutateur alarme d’inclinaison avec le jeu de KY-027

Salut tout le monde! Aujourd'hui, j'ai fait un exemple sur ce que vous pouviez pour avec le commutateur de mercure. Également connu sous le nom la tasse Magic Light dans le monde de l'arduino (toujours pas sûr pourquoi ils appellent ça) toute façon,
Amusez-vous avec PIC Assembly - épisode 23

Amusez-vous avec PIC Assembly - épisode 23

Comme j'ai mentionné dans les épisodes précédents, je suis bénévole au centre de recyclage local à but non lucratif. Certains des trucs électronique qui obtient déposa de genre de fait me sentent comme un archéologue de la technologie et j'ai un fant
Construire un Tricoptère avec Rotor Bits

Construire un Tricoptère avec Rotor Bits

Ce Instructable va vous apprendre comment construire un Tricoptère avec des morceaux de Rotor. Ce Instructable contient également des débats théoriques, des trucs, des astuces, et autres informations qui je l'espère, vont aurez bien sur votre chemin
Faire votre propre thermostat programmable pour $66 avec Arduino

Faire votre propre thermostat programmable pour $66 avec Arduino

Ce projet va vous montrer comment vous pouvez créer votre propre thermostat programmable avec sonde de température, un affichage LED et la possibilité de prises de contrôle à distance.Le cœur de ce projet est en fait un pilote pour un affichage de 4
AVENTURE-AMA-STRING ultime mise à jour : MOTION SENSOR & TIMER a CAT tour il ON et OFF à l’aide de courant alternatif (sans piles) avec NO HUMAN INPUT

AVENTURE-AMA-STRING ultime mise à jour : MOTION SENSOR & TIMER a CAT tour il ON et OFF à l’aide de courant alternatif (sans piles) avec NO HUMAN INPUT

quelques semaines je suis tombé sur la Fling-ama-String Upgrade 2.0 un chat jouet amélioré sur instructable qui est fantastique et a des mesures pour améliorer le jouet pour chat Fling-AMA-chaîne a un timer et plus grandes piles de taille D.Depuis qu
Commutateur Mode Altoids iPOD chargeur à l’aide de 3 piles « AA »

Commutateur Mode Altoids iPOD chargeur à l’aide de 3 piles « AA »

le but de ce projet consistait à construire un chargeur d'iPod étain (firewire) Altoids efficace qui fonctionne sur 3 piles « AA » (rechargeables). Ce projet a commencé comme un effort de collaboration avec Sky sur la conception et la construction et
Comment faire pour lire binaire/hexadécimal molette avec un microcontrôleur AVR

Comment faire pour lire binaire/hexadécimal molette avec un microcontrôleur AVR

cette instructable va vous montrer comment lire le numéro sur un pushwheel binaire ou molette commutateur à l'aide de LED ou un microcontrôleur AVR (j'utilise un ATmega328p mais cela peut être adapté à n'importe quel AVR ou probablement un autre micr
Capacimètre avec arduino et 741 ampli-op

Capacimètre avec arduino et 741 ampli-op

Ce projet comprend la conception et la construction d'un capacimètre simple capable de mesurer des condensateurs dans le domaine d'environ 20 picoF à des centaines de microF.Cela peut être un outil très utile lors de la vérification de nos condensate