PROYECTOS EN MICROCONTROLADORES AVR

17
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

Transcript of PROYECTOS EN MICROCONTROLADORES AVR

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