Informe AVR ATMEGA16

14
SISTEMAS MICROPROCESADOS 1 UPS UNIVERSIDAD POLITECNICA SALESIANA INTEGRANTES: OSCAR AYALA CHRISTIAN IBARRA ANDRES VALDIVIESO CURSO: SEXTO ELECTRONICA 1

Transcript of Informe AVR ATMEGA16

Page 1: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

UNIVERSIDAD POLITECNICA SALESIANA

INTEGRANTES:

OSCAR AYALA

CHRISTIAN IBARRA

ANDRES VALDIVIESO

CURSO:

SEXTO ELECTRONICA

1

Page 2: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

INFORME No. 3

TEMA: Entrada y Salida en el microcontrolador.AVR (ATMEGA 16)

OBJETIVO: Optimizar el uso de los puertos del micro controlador AVR (ATMEGA 16),

como interface de datos digital.

DESARROLLO

En la práctica vamos a utilizar el micro controlador AVR (Atmega16) y su

correspondiente diagrama de pines y características.

Figura 1. Diagrama de pines de Atmega16

Para la programación del Atmega16 necesitamos un programador de AVR y escribir el

archivo HEX generado por un software especializado llamado BASCO.

Programadora para AVR

2

Page 3: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

Presentacion de Basco

EJERCICIOS DE CONTROL DE PUERTOS

1.- ESCRITURA EN UN PUERTO DEL MICORCONTROLADOR AVR ATMEGA 16

PROBLEMA

Para escribir en un puerto se debe, habilitar mediante el comando DDRX= 255

como salidas y escribir el valor 55Hexagesimal en el puerto D.

ALGORITMO

Inicio: Habilitar el puerto D como salida

Proceso: Escribir 55h en el puerto D

Salida: Visualizar en el puerto D 0L ó 1L al valor 55h por medio de diodos LED

CÓDIGO

'programa 1.1

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16

$crystal = 8000000 'cristal a utilizar 8MHz

Ddrd = 255 'se especifica el puerto D como salida

Config Portd = Output ' se inicializa el puerto D como salida

Do 'inico de un lazo infinito

Portd = &B1010_1010 'se escribe en elpuerto el valor 55h

Loop 'fin de lazo

End

3

Page 4: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

DIAGRAMA DE FLUJOS

Esquemático: Utilizamos el microcontrolaor AVR Atmega16

GRAFICO ANEXO

4

INICIO

Habilitar y escribir el valor 55h en el puerto D como

salida

Visualizar Datos en el puerto D

Page 5: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

2.- ESCRITURA EN UN PUERTO DEL MICORCONTROLADOR AVR ATMEGA 16

PROBLEMA

Escribir el valor 240 en el puerto D.

ALGORITMO

Entrada: Habilitar el puerto D como salida

Proceso: Escribir 240 en el puerto D

Salida: Visualizar en el puerto D 0L ó 1L al valor 240 en base binaria por medio de diodos LED

CÓDIGO

Practica 2

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16

$crystal = 8000000 'cristal a utilizar 8MHz

Ddrd = 255 'se especifica el puerto D como salida

Config Portd = Output ' se inicializa el puerto D como salida

Do 'inico de un lazo infinito

Portd = 240 'se escribe en elpuerto el valor 240

Loop 'fin de lazo

End

5

Page 6: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

Diagrama de Flujos

Esquemático: Utilizamos el Atmega16

GRAFICO ANEXO:

6

INICIO

Habilitar y escribir el valor 240 binario en el puerto D

como salida

Visualizar Datos en el puerto D

Page 7: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

3.- LECTURA Y ESCRITURA EN PUERTOS

PROBLEMA

Para leer en un puerto de un microcontrolador AVR se utiliza el comando PIN,

Además se va ha introducir al uso de variables.

ALGORITMO

Inicio: Habilitar el puerto B como entrada y habilitar el puerto D como salida

Proceso: Defino variables

Salida: visualizar en el puerto D las entradas de B

CÓDIGO

EJERCICIO 3

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16

$crystal = 8000000 'cristal a utilizar 8MHz

Ddrb = 0 'se especifica el puerto B como entradas

Ddrd = 255 'se especifica al puerto D como salida

Config Portd = Output ' se inicializa el puerto D como salida

Config Portb= Input ' se inicializa el puerto B como entrada

Dim A As Byte ' Se define la variable A tipo byte

Do 'inico de un lazo infinito

A= Pinb ' Se lee en la variable A los datos en el Puerto B

Portd=A ' se escribe en el puerto d los datos del puerto B

Loop ' fin de lazo

End ' fin de programa

7

Page 8: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

Diagrama de Flujos

Esquemático

8

INICIO

Habilitar el puerto B como entrada

Visualizar en el puerto B

Habilito el puerto D como salida

Definir la variable A para leer y escribir en el puerto D

Page 9: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

GRAFICO ANEXO:

4.- ESCRIBIR EN UN PIN DEL PUERTO D

PROBLEMA

Escribir en un pin del puerto D

ALGORITMO

Inicio: Habilitar en el puerto D

Proceso: ingresar un valor lógico al pin.

Salida: Visualizo en el pin 2 del puerto D.

CÓDIGO

$regfile = "m16def.dat" 'libreria de trabajo del ATMEGA 16

$crystal = 8000000 'cristal a utilizar 8MHz

Ddrd = 255 'se especifica el puerto D como salida

Config Portd = Output ' se inicializa el puerto D como salida

Portd = 0

Do 'inico de un lazo infinito

Portd.1 = 1

Loop 'fin de lazo

End

9

Page 10: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

Diagrama de Flujos

Esquemático:

GRAFICO ANEXO:

CONCLUSIONES

10

INICIO

Habilito el puerto D como salida y escribo el valor

Visualización de Datos en pin1 del puerto D

Page 11: Informe AVR ATMEGA16

SISTEMAS MICROPROCESADOS 1 UPS

La programación para microcontroladores AVR ATMEGA 16 AVR no es muy

compleja al momento de utilizar y controlar los puertos se logro entender

mejor el funcionamiento de algunos códigos y poder comprobar que los

algoritmos básicamente son como lo de los PIC y muchas de sus

operaciones son casi iguales

Los programas de AVR se los realizo en un software llamado Bascom.

BIBLIOGRAFÍA

Hoja de prácticas de microcontroladores AVR proporcionados por el Ing. Luis

Oñate.

11