INGENIERÍA ELECTRÓNICA
OBJETIVO: Conocer el funcionamiento y la Programación para los Microcontroladores ATMEL a través del manejo de los Puertos de este microcontrolador.
Escritura en un puerto del microcontrolador 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.
Ejercicio 1.- Escribir 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
ESQUEMÁTICO:
SIMULACIÓN:
INGENIERÍA ELECTRÓNICA
Ejercicio 2.- Escribir 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
DIAGRAMA DE FLUJO:
INGENIERÍA ELECTRÓNICA
ESQUEMÁTICO:
SIMULACIÓN:
INGENIERÍA ELECTRÓNICA
Ejercicio 3.- En el programa 1 cambiar el valor val or 55 hexagesimal, por el siguiente número decimal: Portd=240 Portd=240 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
ESQUEMÁTICO:
SIMULACIÓN:
INGENIERÍA ELECTRÓNICA
LECTURA Y ESCRITURA DE PUERTOS Para leer en un puerto de un Microcontrolador AVR se utiliza el comando PIN. Además utilizamos el uso de variables.
Ejercicio 4.- Leer datos de Entrada en el Puerto B y Escribirlos en el Puerto D. CÓDIGO:
ALGORITMO: ENTRADA: Datos del dipswitch a través del Puerto B SALIDA: Escribir en el puerto D PROCESO: 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
INGENIERÍA ELECTRÓNICA
DIAGRAMA DE FLUJO:
ESQUEMATICO:
INGENIERÍA ELECTRÓNICA
SIMULACIÓN:
INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
TABLAS DE VERDAD Utilizando el esquema anterior se comprobara el uso de las Funciones Lógicas: And, Or, Xor y Not. Ejercicio 5.- Comprobar cada una 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 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 puert o D En la variable D uso la función Not. Escribo la variable D en el Pin 3 del Puerto D INGENIERÍA ELECTRÓNICA
DIAGRAMA DE BLOQUE:
INGENIERÍA ELECTRÓNICA
ESQUEMÁTICO:
SIMULACIÓN: Operación And: Portb.0 And Portb.1 0 0 1 1
A= Portd.0
0 1 0 1
INGENIERÍA ELECTRÓNICA
0 0 0 1
Operación Or: Portd.2 Or Portd.3
0 0 1 1
0 1 0 1
B=Portd.1 0 1 1 1
INGENIERÍA ELECTRÓNICA
Operación Xor: Portb.4 Xor Portb.5
0 0 1 1
0 1 0 1
C=Portd.2 0 1 1 0
INGENIERÍA ELECTRÓNICA
Operación Not: D=Not Pinb.6 Portd.3=C 0 1 1 0 1 0 0 1
INGENIERÍA ELECTRÓNICA
Ejercicio 6.- Crear la siguiente tabla de la siguiente Función Booleana: (A AND B) OR (NOT C) TABLA:
INGENIERÍA ELECTRÓNICA
CÓDIGO:
ALGORITMO: ENTRADA: Datos del dipswitch a través del Puerto B SALIDA: Escribir en el puerto D PROCESO: Configuro el Puerto B como Entradas Configuro el Puerto D como Salidas Defino las variables A, B, C, D, E, F 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 entrada del Pinb.0 En la variable B uso la entrada del Pinb.1 En la variable C uso la entrada del Pinb.2 En la variable D realizo la Operación And. En la variable E realizo la Operación Not C. En la variable F realizo la Operación Or entre D y E. Escribo la variable F en el pin 0 del puerto D
INGENIERÍA ELECTRÓNICA
DIAGRAMA DE BLOQUE:
ESQUEMÁTICO:
INGENIERÍA ELECTRÓNICA
SIMULACIÓN:
INGENIERÍA ELECTRÓNICA
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.
El Microcontrolador ATMEGA 16 nos permite controlar diferentes dispositivos como Displays, Salidas para Leds gracias a los pines de Entrada y Salida que tiene.
BIBLIOGRAFÍA: Hojas de las Prácticas de Microcontroladores AVRs. Ayuda del Programa BAscom. Manual del Microcontrolador Microcontrolador ATMEGA16. ATMEGA16. Ayuda del Programa Proteus 7.6. Para las simulaciones.
INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 2.- Escribir en un Pin del puerto D:
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 2.- Escribir en un Pin del puerto D:
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 3.- En el programa 1 cambiar el valor 55 hexagesimal, por el siguiente número decimal: Portd=240 Portd=240
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 4.- Leer datos de Entrada en el Puerto B y Escribirlos en el Puerto D.
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 5.- Comprobar cada una de las Funciones lógicas, And, Or, Xor y Not:
Operación And:
INGENIERÍA ELECTRÓNICA
Operación Or:
INGENIERÍA ELECTRÓNICA
Operación Xor:
Operación Not:
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 6.- Crear la siguiente tabla de la siguiente Función Booleana: (A AND B) OR (NOT C):
INGENIERÍA ELECTRÓNICA