control de puertos atmega 16
TRANSCRIPT
![Page 1: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/1.jpg)
INGENIERÍA ELECTRÓNICA
![Page 2: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/3.jpg)
INGENIERÍA ELECTRÓNICA
ESQUEMÁTICO:
SIMULACIÓN:
![Page 4: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/5.jpg)
INGENIERÍA ELECTRÓNICA
ESQUEMÁTICO:
SIMULACIÓN:
![Page 6: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/7.jpg)
INGENIERÍA ELECTRÓNICA
ESQUEMÁTICO:
SIMULACIÓN:
![Page 8: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/9.jpg)
INGENIERÍA ELECTRÓNICA
DIAGRAMA DE FLUJO:
ESQUEMATICO:
![Page 10: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/10.jpg)
INGENIERÍA ELECTRÓNICA
SIMULACIÓN:
![Page 11: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/11.jpg)
INGENIERÍA ELECTRÓNICA
![Page 12: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/13.jpg)
INGENIERÍA ELECTRÓNICA
DIAGRAMA DE BLOQUE:
![Page 14: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/20.jpg)
INGENIERÍA ELECTRÓNICA
DIAGRAMA DE BLOQUE:
ESQUEMÁTICO:
![Page 21: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/21.jpg)
INGENIERÍA ELECTRÓNICA
SIMULACIÓN:
![Page 22: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/23.jpg)
INGENIERÍA ELECTRÓNICA
![Page 24: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/24.jpg)
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 2.- Escribir en un Pin del puerto D:
![Page 25: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/25.jpg)
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 2.- Escribir en un Pin del puerto D:
![Page 26: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/29.jpg)
INGENIERÍA ELECTRÓNICA
Operación Or:
![Page 30: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/30.jpg)
INGENIERÍA ELECTRÓNICA
Operación Xor:
Operación Not:
![Page 31: Control de Puertos Atmega 16](https://reader034.vdocuments.net/reader034/viewer/2022042510/546aa737b4af9f616f8b4907/html5/thumbnails/31.jpg)
INGENIERÍA ELECTRÓNICA
Fotos del Ejercicio 6.- Crear la siguiente tabla de la siguiente
Función Booleana: (A AND B) OR (NOT C):