PICELECTRONICA
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Tutorial de PROTON manejo de LCD

Ir abajo

Tutorial de PROTON manejo de LCD Empty Tutorial de PROTON manejo de LCD

Mensaje  Electrobicho Mar Abr 24, 2012 2:40 pm

Los LCD son indispensables en cualquier proyecto que se tenga en mente, a continuación se dan ejemplos de aplicaciones sencillas, para obtener los conocimientos básicos, el primero de ellos solo muestra una frase “Bienvenidos” y en segunda línea “ProtonBasic”, con un PIC 16F877A y posteriormente con el clásico 16F84A.

Código:
Device = 16F877A

Xtal 4

Declare LCD_Type 0 ‘ Tipo LCD Alpha numérico

Declare LCD_DTPin PORTB.4 ‘ El control B4,B5,B6,B7

Declare LCD_RSPin PORTB.2 ‘ RS pin  B2

Declare LCD_ENPin PORTB.3 ‘ E pin  B3

Declare LCD_Interface 4  ‘ Interface modo 4 bit

 

Cls                      ‘ Limpio LCD

 

inicio:

Print At 1,1, “  Bienvenidos “ ‘ Escribe en la línea 1, espacio 1

Print At 2,2, “  ProtonBasic “  ‘ Escribe en la linea 2 empezando de la segunda celda

DelayMS 50

GoTo inicio

End

Tutorial de PROTON manejo de LCD Nueva-imagen37

Bien ahora como se dijo desde el principio, el uso mas frecuente es de mostrar valores numéricos para ello es muy simple, solo se debe de elegir bien el tipo de dato a escribir, a continuación con un dato entero.

Código:
Device = 16F84A

Xtal 4

Declare LCD_Type 0 ‘ Tipo LCD Alpha numérico

Declare LCD_DTPin PORTB.4 ‘ El control B4,B5,B6,B7

Declare LCD_RSPin PORTB.2 ‘ RS pin  B2

Declare LCD_ENPin PORTB.3 ‘ E pin  B3

Declare LCD_Interface 4  ‘ Interface modo 4 bit

 

Cls                      ‘ Limpio LCD

Dim numero As Byte

numero= 123

inicio:

Print At 1,1, “Numero entero” ‘ Escribe en la línea 1, espacio 1

Print At 2,6,Dec numero  ‘ Escribe el valor decimal de numero, línea 2 celda 6

DelayMS 50

GoTo inicio

End

Tutorial de PROTON manejo de LCD Nueva-imagen38

Pero que tal cuando se presenta un resultado con puntos decimales, como por ejemplo un termómetro con LCD, para ello se utiliza una nueva variable, las del tipo flotante, tal y como la maneja C.
Código:
Device = 16F84A

Xtal 4

Declare LCD_Type 0 ‘ Tipo LCD Alpha numérico

Declare LCD_DTPin PORTB.4 ‘ El control B4,B5,B6,B7

Declare LCD_RSPin PORTB.2 ‘ RS pin  B2

Declare LCD_ENPin PORTB.3 ‘ E pin  B3

Declare LCD_Interface 4  ‘ Interface modo 4 bit

 

Cls                      ‘ Limpio LCD

Dim numero As Float

numero= 123.567

inicio:

Print At 1,1, “Numero Flotante” ‘ Escribe en la línea 1, espacio 1

Print At 2,6,Dec3 numero  ‘ Escribe el valor de numero con 3 con tres cifras significativas

DelayMS 50

GoTo inicio

End

Tutorial de PROTON manejo de LCD Nueva-imagen39

Hay ocasiones que se quiere medir la frecuencia de un circuito, para ello se puede implementar el siguiente código para simular un “Frecuencimetro” , cabe mencionar que no es exacto, ya que solo toma los valores redondeados de los pulsos que recibe a la entrada de un pin especifico, se explican las lineas de manera adecuada, se ve una nueva variable, la de tipo Word, esto por la gran cantidad de números que es capaz de almacenar.

Código:
Device = 16F84A

Xtal 4

TRISA=1    ‘ Porta.0 como entrada

TRISB=0

Declare LCD_Type 0 ‘ Tipo LCD Alpha numérico

Declare LCD_DTPin PORTB.4 ‘ El control B4,B5,B6,B7

Declare LCD_RSPin PORTB.2 ‘ RS pin  B2

Declare LCD_ENPin PORTB.3 ‘ E pin  B3

Declare LCD_Interface 4  ‘ Interface modo 4 bit

Symbol pin=PORTA.0        ‘ Porta.0 se llama “pin”                   

Dim contador As Word    ‘ Variable donde se guarda los pulsos

Cls

inicio:

contador = Counter pin, 1000    ‘Comunter = puerto de entrada, tiempo de lectura (1 S)

Print At 1,1, “Frecuencia: “,Dec contador ‘ Escribe en la línea 1, espacio 1

DelayMS 50

GoTo inicio

End

Tutorial de PROTON manejo de LCD Nueva-imagen40
Electrobicho
Electrobicho
Usario Nuevo
Usario Nuevo

Mensajes : 17
Fecha de inscripción : 20/04/2012
Edad : 35
Localización : Salina Cruz,Oaxaca

http://protonbasic.wordpress.com/

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.