25
Universidad Politécnica Salesiana Ingeniería Electrónica Sistemas Microprocesados INFORME DE LABORATORIO MICROCONTROLADOR ATMEL AVR CONTROL DE PUERTOS EN EL MICROCONTROLADOR ATMEGA16 Integrantes: Juan Villacís S. Gabriela Chicaiza Ing. Luis Oñate Periodo Sept./2009-feb/2010

Informe Sistemas Microprocesados Con AVR Atmega16

Embed Size (px)

DESCRIPTION

Manejo de AVr con microcontrolador Atmega16

Citation preview

Page 1: Informe Sistemas Microprocesados Con AVR Atmega16

Universidad Politécnica Salesiana

Ingeniería Electrónica

Sistemas Microprocesados

INFORME DE LABORATORIO MICROCONTROLADOR ATMEL AVR

CONTROL DE PUERTOS EN EL MICROCONTROLADOR

ATMEGA16

Integrantes:

• Juan Villacís S.

• Gabriela Chicaiza

Ing. Luis Oñate

Periodo

Sept./2009-feb/2010

Page 2: Informe Sistemas Microprocesados Con AVR Atmega16

Tema:

Lectura y escritura en el microcontrolador ATMEL AVR CON ATMEGA16 con programadora externa.

Objetivo:

Utilizar los puertos del microcontrolador AVR, como interface digital al mundo exterior.

Programas un n microcontrolador AVR con un lenguaje de Programación en este caso el software Bascom AVR ver1.8.11

Aprender un nuevo lenguaje de programación y verificar sus resultados en cada uno de sus ejercicios tanto de lectura como de escritura en cada uno de sus pines.

Desarrollo de las Prácticas del laboratorio de Sist emas Microprocesador.

Para esta práctica de laboratorio debemos tener todos los elementos ya listos para su implementación ya que es de suma importancia tener práctica y saber qué es lo que nos piden.

Para eso vamos a ejecutar nuestro programa:

Vamos: Inicio/Todos los programas/BASCOM-AVR/ BASCOM-AVR/ and click

Y vamos a elaborar un nuevo programa como se muestra en la interfaz siguiente:

Page 3: Informe Sistemas Microprocesados Con AVR Atmega16

Descripción:

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, Para este ejemplo.

Ver Figura: 1

1.- abrir BASCOM-AVR

fig.1

Page 4: Informe Sistemas Microprocesados Con AVR Atmega16

2.-procedemos a crear un nuevo proyecto.

fig.2

3.- Primero antes de nada procedemos a realizar el Diagrama de Flujo el que nos permitirá guiarnos de una forma precisa, definida, finita.

Ejercicio 1 Escribir el valor 55 hexagesimal en el puerto D

Desarrollo del ejercicio

Determinar:

Entradas:

Numero binario 10101010 o 55 en hexagesimal

Salidas:

escribir en el puerto el valor de 10101010 o 55 en hexagesimal.

Procesos:

o configurar el puerto o iniciar un lazo infinito o escribir en el puerto el valor de 10101010 o fin del lazo o fin del programa

Desarrollo del

programa

Page 5: Informe Sistemas Microprocesados Con AVR Atmega16

� Diagrama de Flujo

� Codificación:

fig.3

Esquemático

INICIO

FIN

Portd=55

Config Portd=Output

Ddrd=255

Page 6: Informe Sistemas Microprocesados Con AVR Atmega16

Simulación

Y procedemos a ejecutar el microcontrolador Atmega16 y simularlo Mediante un software.

Damos clic en el Atmega16 en proteus cargamos el código

fig.4

Buscamos en la carpeta el archivo *.hex del programa a simular.

� Ver su Simulación fig.5

Page 7: Informe Sistemas Microprocesados Con AVR Atmega16

Y luego procedemos a implementarlo en Hardware y software con la programadora

De AVR para el microcontrolador Atmega16. Como se muestra en la figura si siguiente figura.-

Pasar *.hex en el Microcontrolador.

Ahora después de instalar la programadora vemos su interfaz y cargamos el código en nuestro microcontrolador AVR.

PROGRAMADO

R ATMEL AVR

Microcontrolador AVR.

Page 8: Informe Sistemas Microprocesados Con AVR Atmega16

