Top Banner
UNIVERSIDAD POLITÉCNICA SALESIANA DEPARTAMENTO DE ELECTRÓNICA LABORATORIO DE sistemas Microprocesados PRACTICA No. 2 CONTROL DE puertos Escritura en puertos del microcontrolador atmel avr SEXTO ELECTRÓNICA Integrantes: LENIN VELASQUEZ DIEGO DUQUE JONATHAN ECHEVERRÍA
17

PROYECTOS EN MICROCONTROLADORES AVR

Apr 07, 2015

Download

Documents

Leninlmv
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PROYECTOS EN MICROCONTROLADORES AVR

UNIVERSIDAD POLITÉCNICA SALESIANA

DEPARTAMENTO DE ELECTRÓNICA

LABORATORIO DE sistemas

Microprocesados

PRACTICA No. 2

CONTROL DE puertos

Escritura en puertos del

microcontrolador atmel avr

SEXTO ELECTRÓNICA

Integrantes:

LENIN VELASQUEZ

DIEGO DUQUE

JONATHAN ECHEVERRÍA

Page 2: PROYECTOS EN MICROCONTROLADORES AVR

OBJETIVOS:

Familiarizarse con el uso de AVRS.

Utilizar los puertos del microcontrolador pic, como interface digital al

mundo exterior.

MATERIALES:

Se realizo el amplificador inversor en el cual se necesitaba:

8 Leds

8 Resistencia 330

9 Resistencia 10 k

2 Capacitores de 33pF

1 Pulsador normalmente abierto

1 Cristal 8 MHz

1 Dipswitch

1 ATMEGA16

MARCO TEÓRICO:

Las características del ATMEGA16 podemos encontrar como ya sabemos en

los datasheet para poder saber las diferentes conexiones de este

Microcontrolador AVR.

A continuación mostraremos los circuitos realizados a los circuitos ya

funcionando.

Podremos observar algún margen de error que es muy común en prácticas de

laboratorio.

Page 3: PROYECTOS EN MICROCONTROLADORES AVR

PROGRAMA 1:

Este programa escribe el valor 55 hexagesimal en el puerto D.

Regfile "m16def.dat" 'Libreria de trabajo del ATMEGA16 $crystal = 8000000 'Cristal a utilizar 8000000 MHz Ddrd = 255 'Se especifica el puerto D como salida Congig Portd = Output 'Se inicializa el puerto D como salida Do 'Inicio de un lazo infinito Portd = &B1010_1010 'Se escribe en el puerto el valor 55 hexagesimal Loop 'Fin de lazo End 'Fin de programa

SIMULACIÓN:

Page 4: PROYECTOS EN MICROCONTROLADORES AVR

FLUJO GRAMA:

Inicio

Configurar

puerto D

como salida

Portd=&B1010_1010

Escribir en el puerto D

en forma Binaria el

valor&B1010_1010

Page 5: PROYECTOS EN MICROCONTROLADORES AVR

PROGRAMA 2:

Se cambia el valor $1010_1010 por el siguiente numero decimal portd=

240.

$Regfile "m16def.dat" 'Libreria de trabajo del ATMEGA16 $crystal = 8000000 'Cristal a utilizar 8000000 MHz

Ddrd = 255 'Se especifica el puerto D como salida Congig Portd = Output 'Se inicializa el puerto D como salida Do 'Inicio de un lazo infinito Portd = &240 'Se escribe en el puerto el valor 55 hexagesimal Loop 'Fin de lazo End 'Fin de programa SIMULACIÓN:

Page 6: PROYECTOS EN MICROCONTROLADORES AVR

FLUJO GRAMA:

Inicio

Configurar

puerto D

como salida

Portd=&240

Escribir en el puerto D

en forma Decimal el

valor&240

Page 7: PROYECTOS EN MICROCONTROLADORES AVR

PROGRAMA 3:

Se escribe en un pin del puerto D.

Regfile "m16def.dat" 'Libreria de trabajo del ATMEGA16 $crystal = 8000000 'Cristal a utilizar 8000000 MHz Ddrd = 255 'Se especifica el puerto D como salida Config Portd = Output 'Se inicializa el puerto D como salida Portd = 0 Do 'Inicio de un lazo infinito Portd.1 = 1 'Se escribe en el puerto el valor 55 hexagesimal Loop 'Fin de lazo End 'Fin de programa SIMULACIÓN:

