control de puertos atmega 16

31
INGENIERÍA ELECTRÓNICA

Upload: cristian-alban

Post on 18-Nov-2014

129 views

Category:

Documents


4 download

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