Primero debemos instalar los drivers del controlador y luego ejecutar el software y aparecerá la siguiente pantalla del software

fig.6

Y cargamos el programa en el microcontrolador Atmega16

fig.7

Cargamos el

programa *.hex

Software AVR

Page 9: Informe Sistemas Microprocesados Con AVR Atmega16

Luego de ya cargado el *.hex en nuestro AVR procedemos a ver su resultado como se muestra en la figura siguiente.

fig.8

Aquí se puede observa los resultados como se indica en la simulación y ver la flexibilidad de tener un programa que nos permita controlar nuestros pines del AVR.

2.- este programa escribe en un pin del puerto D

Desarrollo del ejercicio

Determinar:

Entradas:

Numero 55 hexagesimal

Salidas:

escribir en el puerto el valor de 55 en hexagesimal.

Procesos:

o configurar el puerto o iniciar un lazo infinito o escribir en el puerto el valor de 55 hexagesimal o fin del lazo o fin del programa

Page 10: Informe Sistemas Microprocesados Con AVR Atmega16

� Diagrama de Flujo

� Codificación:

INICIO

FIN

Portd=0

Portd.1=1

Config Portd=Output

Ddrd=255

Page 11: Informe Sistemas Microprocesados Con AVR Atmega16

Esquemático

Fig.9

Ver su Simulación

fig.10

Cargamos el Programa en el microcontrolador:

Y luego procedemos a implementarlo en Hardware y software con la programadora

Page 12: Informe Sistemas Microprocesados Con AVR Atmega16

De AVR para el microcontrolador Atmega16. Como se muestra en la figura si siguiente figura.-

Pasar *.hex en el Microcontrolador.

hora después de instalar la programadora vemos su interfaz y cargamos el código en nuestro microcontrolador AVR.

fig.11

Luego de ya cargado el *.hex en nuestro AVR procedemos a ver su resultado como se muestra en la figura siguiente.

• Visualizamos el resultado

fig.12

Código *.hex en el

Microcontrolador

Page 13: Informe Sistemas Microprocesados Con AVR Atmega16

Ejercicio 3.-

Determinar:

Entradas:

Numero binario 1111 0000

Salidas:

escribir en el puerto el valor de F0 en hexagesimal.

Procesos:

o configurar el puerto o iniciar un lazo infinito o escribir en el puerto el valor de F0 hexagesimal o fin del lazo o fin del programa

� Diagrama de Flujo

INICIO

Ddrd=240

FIN

Portd=F0

Config Portd=Output

Page 14: Informe Sistemas Microprocesados Con AVR Atmega16

� Codificación:

Ver su Simulación

fig.10

Page 15: Informe Sistemas Microprocesados Con AVR Atmega16

Cargamos el Programa en el microcontrolador:

Pasar *.hex en el Microcontrolador. Como se muestra en la fig.11

Luego de ya cargado el *.hex en nuestro AVR procedemos a ver su resultado como se muestra en la figura siguiente.

• Visualizamos el resultado

Ejercicio 4.

Lectura y escritura en puertos.

Para leer en un puerto de un microcontrolador AVR s e utiliza el comando PIN . además se va ha introducir al uso de variables.

Determinar:

Entradas:

Defino la variable A

Salidas:

Codigo binario escrito en el puerto D

Procesos:

o Definir una Variable o Guardar el valor de la Variable

Page 16: Informe Sistemas Microprocesados Con AVR Atmega16

o configurar el puerto o Se inicializa el puerto D como salida o Se inicializa el puerto B como entrada o Inicio de lazo infinito o Lee en la variable A los datos escritos en el puerto B o Se escribe en el puerto D los datos leidos en el puerto B o fin del lazo o fin del programa

� Diagrama de Flujo

INICIO

Defino

Variable A

FIN

A=Pinb

Config Portd=Output

Ddrb=0

Ddrd=255

Config Portb=Input

Portd=A

Page 17: Informe Sistemas Microprocesados Con AVR Atmega16

� Codificación:

Ver su Simulación

Page 18: Informe Sistemas Microprocesados Con AVR Atmega16

Cargamos el Programa en el microcontrolador:

Pasar *.hex en el Microcontrolador. Como se muestra en la fig.11

