PRACTICA No. 2 DE AVR
SEXTO ELECTRÓNICA – GRUPO #1
DIEGO DUQUE JONATHAN ECHEVERRÍA LENIN VELASQUEZ
OBJETIVOS: 1. Trasladar un programa a un circuito para poder apreciar lo que programamos. 2. Utilizar los pines del puerto tanto como entrada como salida según el programa que vayamos a realizar.
3. Observar el funcionamiento del nuestro circuito y darse cuenta de las diferencias existentes entre una simulación y lo real.
MARCO TEÓRICO: Las características del atmega 16 podemos encontrar como ya sabemos en los datasheet para poder saber las diferentes conexiones de este micro y los limites que tiene el mismo.
A continuación mostraremos los circuitos realizados a los circuitos ya funcionando.
PROCEDIMIENTO: Problemas:
1. Por medio de un LCD mostrar el mensaje hola en la línea superior del display a utilizar. Programa: $regfile "m16def.dat" "m16def.dat" $crystal = 8000000 Config Portd = Output Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Lcd "$HOLA" End
Fotos:
Simulación:
Flujograma:
Inicio
Configurar el puerto
Enviar datos por el puerto
Muestrear en la LCD.
Fin
2. Por medio de un LCD mostrar en doble línea el mensaje ingeniería electrónica. Programa: $regfile "m16def.dat" "m16def.dat" $crystal = 8000000 Config Portd = Output Config Portc = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Cls Lcd "INGENIERIA" Lowerline Lcd "ELECTRONICA" End
Fotos:
Simulación:
Flujograma:
Inicio
Configurar el puerto
Enviar datos por el puerto
Muestrear en doble línea en la LCD.
Fin
3. Desplazamiento Desplazamiento de texto (ups) en una LCD. Programa: $regfile "m16def.dat" "m16def.dat"
For I = 0 To 10
$crystal = 8000000
Shiftlcd , Right
Config Portd = Output
Waitms 3000
Config Portc = Output
Next
Config Lcd = 16 * 2 Dim I As Byte
For I = 0 To 10
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E =
Shiftlcd , Right
Portd.0 , Rs = Portd.1 Cls Do Lcd "UPS"
Fotos:
Waitms 3000 Next Loop End
Simulación:
Flujograma:
Inicio
Configurar el puerto
Enviar datos por el puerto
Dar tiempo en segundos
Muestrear en la LCD.
Fin
4. Por medio de un LCD mostrar en doble línea un texto y comandos. Programa: $regfile "m16def.dat" "m16def.dat"
Lcd "*"
Wait 1
$crystal = 8000000
Wait 1
Cursor On Blink
Config Portd = Output
Shiftcursor Right
Wait 1
Config Lcd = 16 * 2
Lcd "@"
Display Off
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 ,
Wait 1
Wait 1
Home Upper
Display On
Lcd "Remplazo"
Loop
Config Portc = Output
Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1
End Cls Wait 1 Do Cursor Off Noblink Locate 2 , 1
Fotos:
Simulación:
Flujograma: Inicio
Configurar el puerto
Enviar datos por el uerto
Dar una espera
Muestrear en display.
Fin
5. Caracteres generados generados por una LCD. Programa: $regfile "m16def.dat" "m16def.dat"
For I = 1 To 255
$crystal = 8000000
Cls
Config Portd = Output
Locate 1 , 1
Config Portc = Output
Lcd Chr(i)
Config Lcd = 16 * 2
Locate 2 , 1
Dim I As Byte
Lcd "caracter#"
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E =
Waitms 200
Portd.0 , Rs = Portd.1 Cls Do
Fotos:
Next Loop End
Simulación:
Flujograma:
Inicio
Configurar el puerto
Enviar datos por el puerto, cambiar de caracter
Dar tiempo en segundos
Muestrear en la LCD.
Fin
6. Rotación de un proceso con un caracter y mostrar en una LCD. Programa: replace ? with number (0-
$regfile "m16def.dat" "m16def.dat"
7)
$crystal = 8000000
Portd = 255
Deflcdchar 1 , 32 , 2 , 20 ,
$sim
14 , 5 , 8 , 32 , 32
For Star = 0 To 5 Step 1
'
Waitms 100
replace ? with number (0-
Config Portd = Output
7) Dim Star As Byte
Portd = 0 Deflcdchar 2 , 32 , 2 , 26 ,
Config Lcd = 16 * 2
4 , 11 , 8 , 32 , 32
Waitms 200
Dim I As Byte
Deflcdchar 3 , 32 , 17 , 10 ,
Locate 1 , 16
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 ,
4 , 10 , 17 , 32 , 32 Deflcdchar 4 , 32 , 8 , 11 ,
Db6 = Portd.6 , Db7 =
4 , 26 , 2 , 32 , 32
Portd.7 , E = Portd.0 , Rs = Portd.1
Deflcdchar 5 , 32 , 8 , 5 ,
Lcd Chr(star) Waitms 200 Next Star
14 , 20 , 2 , 32 , 32
Loop
Cls
End
Cursor Off Deflcdchar 0 , 32 , 4 , 4 , 31 , 4 , 4 , 32 , 32
Fotos:
'
Do
Simulación:
Flujograma: Inicio
Configurar el puerto
Enviar datos por el puerto para la rotación
Dar una espera
Muestrear en display.
Fin
CONCLUSIONES: 1. Pudimos programar lo que hicimos anteriormente con pics ahora con atmega en nuestro caso con el ATMEL 16, así poder tener en cuenta que lo que realizamos no solo se basa en pics sino en otros diferentes tipos de lenguaje.
2. Al obtener los resultados de lo que nos muestrea el circuito por la LCD nos podemos dar cuenta que se necesita de diferentes tipos de respaldos realizados desde anteriores programaciones que realizamos.
3. Pudimos controlar los textos que queríamos que salieran así como desplazamientos y muestreo de caracteres por un tiempo que deseemos.
BIBLIOGRAFÍA: Internet:
Enlace realizado desde la página “ Atmel Corporation”, ATMEL, fecha de enlace:
30/Abril/2010, 30/Abril/2010, enlace: http://www.atmel.com/
Enlace realizado desde Google: “ atmega16”, fecha de enlace: 08/Diciembre/2010,
enlace web: web:http://www.atmel.com/dyn/products/product_card.asp?PN=ATmega16
Enlace realizado desde Google: “atmega16”, fecha de enlace: 08/Diciembre/2010,
enlace web: web:http://www.atmel.com/dyn/resources/prod_documents/2466S.pdf