Anda di halaman 1dari 15

UNIVERSIDAD POLITÉCNICA SALESIANA

CARRERA DE INGENIERÍA ELECTRÓNICA


LABORATORIO DE SISTEMAS
MICROPROCESADOS i

PRACTICA No. 2 DE AVR

Presentaciones por medio de lcd

SEXTO ELECTRÓNICA – GRUPO #1

Integrantes:

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"

$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"

$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 de texto (ups) en una LCD.

Programa:

$regfile "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 = Shiftlcd , Right


Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E =
Portd.0 , Rs = Portd.1 Waitms 3000

Cls Next

Do Loop

Lcd "UPS" End

Fotos:
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" Lcd "*" Wait 1

$crystal = 8000000 Wait 1 Cursor On Blink

Config Portd = Output Shiftcursor Right Wait 1

Config Portc = Output

Config Lcd = 16 * 2 Lcd "@" Display Off

Config Lcdpin = Pin , Db4 Wait 1 Wait 1


= Portd.4 , Db5 = Portd.5 ,
Db6 = Portd.6 , Db7 = Home Upper Display On
Portd.7 , E = Portd.0 , Rs = Lcd "Remplazo" Loop
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


puerto

Dar una espera

Muestrear
en display.

Fin
5. Caracteres generados por una LCD.

Programa:

$regfile "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 = Waitms 200


Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E =
Portd.0 , Rs = Portd.1 Next

Cls Loop

Do End

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

$regfile "m16def.dat" replace ? with number (0- For Star = 0 To 5 Step 1


7)
$crystal = 8000000 Portd = 255
Deflcdchar 1 , 32 , 2 , 20 ,
$sim 14 , 5 , 8 , 32 , 32 ' Waitms 100

Config Portd = Output replace ? with number (0-


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


4 , 10 , 17 , 32 , 32
Config Lcdpin = Pin , Db4 Lcd Chr(star)
= Portd.4 , Db5 = Portd.5 , Deflcdchar 4 , 32 , 8 , 11 ,
Db6 = Portd.6 , Db7 = Waitms 200
4 , 26 , 2 , 32 , 32
Portd.7 , E = Portd.0 , Rs = Next Star
Portd.1 Deflcdchar 5 , 32 , 8 , 5 ,
14 , 20 , 2 , 32 , 32 Loop
Cursor Off
Cls End
Deflcdchar 0 , 32 , 4 , 4 ,
31 , 4 , 4 , 32 , 32 ' Do

Fotos:
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, enlace: http://www.atmel.com/

 Enlace realizado desde Google: “atmega16”, fecha de enlace: 08/Diciembre/2010,


enlace 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:http://www.atmel.com/dyn/resources/prod_documents/2466S.pdf

Anda mungkin juga menyukai