Control de Puertos Atmega 16

Post on 18-Nov-2014

125 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

Transcript

INGENIERÍA ELECTRÓNICA

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:

INGENIERÍA ELECTRÓNICA

ESQUEMÁTICO:

SIMULACIÓN:

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:

INGENIERÍA ELECTRÓNICA

ESQUEMÁTICO:

SIMULACIÓN:

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:

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

INGENIERÍA ELECTRÓNICA

DIAGRAMA DE BLOQUE:

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

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

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

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

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

top related