Sei sulla pagina 1di 24

Universidad Politécnica Salesiana

Sistemas Micro procesados

6to nivel

Ing. Electrónica

Jimmy Andrade
Santiago Maldonado
Armando Alomoto

Practica de Avrs
2
Universidad Politecnica Salesiana

Sistemas Micro procesados I

Informe practica de avrs 2

Integrantes

Jimmy Andrade

Santiago Maldonado

Armando Alomoto

Objetivos

Entender y comprender tanto teóricamente como prácticamente como se utiliza


avr con LCD.

Desarrollo

Para la practica utilizaremos el atmega 164p

Esquema del atmega 164p

Problema 1

Utilizando el esquema dado en clases armar el circuito y programar en


mikrobasic el ejercicio.

Utilizando un LCD 16*2 mostrar en la pantalla la palabra”hola”

Para una mejor transición de los datos se utilizara un cristal de 8 M Hz


Algoritmo

1. Lo que primero hacemos es configurar el programa Bascom para utilizar


la Lcd 16*2.

2. Colocamos el cristal a utilizar en este caso 8 M HZ


3. Configuramos el puerto D como Salidas
4. Configuro la LCD
5. Configuro los pines del Lcd en todo el puerto D
6. Escribimos la palabra Hola
7. Finalizamos.

Código

$regfile = "m164pdef.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
Diagramas de Flujos

Inicio

Cofiguramos el programa bascom

Configuramos el puerto D como


salidas.

Configuro la LCD 16*2

Escribimos la paladra hola en la


LCD

finalizamos.

Diagrama esquematico (proteus)


Simulación

Foto tomada en el laboratorio


Problema 2

Ahora utilizaremos las dos líneas del lcd

Escribiremos ingeniería y electrónica.

Para una mejor transmcion de los datos se utilizara un cristal de 8 M Hz

Algoritmo

1. Colocamos el cristal a utilizar


2. Configuramos el puerto B y C como salidas
3. Configuramos la LCD
4. Borramos la pantalla
5. Colocamos INGENIERIA primera línea
6. Colocamos ELECTRONICA en la segunda línea
7. Finalizamos

Código

$regfile "m164pdef.dat"

$crystal = 8000000

Config Portb = 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

Diagrama de Flujo

Inicio

Configuramos el programa

Configuramos el puerto B y C
como salidas

Configuramos la LCD

Borramos la pantalla

Escribimos en la primera línea

INGENIERIA

Escribimos en la sgunda línea

ELECTRONICA

Finalizamos
Simulación y diagrama esquematico

Foto tomada en el laboratorio


Problema 3

Ahora haremos que se desplace un texto en la lcd

Utilizando el programa entregado en clase

Para una mejor transmcion de los datos se utilizara un cristal de 8 M Hz

Algoritmo

1. Configuramos el programa bascom


2. Colocamos el cristal que vayamos a utilizar
3. Creamos la variable I con un rango de 255
4. Configuro el puerto B y C como salidas
5. Configuro la LCD
6. Borramos la pantalla
7. Hacemos un for para 10 repeticiones a la izquierda y 10 a la derecha
8. Finalizamos.

Código

$regfile "m164pdef.dat"

$crystal = 8000000

Dim I As Byte

Config Portb = 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

Do

Lcd " HOLA"

For I = 1 To 20

Shiftlcd , Right

Waitms 200

Next

For I = 1 To 10

Shiftlcd , Left

Waitms 200

Next

Loop

End

Diagrama de flujo

inicio

Configuramos el programa

Creamos I as byte

Configuramos puerto B y C como


salidas

Configuramos la LCD

For I=1 to 10

Shinfled, right

Waitms 200

Mover izquierda
For I=1 to 10

Shinfled, right
For I=1 to 10
Waitms 200
Shinfled, right
Mover derecha
Waitms 200

Finalizamos

Simulación y diagrama esquemantico

Foto tomada en el laboratorio


Problema 4

Ahora utilizaremos los comandos generales del lcd

Utilizaremos los esquemas dados en clase

Para una mejor transmcion de los datos se utilizara un cristal de 8 M Hz


Algoritmo

1. Configuramos el programa
2. Configiuramos el puerto c como salida
3. Configuramos la Lcd
4. Borramos el lcd
5. Colocamo las instrucciones
6. Finalizamos

Código :

$regfile "m164pdef.dat"

$crystal = 8000000

Config Portb = 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

Do

Locate 2 , 1

Lcd "*"

Wait 1

Shiftcursor Rigth

Lcd "@"

Wait 1

Home Upper

Lcd "Remplazo."

Wait 1

Cursor On Off Noblink

Wait 1
Cursor On On Blink

Wait 1

Display Off

Wait 1

Display On

Loop

End

Diagramas de flujo
inicio

Configuramos el programa

Configuramos puerto B y C como


salidas

Configuramos el LCD

Colocamos en el lcd * y @

Esperamos un segundo

Colocamos reemplazo en el
LCD

Prendemos el display

Apagamos el display

finalizamos

Simulación y diagrama esquematico


