Lectura de interruptores con ATtiny2313 (6 / 9 paso)

Paso 6: Configuración de temporizador/contador 0

Modo CTC puede utilizarse para conmutar la salida OC0A en Pin 2, Puerto B (pin físico 14). Para habilitar la salida de este pin, DDRB debe establecerse adecuadamente. El código de C para esto es igual a configurar una salida para un blinkenlight.

DDRB = _BV(PB2); Puerto B2 es una salida.

El siguiente paso es suministrar una señal de reloj y cargar el registro de comparación de salida para producir una forma de onda como una frecuencia. La ecuación para la frecuencia que se da en la hoja de datos (página 72). Términos en la ecuación se describen a continuación. Aquí está la ecuación:

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

Donde fOC0A: = frecuencia de salida
fclk_I/O: = frecuencia de la fuente de reloj
N: = reloj prescale factor
OCR0A: = valor de salida comparar registro de temporizador/contador de 0A.

Reloj de frecuencia de la fuente, fclk_I/O
Esta es la frecuencia de reloj del sistema. El valor predeterminado es 1 MHz. Bits CS00, CS01, y CS02 de TCCR0B control esta selección. Puesto que estos bits también selección el valor de N, se describe a continuación.

Valor del divisor, N
N es el valor utilizado para dividir o prescale, el reloj del sistema. CS01 y CS00 pedacitos y CS02 de TCCR0B controlan de esta selección. Tabla 41 en la página 81 de la hoja de datos del ATtiny2313 describe las combinaciones. Puesto que se desea una frecuencia de 1kHz, bits CS00 y CS01 de TCCR0B se establecerá. Tenga en cuenta que establecer todos los bits de tres en 0, por lo tanto selección de ningún reloj, detiene efectivamente la salida. Este es el método que se utilizará para iniciar y detener la señal sonora.

Valor superior, OCR0A
Este valor es el valor superior para el contador que se carga en la salida de comparar registro de temporizador/contador 0A. Cuando se alcanza este valor, el contador volverá a cero y contando comenzará otra vez hasta que se alcanza la parte superior y el ciclo se repite. SUPERIOR se modifica fácilmente, por lo que la frecuencia de la alarma es fácil de cambiar. Puesto que se desea una frecuencia de cerca de 1 kilociclo, TOP se establece en 7. (Nota el prescaler podría haber establecido en 8, y parte superior situado a 63. Mismo resultado - su opción.)

Frecuencia de salida, fOC0A
Utilizando la ecuación para calcular los resultados de frecuencia de salida en:

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

Lo suficientemente cerca! Aquí está el código para cargar el registro salida de comparar y la 0B Timer Counter Control Register. Consulte el código real del programa para comprender cómo se utilizan.
OCR0A = 7; Valor de tiempo

TCCR0B = _BV(CS01) | _BV(CS00); Seleccione reloj interno y prescaler = 8

TCCR0B = 0; ninguna fuente de reloj apaga el tono

Ajustar el modo de contador de tiempo

Como último detalle, especificamos el modo de temporizador/contador que deseamos poniendo brocas adecuadas en 0A Timer/Counter Control Register. Se selecciona el modo CTC por bit de configuración WGM01 como se describe en la tabla 40, página 79 de la hoja de datos. Ya que queremos que la salida a alternar cada ciclo, pedacito de COM0A0 también es necesario como se describe en la tabla 34 en la página 77. Aquí está el código:

TCCR0A = _BV(COM0A0) | _BV(WGM01); Modo de Toggle CTC

Artículos Relacionados

Reparar un difícil acceso interruptor con Sugru

Reparar un difícil acceso interruptor con Sugru

por lo tanto, tengo este amplificador viejo como una donación para el local Hackspace. El problema es que un pequeño pedazo del interruptor está roto, por lo que el interruptor no permanece en su posición, por lo que no encienda. He intentado arregla
¿Cómo leer muchos interruptores con un MCU Pin

¿Cómo leer muchos interruptores con un MCU Pin

ha usted siempre sido chugging lejos en un proyecto (s) y el proyecto sigue creciendo y creciendo, mientras que le agregue más cosas (que llamamos un Creaturism Feaping)?  En un proyecto reciente, fue la construcción de un medidor de frecuencia y aña
Ahorro de energía interruptor con Sensor de presencia

Ahorro de energía interruptor con Sensor de presencia

