INFORME 1 AVR

17
INFORME #01 DE AVR’S ERICK PEÑAHERRERA JOSE BUCHELI XAVIER MUÑOZ SEPTIEMBRE - FEBRERO 2011

Transcript of INFORME 1 AVR

Page 1: INFORME 1 AVR

INFORME #01 DE AVR’S

ERICK PEÑAHERRERA JOSE BUCHELI XAVIER MUÑOZ

SEPTIEMBRE - FEBRERO 2011

Page 2: INFORME 1 AVR

DATASHEETS

dsPIC30F4013

Page 3: INFORME 1 AVR

DESARROLLO PRÁCTICO

OBJETIVO: utilizar los puertos del Microcontrolador ATMEL AVR, como interface digital al mundo exterior.

EJERCICIO 1 Atmel 164P AVR

PROBLEMA:

Este programa escribe el valor 55 hexadecimal en el puerto D

ALGORITMO:

Entradas: Numero binario 55h Procesos:

Establecemos el puerto D como Salida.

Guardo el valor 55h en una variable.

Escribir el dato guardado en el puerto D. Salidas: Código binario 55h en el puerto D

DIAGRAMA DE FLUJO

INICIO

Especificar el puerto D como salida

ESCRIBIR EN EL PUERTO D

55(H) – 01010101(2)

Page 4: INFORME 1 AVR

CÓDIGO

Regfile "m164pdef.dat"

$crystal = 800000

Ddrd = 255

Config Portd = Output

Do

Portd = &B1010_1010

Loop

End

ESQUEMÁTICO

S

I

M

U

L

A

C

I

Ó

N

Page 5: INFORME 1 AVR

FOTOS

1. EJERCICIO 2 Atmel 164P AVR

PROBLEMA:

Este programa escribe en un pin del puerto D

ALGORITMO:

Entradas: Valor que escribiremos en un pin del puerto D Procesos:

Especifico el puerto D como salida

Especifico el pin que deseo como salida

Escribimos el valor en el pin seleccionado (pin 1) Salidas: Valor en el pin 1 del puerto D

Page 6: INFORME 1 AVR

DIAGRAMA DE FLUJO

CÓDIGO

Regfile "m164pdef.dat"

$crystal = 8000000

Ddrd = 255

Config Portd = Output

Portd = 0

Do

Portd.1 = 1

Loop

End

ESQUEMÁTICO

INICIO

Especificar el puerto D como salida

Especifico el pin que deseo como salida (Portd.1=1)

Page 7: INFORME 1 AVR

S

I

M

U

L

A

C

I

Ó

N

FOTOS

Page 8: INFORME 1 AVR

2. EJERCICIO 3 Atmel 164P AVR

PROBLEMA:

Para leer en un puerto de un Microcontrolador AVR se utiliza el comando

PIN. Además se va a introducir al uso de las variables

ALGORITMO:

Entradas: Datos del dipswitch a través del Puerto B Procesos:

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 Salidas: Escribir en el puerto D

DIAGRAMA DE FLUJO

INICIO

Defino la variable A

Puerto B como entradas

Puerto D como salida

A = pinb

Portd= A

Page 9: INFORME 1 AVR

CÓDIGO

Regfile "m16def.dat"

$crystal = 800000

Ddrb = 0

Ddrd = 255

Config Portd = Output

Config Portb = Input

Sim A As Byte

Do

A = Pinb

Portd = A

Loop

ESQUEMÁTICO

Page 10: INFORME 1 AVR

S

I

M

U

L

A

C

I

Ó

N

FOTOS

3. EJERCICIO 4 Atmel 164P AVR

PROBLEMA:

Comprobar el uso de las Funciones lógicas, and, or, xor y not

Page 11: INFORME 1 AVR

ALGORITMO:

Entradas: Datos del dipswitch a través del Puerto B

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

Salidas: Escribir en el puerto D

DIAGRAMA DE FLUJO

INICIO

Defino A, B, C, D

Puerto B como entradas

Puerto D como salida

Leo puertos b.0, b.1

Portd.0= A

Leo puertos b.2, b.3

Portd.1= B

Leo puertos b.4, b.5

Portd.2= C

Leo puertos b.6

Portd.3= D

Page 12: INFORME 1 AVR

CÓDIGO

Regfile "m164pdef.dat"

$crystal = 800000

Ddrb = 0

Ddrd = 255

Config Portd = Output

Config Portb = Input

Dim A As Bit , B As Bit , C As Bit , D As Bit

Do

A = Pinb.0 And Pinb.1

Portd.0 = A

B = Pinb.2 Or Pinb.3

Portd.1 = B

C = Pinb.4 Xor Pinb.5

Portd.2 = C

D = Not Pinb.6

Portd.3 = C

Loop

End

ESQUEMÁTICO

Page 13: INFORME 1 AVR

S

I

M

U

L

A

C

I

Ó

N

FOTOS

4. EJERCICIO 5 Atmel 164P AVR

PROBLEMA:

Crear una tabla de la siguiente Función Booleana: (A and B) or (not C)

Page 14: INFORME 1 AVR

Tabla de la función:

ALGORITMO:

Entradas: Datos del dipswitch a través del Puerto B

Procesos: Configuro el Puerto B como Entradas

Configuro el Puerto D como Salidas

Defino las variables A, B, C 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 función And.

En la variable B uso la función Not.

En la variable C realizo la operación Or entre A y B

Escribo la variable C en el pin 0 del puerto D

Salidas: Escribir en el puerto D

DIAGRAMA DE FLUJO

A B C Z 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

INICIO

Defino A, B, C

Puerto B como entradas

Puerto D como salida

A = Pinb.0 And Pinb.1

B = Not Pinb.2

A Or B

Portd.0 = C

Page 15: INFORME 1 AVR

CÓDIGO

Regfile "m164pdef.dat"

$crystal = 800000

Ddrb = 0

Ddrd = 255

Config Portd = Output

Config Portb = Input

Dim A As Bit , B As Bit , C As Bit , D As Bit

Do

A = Pinb.0 And Pinb.1

B = Not Pinb.2

C = A Or B

Portd.0 = C

Loop

End.

ESQUEMÁTICO

Page 16: INFORME 1 AVR

S

I

M

U

L

A

C

I

Ó

N

FOTOS

Page 17: INFORME 1 AVR

CONCLUSIONES

Que el AVR utilizado en esta práctica el Atmega 164p, tienen una capacidad grande para

control de procesos básicos y complejos, aunque en algunos programas ocupan extenso

espacio de memoria es suficiente para la práctica para empezar a conocer sobre AVR.

Que la elaboración de esta práctica nos sirve para comprender un poco más la teoría de los AVR y su aplicación; de ahí la importancia del mismo, pues a través de él se puede apreciar lo interesante que es la programación en nuestra vida cotidiana.

El lenguaje de programación cargado en los AVR se lo realizó a través del Compilador Bascom, debido a que es un lenguaje fácil y rápido de programar, para principiantes en AVR.

BIBLIOGRAFIA

http://www.atmel.com/dyn/resources/prod_documents/doc7674.pdf , datasheet Atmega164p, fecha de

revisión: 09/10/2010.