INGENIERÍA ELECTRÓNICA
OBJETIVO: Escritura en el Puerto del Microcontrolador Atmel AVR Para escribir en un puerto se debe, habilitar mediante el comando DDRX=255, como salidas, luego se procede a escribir el valor en el puerto. PROGRAMA 1 Este programa escribe el valor 55 hexagesimal en el puerto D CÓDIGO:
ALGORITMO: ENTRADA: SALIDA: PROCESO:
Número Binario 55h En el puerto D el valor de 55h Especifico el puerto D como Salida Escribo en el Puerto D el valor 55hexagesimal DIAGRAMA DE FLUJO:
INGENIERÍA ELECTRÓNICA
SIMULACIÓN:
PROGRAMA 2 Escribe en un pin del puerto D CODIGO:
ALGORITMO: ENTRADA: SALIDA: PROCESO:
Número Binario Escribir en un pin del puerto D Configuro el Puerto D como Salida Escribo en el Pin 1 del puerto D el valor de 1
INGENIERÍA ELECTRÓNICA
DIAGRAMA DE FLUJO:
SIMULACIÓN:
LECTURA Y ESCRITURA DE PUERTOS Para leer en un puerto de un Microcontrolador AVR se utiliza el comando PIN.
PROGRAMA 3
INGENIERÍA ELECTRÓNICA
CÓDIGO:
ALGORITMO: ENTRADA: SALIDA: PROCESO:
Datos del dipswitch a través del Puerto B Escribir en el puerto D Configuro el Puerto B como Entradas Configuro el Puerto D como Salidas Defino una variable A tipo Byte para Guardar los datos de IN (Puerto B). Leo la variable A de los datos escritos en el Puerto B Escribo en el Puerto D el valor de la Variable A DIAGRAMA DE FLUJO:
INGENIERÍA ELECTRÓNICA
SIMULACIÓN:
TABLAS DE VERDAD PROGRAMA 4 Comprobar el uso de las Funciones lógicas, and, or, xor y not. CÓDIGO:
ALGORITMO: ENTRADA: SALIDA: PROCESO:
Datos del dipswitch a través del Puerto B Escribir en el puerto D Configuro el Puerto B como Entradas Configuro el Puerto D como Salidas INGENIERÍA ELECTRÓNICA
Defino las variables A, B, C, D Tipo Bit para Guardar los datos de IN (Puerto B). Leo las variables A, B, C y D; los datos de entrada en el Puerto B En la variable A uso la función And. Escribo la variable A en el pin 0 del puerto D En la variable B uso la función Or. Escribo la variable a en el pin 1 del puerto D En la variable C uso la función Xor. Escribo la variable A en el pin 2 del puerto D En la variable D uso la función Not. Escribo la variable D en el Pin 3 del Puerto D DIAGRAMA DE BLOQUE:
INGENIERÍA ELECTRÓNICA
SIMULACIÓN:
PROGRAMA 5 Crear una tabla de la siguiente Función Booleana:
INGENIERÍA ELECTRÓNICA
CÓDIGO:
ALGORITMO: ENTRADA: SALIDA: PROCESO:
Datos del dipswitch a través del Puerto B Escribir en el puerto D Configuro el Puerto B como Entradas Configuro el Puerto D como Salidas Defino las variables A, B, C Tipo Bit para Guardar los datos de IN (Puerto B). Leo las variables A, B, C ; los datos de entrada en el Puerto B En la variable A uso la función And. En la variable B uso la función Not. En la variable C realizo la operación Or entre A y B Escribo la variable C en el pin 0 del puerto D DIAGRAMA DE BLOQUE:
INGENIERÍA ELECTRÓNICA
SIMULACIÓN:
CONCLUSIONES: La programación en Bascom se hace más fácil sabiendo direccionar las entradas y Salidas correctamente. El AVR ATMEGAA64P nos permite controlar diferentes dispositivos como Displays, Salidas para Leds gracias a los pines de Entrada y Salida que tiene.
INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
Fotografía Programa 1:
Fotografía Programa 2:
INGENIERÍA ELECTRÓNICA
Fotografías Programa 3: Entradas en Cero, Salidas en Cero:
Entradas en Alto, Salidas en Alto:
INGENIERÍA ELECTRÓNICA
Fotografía Práctica 4:
INGENIERÍA ELECTRÓNICA
Fotografía Práctica 5:
INGENIERÍA ELECTRÓNICA