proyectos en microcontroladores avr
TRANSCRIPT
![Page 1: PROYECTOS EN MICROCONTROLADORES AVR](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/8.jpg)
FLUJO GRAMA:
Inicio
Configurar
puerto D
como salida
Portd.1=1
Escribir en el puerto D
![Page 9: PROYECTOS EN MICROCONTROLADORES AVR](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/12.jpg)
![Page 13: PROYECTOS EN MICROCONTROLADORES AVR](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/15.jpg)
SIMULACION:
![Page 16: PROYECTOS EN MICROCONTROLADORES AVR](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022012307/552595a54a79599d488b4c7f/html5/thumbnails/17.jpg)
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