Foto tomada en el laboratorio
Problema 5

Ahora realizaremos un programa que nos permite ver los caracteres que puede
generar el LCD

Utilizaremos el esquema dado en clase

Para una mejor transmisión de los datos se utilizara un cristal de 8 M Hz

Algoritmo

1. Configuramos el programa
2. Creamos I as byte
3. Configuramos el puerto B y C como salidas
4. Configuramos la LCD
5. Borramos la pantalla
6. Realizamos un for para repeticones de 1 a 255
7. Colocamos el LCD chr(i) para mostrar los caracteres
8. Led carácter #
9. Esperamos 100
10. terminamos

Código

$regfile = "m164pdef.dat"

$crystal = 8000000
Dim I As Byte

Config Portb = 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

Do

For I = 1 To 255

Cls

Locate 1 , 1

Lcd Chr(i)

Locate 2 , 1

Lcd "caracter #" ; 1

Waitms 100

Next

Loop

End
Diagrama de flujos

inicio

Configuramos el programa

Configuramos puerto B y C como


salidas

Configuramos el LCD

Borramos la lcd

For I = 1 To 255

Cls

Locate 1 , 1

Lcd Chr(i)

Locate 2 , 1

Lcd "caracter #" ; 1

Waitms 100

Colocamos reemplazo en el
LCD

finalizamos
Simulación y diagrama esquematico

Foto tomada en el laboratorio


Problema 6

Ahora vamos a utilizar el LCD designer para hacer un grafico en el LCD

Utilizaremos el esquema dado en clase

Para una mejor transición de los datos se utilizara un cristal de 8 M Hz

Algoritmo

1. Configuro el programa
2. Creamos el dibujo en el LCD designer en el programa bascom

3.-Configuramos el cristal

4.-Creamos star as Byte

5.-Configuro la LCD
6.-Creo un for para star de 0 a 5 step 1

7.-Mostramos el chr como char

8 .-finalizamos

código

$regfile = "m164pdef.dat"

$crystal = 8000000

$sim

Config Portd = Output

Dim Star As Byte

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

Cursor Off

Deflcdchar 0 , 32 , 4 , 4 , 31 , 4 , 4 , 32 , 32

Deflcdchar 1 , 32 , 2 , 20 , 14 , 5 , 8 , 32 , 32

Deflcdchar 2 , 32 , 2 , 26 , 4 , 11 , 8 , 32 , 32 ' replace ? with number (0-7)

Deflcdchar 3 , 32 , 17 , 10 , 4 , 10 , 17 , 32 , 32 ' replace ? with number (0-


7)

Deflcdchar 4 , 32 , 8 , 11 , 4 , 26 , 2 , 32 , 32 ' replace ? with number (0-7)

Deflcdchar 5 , 32 , 8 , 5 , 14 , 20 , 2 , 32 , 32 ' replace ? with number (0-7)

Cls

Do

For Star = 0 To 5 Step 1

Portd = 255

Wait 1

Locate 1 , 16

Lcd Chr(star)

Wait 1
Next Star

Loop

End

Diagrama de flujos
inicio

Configuramos el programa

Configuramos puerto B y C como


salidas

Configuramos el LCD

Creamos el dibujo

Cursor Off

Deflcdchar 0 , 32 , 4 , 4 , 31 , 4 , 4 , 32 , 32

Deflcdchar 1 , 32 , 2 , 20 , 14 , 5 , 8 , 32 , 32

Deflcdchar 2 , 32 , 2 , 26 , 4 , 11 , 8 , 32 , 32 ' replace ?


with number (0-7)

Deflcdchar 3 , 32 , 17 , 10 , 4 , 10 , 17 , 32 , 32 ' replace


? with number (0-7)

Deflcdchar 4 , 32 , 8 , 11 , 4 , 26 , 2 , 32 , 32 ' replace ?


with number (0-7)

Deflcdchar 5 , 32 , 8 , 5 , 14 , 20 , 2 , 32 , 32 ' replace ?


with number (0-7)

Do

For Star = 0 To 5 Step 1

Portd = 255

Wait 1

Locate 1 , 16

Lcd Chr(star)

Wait 1

Next Star

finalizamos
Simulación y Diagrama esquemático

Foto tomada en el laboratorio


Bibliografía

Hojas entregadas por el Ing. Luis Oñate en clase

http://www.google.es/imgres?imgurl=http://circuits.datasheetdir.com/18/ATMEG
A16-pinout.jpg&imgrefurl=http://www.datasheetdir.com/ATMEGA16-
16PU%2BAVR-
microcontrollers&h=314&w=326&sz=22&tbnid=jmD7k0yGCHYwAM:&tbnh=114&t
bnw=118&prev=/images%3Fq%3Datmega16&zoom=1&q=atmega16&hl=es&usg=
__ZHsWjphH0YAUvpX4VfnEeWUxIvc=&sa=X&ei=VikJTfrvH4-
p8Ab24KCfAQ&ved=0CDMQ9QEwAw

http://www.datasheetcatalog.net/es/datasheets_pdf/A/T/M/E/ATMEGA16.shtml