WordPress database error: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

Huye de las luces (ATtiny2313) – Meandro – un entretenido electrónica
Site icon Меандр – занимательная электроника

Huye de las luces (ATtiny2313)

Mi primer dispositivo en el microcontrolador era el esquema huyendo de las luces. La regla de los 15 minutos de leds que se iluminan alternativamente. El concepto de este tipo de dispositivos es muy simple. En comparación con las dimensiones de una tarjeta aparecido aquí sólo 15 leds, los cuales ánodo común y cátodo están conectados a los puertos de entrada/salida del microcontrolador y el mismo токоограничительных de las resistencias R3-R17 de 360 ohm. Los leds se administran bajo nivel en la salida de un microcontrolador (así como para el bajo nivel de un microcontrolador puede emitir más actual, de alrededor de 20ma, que para el alto, pero no hay que olvidarnos de la corriente total que puede emitir el puerto).

Consideremos ahora los puertos de entrada/salida. El ATtiny2313 hay 15 líneas de entrada/salida, que se agrupan en 2 puerto PortB – 8 conclusiones y PortD – 7 de las conclusiones. Todo el trabajo del microcontrolador es correcto шевеления patas, y el arte de la programación – la fuerza de su manera de hacer. También las patas de los puertos al mismo tiempo puede hacer otras funciones: ser la entrada de firmware de la adc, el exterior de la interrupción, la salida de la USART'y muchas otras funciones, pero veamos un poco más tarde. Para el uso de los puertos de entrada y salida debe primero configurar, esta es una responsabilidad que los registros de PORTX y DDRX, donde X es el nombre del puerto. Pondremos el cartel de sus estados posibles (n=0..7 – número de salida en el puerto):

Como se desprende de la tabla con un valor de DDRXn =1 puerto funciona como salida, y el nivel lógico en su salida es igual a un bit de PORTXn. Cuando el valor de DDRXn =0 la salida PXn funcionará en la entrada, y el bit PORTXn determina si está conectado a la entrada interna de pull-up de la resistencia o no. Nivel lógico en la salida de PXn se puede considerar de bits PINXn. Pasemos a la práctica, los invito a escribir el programa, que se turnan para encender cada uno de los 15 led, primero escribiremos un programa en C, luego de la diversidad en lenguaje ensamblador.

Sección Define chapter asigna los nombres de los registros con los nombres de variables. En la sección Const capítulo se establecen las constantes que afectan a la velocidad de la duración de las luces. El siguiente es el segmento de código segment que en realidad contiene el código de nuestro programa. En el código del programa primero inicialice la pila, los puertos de e/s configurable como salida, después de que en el eterno ciclo de uno de los leds перебираем. La estructura del código es muy similar a la escrita por encima de programa C. el Código más fácil de entender y compacto, pero por el tamaño del programa ensamblador adelanta Con (optimización no incluido): 84 en contra de 312 bytes de código en C. Si se incluye la máxima optimización para Con, recibiremos 184 bytes de código, pero tiene que muy bajo otra reescribir la función de retraso. Total tenemos, el ensamblador es un poco más complejo, pero el código es compacto y rápido, y más fácil, pero el código resultante de un programa mucho más.

Aconsejo no limitarse simplemente corren humorístico, y experimentar un poco:

Todos los códigos de los programas se pueden descargar aquí.

Exit mobile version