Luego de ya cargado el *.hex en nuestro AVR procedemos a ver su resultado como se muestra en la figura siguiente.

• Visualizamos el resultado

Ejercicio 5.

Tablas de Verdad.-

Utilizando el esquema del tema o ejercicio 4 se comprobara el uso de las funciones lógicas and, or, xor y not.

Determinar:

Entradas: Defino la variable A,B,C,D

Salidas: Codigo binario escrito en el puerto D

Procesos:

Page 19: Informe Sistemas Microprocesados Con AVR Atmega16

o Definir las Variables A,B,C,D o Guardar el valor de lasVariables o configurar el puerto o Se inicializa el puerto D como salida o Se inicializa el puerto B como entrada o Inicio de lazo infinito o Realizacion de Operaciones con funciones logicas and or Xor not o Imprimr resultados en puertos A,B,C,D o Fin del lazo o Fin del Programa.

Diagrama de Flujo

INICIO

Defino Variable A, B, C, D

FIN

A=Pinb.0 And Pinb.1

Config Portd=Output

Ddrb=0

Ddrd=255

Config Portb=Input

Pord.0=A

B=Pinb.2 Or Pinb.3

Pord.1=B

C=Pinb.4 Xor Pinb.5

Pord.2=C

D=not Pinb.6

Pord.3=C

Page 20: Informe Sistemas Microprocesados Con AVR Atmega16

� Codificación:

� Ver su Simulación

Page 21: Informe Sistemas Microprocesados Con AVR Atmega16

Como se mira la utilización del DIPSW_8 y su estado para la comprobación de la tabla de verdad.

Cargamos el Programa en el microcontrolador:

Pasar *.hex en el Microcontrolador. Como se muestra en la fig.11

Luego de ya cargado el *.hex en nuestro AVR procedemos a ver su resultado como se muestra en la figura siguiente.

• Visualizamos el resultado

Page 22: Informe Sistemas Microprocesados Con AVR Atmega16

Ejercicio 6.

Ejercicio Propuesto: Crear la tabla de la siguiente función booleana: (A and B) OR (Not C).

Tabla de Verdad para nuestro Programa.

ABC

(AB)+/C

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 1

Determinar:

Entradas: Defino la variable A,B,C

Salidas: Codigo binario escrito en el puerto D

Procesos:

o Definir las Variables A,B,C o Guardar el valor de lasVariables o configurar el puerto o Se inicializa el puerto D como salida o Se inicializa el puerto B como entrada o Inicio de lazo infinito o Realizacion de Operaciones con funciones logicas AND OR o Imprimr resultados en puertos A,B,C o Fin del lazo o Fin del Programa.

Page 23: Informe Sistemas Microprocesados Con AVR Atmega16

Diagrama de Flujo

INICIO

Defino Variable A, B, C,

FIN

A = Pinb.0 And Pinb.1

Config Portd=Output

Ddrb=0

Ddrd=255

Config Portb=Input

B = Not Pinb.2

C = A Or B

Portd.0 = C

Page 24: Informe Sistemas Microprocesados Con AVR Atmega16

� Codificación:

� Ver su Simulación

Como se mira la utilización del DIPSW_8 y su estado para la comprobación de la tabla de verdad.

Page 25: Informe Sistemas Microprocesados Con AVR Atmega16

Cargamos el Programa en el microcontrolador:

Pasar *.hex en el Microcontrolador. Como se muestra en la fig.11

Luego de ya cargado el *.hex en nuestro AVR procedemos a ver su resultado como se muestra en la figura siguiente.

• Visualizamos el resultado

Conclusiones:

• Tener en mente la configuración del Antmega16 y su distribución de pines en la programación.

• Llevar armado para no perder tiempo en la practica en el laboratorio • Saber la configuración para su programación tanto de entradas como de

salidas del micro.

Recomendaciones:

• Leer el datasheet e informarse de todas sus funcionalidades ya que es primordial saber bien su funcionamiento y aplicación para implementar su hardware y software.

• Al implementar el hardware externo saber la configuración con el datasheet y su conexión como se explica en la hojas guías.

• Llevar la programadora y saber instalar el software para su correcto funcionamiento en el ATMEGA16.