Top Banner
INGENIERÍA ELECTRÓNICA
31

Control de Puertos Atmega 16

Nov 18, 2014

Download

Documents

Cristian Albán
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Page 2: Control de Puertos Atmega 16

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 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: Número Binario 55h SALIDA: En el puerto D el valor de 55h PROCESO: Especifico el puerto D como Salida

Escribo en el Puerto D el valor 55hexagesimal

DIAGRAMA DE FLUJO:

Page 3: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

ESQUEMÁTICO:

SIMULACIÓN:

Page 4: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Ejercicio 2.- Escribir en un Pin del puerto D

CODIGO:

ALGORITMO:

ENTRADA: Número Binario SALIDA: Escribir en un pin del Puerto D PROCESO: Configuro el Puerto D como Salida Escribo en el Pin 1 del puerto D el valor de 1

DIAGRAMA DE FLUJO:

Page 5: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

ESQUEMÁTICO:

SIMULACIÓN:

Page 6: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Ejercicio 3.- En el programa 1 cambiar el valor 55 hexagesimal, por

el siguiente número decimal:

Portd=240

CÓDIGO:

ALGORITMO:

ENTRADA: Número Binario 55h SALIDA: En el puerto D el valor de 55h PROCESO: Especifico el puerto D como Salida

Escribo en el Puerto D el valor 55hexagesimal

DIAGRAMA DE FLUJO:

Page 7: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

ESQUEMÁTICO:

SIMULACIÓN:

Page 8: Control de Puertos Atmega 16

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

Page 9: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

DIAGRAMA DE FLUJO:

ESQUEMATICO:

Page 10: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

SIMULACIÓN:

Page 11: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Page 12: Control de Puertos Atmega 16

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: 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 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

Page 13: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

DIAGRAMA DE BLOQUE:

Page 14: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

ESQUEMÁTICO:

SIMULACIÓN:

Operación And: Portb.0 And Portb.1 A= Portd.0

0 0 0

0 1 0

1 0 0

1 1 1

Page 15: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Operación Or: Portd.2 Or Portd.3 B=Portd.1

0 0 0

0 1 1

1 0 1

1 1 1

Page 16: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Operación Xor:

Portb.4 Xor Portb.5 C=Portd.2

0 0 0

0 1 1

1 0 1

1 1 0

Page 17: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Operación Not:

D=Not Pinb.6 Portd.3=C

0 1

1 0

1 0 0 1

Page 18: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Ejercicio 6.- Crear la siguiente tabla de la siguiente Función

Booleana: (A AND B) OR (NOT C)

TABLA:

Page 19: Control de Puertos Atmega 16

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

Page 20: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

DIAGRAMA DE BLOQUE:

ESQUEMÁTICO:

Page 21: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

SIMULACIÓN:

Page 22: Control de Puertos Atmega 16

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 ATMEGA16. Ayuda del Programa Proteus 7.6. Para las simulaciones.

Page 23: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Page 24: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Fotos del Ejercicio 2.- Escribir en un Pin del puerto D:

Page 25: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Fotos del Ejercicio 2.- Escribir en un Pin del puerto D:

Page 26: Control de Puertos Atmega 16

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

Page 27: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Fotos del Ejercicio 4.- Leer datos de Entrada en el Puerto B y

Escribirlos en el Puerto D.

Page 28: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Fotos del Ejercicio 5.- Comprobar cada una de las Funciones lógicas, And, Or, Xor y Not:

Operación And:

Page 29: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Operación Or:

Page 30: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Operación Xor:

Operación Not:

Page 31: Control de Puertos Atmega 16

INGENIERÍA ELECTRÓNICA

Fotos del Ejercicio 6.- Crear la siguiente tabla de la siguiente

Función Booleana: (A AND B) OR (NOT C):