Page 8: PROYECTOS EN MICROCONTROLADORES AVR

FLUJO GRAMA:

Inicio

Configurar

puerto D

como salida

Portd.1=1

Escribir en el puerto D

Page 9: PROYECTOS EN MICROCONTROLADORES AVR

PROGRAMA 4:

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

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

$regfile "m16def.dat"

$crystal = 8000000

Ddrb = 0 'Se especifica el puerto B como

entrada

Ddrd = 255 'Se especifica el puerto D como

salida

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

Config Portb = Input 'Se inicializa el puerto B como salida

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

Do 'Inicio de un lazo infinito

A = Pinb 'Se lee en la variable A los datos

escritos en el puerto B

Portd = A 'Se escribe en el puerto D los datos

leidos en el puerto B

Loop 'Fin del lazo

End

SIMULACIÓN:

Page 10: PROYECTOS EN MICROCONTROLADORES AVR

FLUJO GRAMA:

Inicio

Configurar puerto

D como salida y el

puerto B como

entrada

Variable A as bit

Portd=A

Page 11: PROYECTOS EN MICROCONTROLADORES AVR

PROGRAMA 5:

Se comprueba las funciones lógicas and, or, xor y not.

$regfile "m16def.dat" $crystal = 8000000 Ddrb = 0 'Se especifica el puerto B como entrada Ddrd = 255 'Se especifica el puerto D como salida Config Portd = Output 'Se inicializa el puerto D como salida Config Portb = Input 'Se inicializa el puerto B como salida Dim A As Bit , B As Bit , C As Bit , D As Bit 'Se define la variables A,B,C,D tipo bit Do 'Inicio de un lazo infinito 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 'Fin del lazo End

SIMULACIÓN:

Page 12: PROYECTOS EN MICROCONTROLADORES AVR
Page 13: PROYECTOS EN MICROCONTROLADORES AVR

FLUJO GRAMA:

Inicio

Configurar puerto

D como salida y el

puerto B como

entrada

Variable A,B,C,D as

byte

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

Page 14: PROYECTOS EN MICROCONTROLADORES AVR

PROGRAMA 6:

Se comprueba las funciones lógicas and, or, xor y not. Ejercicio

propuesto (A AND B)OR(NOT C)

A B C (AB) (NOT C) (AB)OR(NOTC)

0 0 0 0 1 1

0 0 1 0 0 0

0 1 0 0 1 1

0 1 1 0 0 0

1 0 0 0 1 1

1 0 1 0 0 0

1 1 0 1 1 1

1 1 1 1 0 1

$regfile "m16def.dat" $crystal = 8000000 Ddrb = 0 'Se especifica el puerto B como entrada Ddrd = 255 'Se especifica el puerto D como salida Config Portd = Output 'Se inicializa el puerto D como salida Config Portb = Input 'Se inicializa el puerto B como salida Dim A As Bit , B As Bit , C As Bit , D As Bit , F As Bit , E As Bit ' „Se define la variables A,B,C,D,E,F tipo bit Do 'Inicio de un lazo infinito A = Pinb.0 B = Pinb.1 C = Pinb.2 D = A And B F = Not C E = D Or F Portd.1 = E Loop 'Fin del lazo End

Page 15: PROYECTOS EN MICROCONTROLADORES AVR

SIMULACION:

Page 16: PROYECTOS EN MICROCONTROLADORES AVR

FLUJO GRAMA:

CONCLUSIONES:

Aprendimos la utilización del equipo para uso de los microcontroladores

AVRs.

Utilizamos prácticamente los periféricos de entrada y salida de los

microcontroladores.

Vimos la práctica de la entrada de puertos y la respuesta en la salida.

Inicio

Configurar puerto

D como salida y el

puerto B como

entrada

Variable A,B,C,D,E,F

as byte

A = Pinb.0 B = Pinb.1 C = Pinb.2 D = A And B F = Not C E = D Or F Portd.1 = E

Page 17: PROYECTOS EN MICROCONTROLADORES AVR

BIBLIOGRAFÍA:

Enlace realizado desde Google: “datasheet ATMEGA16”, fecha de

enlace: 05/Septiembre/2010, enlace web:

http://www.datasheetcatalog.org/datasheet/fairchild/ATMEGA16.pdf

Información otorgada por el Ing. Luis Oñate Universidad Politécnica

Salesiana.

Microcontroladores PIC Programación en Basic, Segunda Edición 2006,

Carlos A. Reyes