¿Enfrentar tales situaciones cuando dejas tus luces de lectura, ventiladores de mesa o soldadores sin la conmutación y después darse cuenta de que estaban en demasiadas horas que posteriormente salta de sus facturas de electricidad? Bueno, si tienes
La batería descarga protector interruptor con ATtiny85 para coche o Lipo batería de plomo ácido

La batería descarga protector interruptor con ATtiny85 para coche o Lipo batería de plomo ácido

Como tengo varios protectores de batería para mis coches y sistemas solares que había encontrado los comerciales a $49 a caro. También utilizan demasiada energía con 6 mA. No pude encontrar las instrucciones sobre el tema. Así que hice mi propio dibu
Toque el interruptor con Lm555

Toque el interruptor con Lm555

El circuito de interruptor Touch detecta tensiones vagabundas producidas por voltajes de las cañerías y la acumulación electrostática en una habitación. Son tacto dos placas y la resistencia del dedo cambia el voltaje en el pin 2 o 6 para cambiar el
CMS2CMS: Automated Kunena a bbPress interruptor con un Plugin

CMS2CMS: Automated Kunena a bbPress interruptor con un Plugin

¿crees que es hora de cambiar el software del Foro? ¿Cansado de usar la misma plataforma viejo? ¿Has considerado alguna vez la migración?Sin duda Kunena es un componente popular foro Web Joomla que enriquecerán la web con nuevas posibilidades de comu
Lectura de sensores con un microprocesador.

Lectura de sensores con un microprocesador.

En mi Instructable anterior mostré cómo simples comandos podría ser utilizado para activar la salida de un microprocesador y un LED de luz.Debo subrayar que no estoy conectado con Picaxe y estos proyectos son los utilizan en la escuela para enseñar p
Termómetro de interior con pantalla LCD y lectura de la "Analogía" con NeoPixels

Termómetro de interior con pantalla LCD y lectura de la "Analogía" con NeoPixels

¡ Hola! Este Instructable es un proyecto de Arduino de rápida, intermedio que tiene una temperatura de TMP36, lee en una pantalla LCD y le da una lectura de "Analogía" en un palo de neopixel eso cambios de color y el número de luces encendidas c
Simple, seguro, Internet el interruptor de alimentación (110V/240V) con anulación Manual

Simple, seguro, Internet el interruptor de alimentación (110V/240V) con anulación Manual

IoT extensión Cable interruptor en línea, Android controlado por pfodApp. Opcionalmente con el tiempo de vuelta apagado.Ninguna programación Android requeridaEsto controla un Android barato, simple y personalizable interruptor de alimentación (110V a
Interruptores de luz con estilo

Interruptores de luz con estilo

de ahora en adelante, cuando alguna vez entrar en su casa y encienda las luces, va a recordar este instructable.Si te gusta la electrónica, sin duda va a gustar hacer un atenuador con estilo hacia fuera de un plato de disco duro muerto.Disfruta de...
Cómo controlar un 16 x 2 LCD usando un ATtiny2313 AVR

Cómo controlar un 16 x 2 LCD usando un ATtiny2313 AVR

si usted está recibiendo sólo en microcontroladores hay mucho saber ya que es probable que descubrió. Hay un montón de buenos tutoriales en línea para el Atmel AVR y lo más probable es que con ver algunos de los por ahora. Recientemente se metió en m
Hacer un robot simple de RF inalámbrico con Arduino!

Hacer un robot simple de RF inalámbrico con Arduino!

ACTUALIZACIÓN: HE AÑADIDO CONTROL DE JOYSTICK A ESTE ROBOT. POR FAVOR CONSULTE EL PASO 7 SI DESEA CONTROLAR EL ROBOT POR MEDIO DE JOYSTICK.Hola,Este es mi primer instructivo y en este tutorial voy a mostrarte, cómo construir un simple robot inalámbri
ARD-e: el robot con un Arduino como un cerebro

ARD-e: el robot con un Arduino como un cerebro

cómo crear un robot de código abierto Arduino controlado por menos de $100.Esperemos que después de leer esto instructable usted será capaz de dar su primer paso en robótica. ARD-e cuesta unos $90 a $130 dependiendo de cuánto electrónica repuesto tie
Esmagamus guía: viviendo con usted coche del circuito de refrigeración

Esmagamus guía: viviendo con usted coche del circuito de refrigeración

Esmagamus esta guía cubre pasos básicos que cualquier persona puede tomar para evitar cualquier problema con uno de los sistemas más importantes del automóvil: el circuito de refrigeración.Incluye:-Breve introducción al funcionamiento de un circuito