Informe Sistemas Microprocesados Con Avr Atmega16

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Informe Sistemas Microprocesados Con Avr Atmega16 as PDF for free.

More details

  • Words: 1,486
  • Pages: 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

Tema: Lectura y escritura en el microcontrolador ATMEL AVR CON programadora externa.

ATMEGA16

con

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

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

2.-procedemos a crear un nuevo proyecto.

Desarrollo del programa

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

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

 Diagrama de Flujo INICIO

Ddrd=255

Config Portd=Output

Portd=55

FIN

 Codificación: fig.3

Esquemático

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

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. PROGRAMADO R ATMEL AVR

Microcontrolador AVR.

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

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

Software AVR

fig.6

Y cargamos el programa en el microcontrolador Atmega16

Cargamos el programa *.hex

fig.7

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

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

 Diagrama de Flujo INICIO

Ddrd=255

Config Portd=Output

Portd=0

Portd.1=1

FIN

 Codificación:

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

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

Código *.hex en el Microcontrolador

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

Ejercicio 3.Determinar: Entradas: Numero binario 1111 0000 Salidas: escribir en el puerto el valor de F0 en hexagesimal. Procesos: o o o o o

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

 Diagrama de Flujo INICIO

Ddrd=240

Config Portd=Output

Portd=F0

FIN

 Codificación:

Ver su Simulación

fig.10

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

o o o o o o o o

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

 Diagrama de Flujo INICIO

Defino Variable A

Ddrb=0

Ddrd=255

Config Portd=Output

Config Portb=Input A=Pinb Portd=A

FIN

 Codificación:

Ver su Simulación

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:

o o o o o o o o o o

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

Diagrama de Flujo

INICIO

Defino Variable A, B, C, D

Ddrb=0 Ddrd=255 Config Portd=Output Config Portb=Input A=Pinb.0 And Pinb.1 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 FIN

 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. 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 6. Ejercicio Propuesto: Crear la tabla de la siguiente función booleana: (A and B) OR (Not C). Tabla de Verdad para nuestro Programa.

0 0 0 0 1 1 1 1

ABC 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

(AB)+/C 1 0 1 0 1 0 1 1

Determinar: Entradas: Defino la variable A,B,C Salidas: Codigo binario escrito en el puerto D Procesos: o o o o o o o o o o

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

Diagrama de Flujo

INICIO

Defino Variable A, B, C,

Ddrb=0 Ddrd=255 Config Portd=Output Config Portb=Input A = Pinb.0 And Pinb.1 B = Not Pinb.2 C = A Or B Portd.0 = C FIN

 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.

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.

Related Documents