SEPTIEMBRE FEBRERO
UNIVERSIDAD POLITÉCNICA SALESIANA INFORME DE LA PRÁCTICA 2 AVR
MICROCONTROLADOR ATMEL AVR SISTEMAS MICROPROCESADOS I DOCENTE Ing. Electrónico. Luis Oñate INGENIERIA ELECTRÓNIC ELECTRÓNICA A FECHA: 7 DE ENERO DE 2011 ESTUDIANTES RUIZ JUAN DANIEL HUACA LUIS SANGOQUIZA
UNIVERSIDAD POLITÉCNICA SALESIANA
10
UNIVERSIDAD POLITÉCNICA SALESIANA
INFORME PRÁCTICA 2 AVR TEMA: MICROCONTROLADOR ATMEL AVR OBJETIVOS: Utilizar con el micro controlador AVR el LCD alfanumérico. DESARROLLO: DIAGRAMA DEL ATMEGA16
Para la programación del ATMEGA16 utilizaremos un programador de AVR para escribir el punto Hex.
Imagen del USBISP- AVR Para lo cual utilizaremos el programa PROGISP para escribir el punto HEX para el AVR ATMEGA16 para su funcionamiento.
Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
Imagen del programa PROGISP Además debemos utilizar el Programa BASCOM-AVR el cual es de gran ayuda para la realización de la práctica1 AVR.
Imagen del programa BASCOM-AVR Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
PROBLEMA 1. El LCD mostrará el mensaje “HOLA” ALGORITMO: ENTRADA: Palabras hacia el LCD
SALIDA: Escribimos en el LCD Señales de Control Señales de datos
PROCESO: Configuramos en los pines del puerto puerto B como salida Configuramos en los registros internos del LCD Apago el cursor Escribimos en el LCD
DIAGRAMA DE FLUJO INICIO
Configuramos el LCD como salida
Escribimos en el LCD HOLA
CÓDIGO DEL PROGRAMA 1 BASCOM-AVR $regfile = "m164pdef.dat" $crystal = 8000000 Config Portd = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Lcd "hola" End Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
SIMULACIÓN EN PROTEUS
Imagen de la simulación del problema 1 IMAGEN EN EL PROTOBOARD
Imagen del problema 1 realizado en el Protoboard
Imagen del problema 1 realizado en el Protoboard Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
PROBLEMA 2. Programa que escribe en la línea superior o inferior del LCD. ALGORITMO: ENTRADA: Palabras hacia el LCD
SALIDA: Escribimos en el LCD Señales de datos Señales de Control
PROCESO: Configuramos en los pines del puerto B como salida Configuramos en los registros internos del LCD Apago el cursor Escribo en el LCD
DIAGRAMA DE FLUJO INICIO
Configuramos el LCD como salida
Escribimos INGENIERIA ELECTRONICA en el LCD
CÓDIGO DEL PROGRAMA 2 BASCOM-AVR $regfile "m164pdef.dat" "m164pdef.dat" $crystal = 8000000 Config Portb = Output Config Portc = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E =Portd.0 , Rs = Portd.1 Cls Lcd "INGENIERIA" Lowerline Lcd "ELECTRONICA" End Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
SIMULACIÓN EN PROTEUS
Imagen de la simulación del problema 2 IMAGEN EN EL PROTOBOARD
Imagen del problema 2 realizado en el Protoboard
Imagen del problema 2 realizado en el Protoboard Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
PROBLEMA 3. Programa que permite el desplazamiento de un texto en LCD ALGORITMO: Entradas: Palabras hacia el LCD
Procesos:
Configuramos en los pines del puerto B como salida Configuramos en los registros internos del LCD Escribimos en el LCD Retardo
Salidas:
Escribimos en el LCD Señales de datos Señales de Control
DIAGRAMA DE FLUJO INICIO
Configuramos en el LCD como salida
Escribimos HOLA con desplazamiento en el LCD
Le damos un retardo de 2000 ms
CÓDIGO DEL PROGRAMA 3 BASCOM-AVR $regfile = "m164pdef.dat" $crystal = 8000000 Dim I As Byte Config Portb = Output Config Portc = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
Cls Do Lcd “UPS” For I = 1 To 10 Shiftlcd, Right Waitms 200 Next For I = 1 To 10 Shiftlcd, Left Waitms 200 Next Loop End
SIMULACIÓN EN PROTEUS
Imagen de la simulación del problema 3 IMAGEN EN EL PROTOBOARD
Imagen del problema 3 realizado en el Protoboard
Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
Imagen del problema 3 realizado en el Protoboard PROBLEMA 4. Comandos generales del LCD ALGORITMO: Entradas: Los datos que se van a guardar en el microcontrolador.
Procesos:
Habilitamos en el display mediante el puerto B como salida. Escribimos las sentencias en el puerto B y enviarlas hacia el display.
Salidas:
Salida del puerto B hacia el display alfanumérico.
DIAGRAMA DE FLUJO INICIO
Configuramos el LCD como salida
Escribimos *@ en el LCD
Le damos un retraso de 3000 ms
CÓDIGO DEL PROGRAMA 4 BASCOM-AVR $regfile "m164pdef.dat" "m164pdef.dat" $crystal = 8000000 Config Portb = Output Config Portc = Output Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Cls Do Locate 2 , 1 Lcd "*" Wait 1 Shiftcursor Rigth Lcd "@" Wait 1 Home Upper Lcd "Remplazo." Wait 1 Cursor On Off Noblink Wait 1 Cursor On On Blink Wait 1 Display Off Wait 1 Display On Loop End
SIMULACIÓN EN PROTEUS
Imagen de la simulación del problema 4 Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
IMAGEN EN EL PROTOBOARD
Imagen del problema 4 realizado en el Protoboard
Imagen del problema 4 realizado en el Protoboard PROBLEMA 5. Programa que permite ver los caracteres que puede generar el LCD ALGORITMO: Entradas: Los datos que se van a guardar en el microcontrolador.
Procesos:
Habilitamos en el display mediante el puerto B como salida. Escribimos en las sentencias en el puerto B y C y enviarlas hacia el display.
Salidas:
Salida del puerto B hacia el display alfanumérico.
DIAGRAMA DE FLUJO INICIO
Configuramos el LCD como salida
Realizamos un lazo y escribimos un carácter
Le damos un retraso de 100 ms Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
CÓDIGO DEL PROGRAMA 5 BASCOM-AVR $regfile = "m164pdef.dat" $crystal = 8000000 Dim I As Byte Config Portb = Output Config Portc = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Cls Do For I = 1 To 255 Cls Locate 1 , 1 Lcd Chr(i) Locate 2 , 1 Lcd "caracter #" ; 1 Waitms 100 Next Loop End
SIMULACIÓN EN PROTEUS
Imagen de la simulación del problema 5 Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
IMAGEN EN EL PROTOBOARD
Imagen del problema 5 realizado en el Protoboard
Imagen del problema 5 realizado en el Protoboard PROBLEMA 6. Repetir un proceso en forma continua y mostrar en el LCD. ALGORITMO: Entradas: Los datos que se van a guardar en el microcontrolador.
Procesos:
Habilitamos en el display mediante el puerto B como salida. Escribimos en las sentencias en el puerto B y C y enviarlas hacia el display.
Salidas:
Salida del puerto B hacia el display alfanumérico.
DIAGRAMA DE FLUJO INICIO
Configuramos el LCD como salida Creamos un lazo además de un carácter Le damos un retraso 100 ms
Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
CÓDIGO DEL PROGRAMA 6 BASCOM-AVR $regfile = "m164pdef.dat" $crystal = 8000000 $sim Config Portd = Output Dim Star As Byte Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Cursor Off Deflcdchar 0 , 32 , 4 , 4 , 31 , 4 , 4 , 32 , 32 Deflcdchar 1 , 32 , 2 , 20 , 14 , 5 , 8 , 32 , 32 Deflcdchar 2 , 32 , 2 , 26 , 4 , 11 , 8 , 32 , 32 ' replace ? wi th number (0-7) Deflcdchar 3 , 32 , 17 , 10 , 4 , 10 , 17 , 32 , 32 ' replace ? wi th number (0-7) Deflcdchar 4 , 32 , 8 , 11 , 4 , 26 , 2 , 32 , 32 ' replace ? wi th number (0-7) Deflcdchar 5 , 32 , 8 , 5 , 14 , 20 , 2 , 32 , 32 ' replace ? wi th number (0-7) Cls Do For Star = 0 To 5 Step 1 Portd = 255 Waitms 100 Locate 1 , 16 Lcd Chr(star) Waitms 100 Next Star Loop End
SIMULACIÓN EN PROTEUS
Imagen de la simulación del problema 6 Ing. Electrónica Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA
IMAGEN EN EL PROTOBOARD
Imagen del problema 6 realizado en el Protoboard CONCLUSIONES: Debemos conocer el funcionamiento del ATMEGA16 para su mejor funcionamiento del AVR para no dañarlo al programarlo. Cuando utilizamos el programa Bascom-AVR su programación es más corta y fácil de entender el código. Esta Con esta práctica pudimos realizar con el AVR y realizamos practicas parecidas con el PIC 16f877A.
BIBLIOGRAFÍA •
•
Hojas de prácticas de AVR 2 para Laboratorio 1 de Sistemas Microprocesados I. Datasheet del ATMEGA16.
Ing. Electrónica Informe Analógica II