victorduenasg

ATmega16 – UART

Conocido también como transmisor y receptor síncrono/asíncrono universal. Este tipo de protocolo de comunicación es usado para comunicarse con la interfaz RS232 pero también podemos usarlo para la comunicación entre uC. Características: Operación Full Duplex (Transmisión y Recepción al mismo tiempo) Operación Síncrona y Asíncrona. Operación Síncrona Maestro-Esclavo. Generador de alta resolución de Baud rate. […]

ATmega16 – UART Read More »

ATmega16 – ADC

El uso del ADC en un uC es esencial cuando existe la necesidad de digitalizar señales analógicas como por ejemplo valores de temperatura, presión, humedad, movimiento, etc. En el caso de nuestro uC cuenta con 8 entradas ADC multiplexadas, es decir que solo trabaja una entrada a la vez, el resultado de la conversión del

ATmega16 – ADC Read More »

ATmega16 – Timer 2

Este timer tiene la característica de sincronizarse con un cristal externo de 32KHz, para esto tenemos que habilitar nuestro timer en modo asíncrono, esto es muy importante ya que con este cristal se puede obtener la medida de tiempo de un segundo o hasta incluso casi 16 segundos sin tener que forzar los timers del

ATmega16 – Timer 2 Read More »

ATmega16 – Timer 1

Este timer tiene la particularidad de poder generar dos señales digitales y tener 15 modos de generación de onda con alta resolución, también cuenta con un capturador de entrada que puede ser usado como contador de eventos externos de alta resolución. Características del Timer 1: Timer de 16 bits. Dos unidades de comparación para generar

ATmega16 – Timer 1 Read More »

ATmega16 – Timer 0

Con un timer podemos realizar aplicaciones como el control de velocidad de un motor, el manejo de un teclado, un barrido de 7 segmentos, obtención de muestras mediante el ADC, etc. El funcionamiento general de un timer consiste en guardar en un registro especial de almacenamiento un valor máximo al que llegará un contador, cuando

ATmega16 – Timer 0 Read More »

ATmega16 – Interrupciones

Existe dos formas de procesar datos ingresados hacia el uC, uno es por consulta, que como se vio en el post de GPIO el uC siempre está realizando la lectura de los pines y actualiza la acción de cada pin. Esto tiene una seria desventaja, por ejemplo, supongamos que el uC está realizando la actualización

ATmega16 – Interrupciones Read More »

ATmega16 – GPIO

GPIO: General Purpose Input Output, Entradas y Salidas de Propósito General, estos son los pines del uC que se usan para detectar o generar cambios lógicos. Algo que se encuentra presente en muchos circuitos son elementos electrónicos de características mecánicas, un un claro ejemplo son los pulsadores, la desventaja de estos elementos mecánicos es su

ATmega16 – GPIO Read More »

ATmega16 – Tablas

El manejo de tablas es de gran ayuda cuando se tiene gran cantidad de datos almacenados y necesitamos recuperarlos de una ubicación específica rápidamente. Ejemplo: El valor se ingresa en el registro R16 y nos devuelve el resultado en R16. Simulación: En la simulación podemos ver que cuando ingresamos el valor binario 12 nos devuelve

ATmega16 – Tablas Read More »

ATmega16 – Procedimientos

Un procedimiento es una secuencia de instrucciones que se quieren ejecutar en determinado momento para después seguir con el programa principal, por ejemplo si queremos convertir un número hexadecimal al BCD y este procedimiento se llevará a cabo en el programa principal tres veces, no vamos a tener que copiar el mismo código cada vez

ATmega16 – Procedimientos Read More »

ATmega16 – SRAM

En la programación con lenguaje ensamblador es necesario conocer cómo está conformada la memoria SRAM ya que colocaremos de manera manual los datos con los que estemos trabajando. En lenguaje ensamblador usaremos los 32 registros de trabajo y los registros de entrada/salida. Cuando se programa en C el compilador se encarga de reconocer cada tipo

ATmega16 – SRAM Read More »