Autor Tema: Ayuda con para poner a andar un LCD  (Leído 2312 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ariel77.-

  • PIC10
  • *
  • Mensajes: 8
Ayuda con para poner a andar un LCD
« en: 08 de Junio de 2005, 14:09:00 »
Hola amigos, como estan?
Les comento mi situación, tengo un Lcd PC1602-L y he probado de todo para ponerlo andar y no lo consigo, lo unico que logro son cuadrados negros en todo el display. Les comento que uso el Pbp 2.40 y no se si es un tema de que este tipo de lcd no lo puedo controlar con el Pbp o que?
Ademas de esto uso el 16f84a  y el programa es muy sencillo  así que no creo que sea eso. De todos modos lo adjunto. Les pido si por favor me pueden dar una manito con esto. Bueno saludos y gracias.

define osc 4
define lcd_dreg portb
define lcd_rsreg porta
define lcd_rsbit 0
define lcd_ereg porta
define lcd_ebit 2
define lcd_bits 8
define lcd_lines 2


    Pause 500       " Wait for LCD to startup

loop:   Lcdout $fe, 1   " Clear LCD screen
        Lcdout $fe, 2
   Lcdout "Hello"  " Display Hello
        Pause 500       " Wait .5 second

        Lcdout $fe,$c0
        Lcdout "World"
        Pause 500       " Wait .5 second

        Goto loop       " Do it forever
 

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1685
    • winpic800
RE: Ayuda con para poner a andar un LCD
« Respuesta #1 en: 08 de Junio de 2005, 15:00:00 »
Ejemplo:

Foto
w w w.monografias.com/trabajos11/infcinc/Image787.gif

Y configuraciom si no me herrado .


Codigo:

DEFINE LCD_DREG PORTB  " port de Data LCD
DEFINE LCD_DBIT 0      " datos LCD comenzando en BIT 0 o 4 "estos deven estar consecutivos"
DEFINE LCD_RSREG PORTA " port de selección de registro LCD
DEFINE LCD_RSBIT 0     " BIT de selección de registro LCD "RS"  
DEFINE LCD_EREG PORTA  " port de habilitacion LCD
DEFINE LCD_EBIT 1      " BIT de habilitacion LCD "E"  
DEFINE LCD_BITS 8      " tamaño 4 u 8 de bus de LCD
DEFINE LCD_LINES 2     " numero de lineas en LCD




Puedes configurarlo co 4 bits , asi no usaras tantos pines

http://www.microengineeringlabs.com/resources/pbpmanual/5_32-5_35.htm



Suerte

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Ayuda con para poner a andar un LCD
« Respuesta #2 en: 08 de Junio de 2005, 17:13:00 »
Creo que tu problema es el contraste.

Hay dos pines que deben ir a un potenciómetro paraajustar el contraste. debes girar hasta conseguir que se lea bien el carácter.

Saludos,
Ricky

Desconectado ariel77.-

  • PIC10
  • *
  • Mensajes: 8
RE: Ayuda con para poner a andar un LCD
« Respuesta #3 en: 10 de Junio de 2005, 13:53:00 »
Estimado Ricky no es un problema de  contraste, dado que coloque un potenciometro de 20K en la pin 3 del Lcd , pero lo único que consigo es modificar el contraste de los cuadrados.
Es posible que este tipo de lcd no sea compatible con el pbp o el Pic ?
Espero que alguno de ustedes me extienda una mano.
Saludos y gracias.
César de Uruguay.

Desconectado Lager.

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 477
RE: Ayuda con para poner a andar un LCD
« Respuesta #4 en: 10 de Junio de 2005, 23:36:00 »
Ariel77,
El controlador que usa tu LCD es el estandar y es compatible con la mayoria de los compiladores: HD44780
Pienso que podria ser el problema o la inicializacion o el conexionado.... solo seria cosa de revizar el hardware
Aqui estan los pines: http://www.geocities.com/p9019/lcd.html

Salu2 Sonrisa

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Ayuda con para poner a andar un LCD
« Respuesta #5 en: 23 de Junio de 2005, 00:10:00 »
HOLA BUENO NO SE SI LAS LINEAS QUE VOY A PONER A CONTINUACIÓN TE SIRVAN DE ALGO, PERO TE CUENTO QUE ALGO RARO SUCEDE CON EL PBP Y LOS LCD (POR ESO ESTOY MIGRANDO AL PROTON) PUES SI NO CAMBIAS LA CONFIGURACIÓN DE LOS PUERTOS (DEFINE) EL LCD TE DA PROBLEMAS, YO TE RECOMIENDO QUE UTILICES TODO EL PUERTO B PARA EL LCD..

ASI LO HE HECHO YO Y NO ME HA DADO PROBLEMAS, NO USO EL 16F84 SINO EL 16F628A, PERO LA CONFIGURACION DEL PUERTO B TE PUEDE SERVIR..

ACA ESTAN LAS LINEAS

" Set LCD Data port
DEFINE LCD_DREG PORTB
" Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 4
" Set LCD Register Select port
DEFINE LCD_RSREG PORTB
" Set LCD Register Select bit
DEFINE LCD_RSBIT 2
" Set LCD Enable port
DEFINE LCD_EREG PORTB
" Set LCD Enable bit
DEFINE LCD_EBIT 3
" Set LCD bus size (4 or 8 bits)
DEFINE LCD_BITS 4
" Set number of lines on LCD
DEFINE LCD_LINES 2
" Set command delay time in us
DEFINE LCD_COMMANDUS 2000
" Set data delay time in us
DEFINE LCD_DATAUS 50

LUEGO DE ESTO SI EL PROGRAMA CON UN PAUSE DE 200MS ANTES DE INICIALIZAR EL LCD...

ESPERO QUE TE SIRVA, CON TODO TENGO SUBIDOS ALGUNOS EJEMPLOS DE SIMULACION DE LCD Y MICROS EN LOS EJEMPLOS PARA SIMULAR EN PROTEUS, TE REPITO QUE TODOS LOS EJEMPLOS SON ESCRITOS CON PBP...

BUENO ESPERO QUE TE SIRVA....

SALUDOS DESDE ECUADORRebotado
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado ognat

  • PIC10
  • *
  • Mensajes: 9
RE: Ayuda con para poner a andar un LCD
« Respuesta #6 en: 29 de Julio de 2005, 18:19:00 »
hola a todos.....una pregunta...como podriamos hacer para en vez de visualizar el voltaje con el 7107...y cuatro led-disp,hacerlo con un pic que contenga puertos analagicos y conversion A/D, como el pic 16F877...y un lcd de 2x16....

estoy tratando de hacerlo andar...pero no logro una rutina (en picbasic) para obtener un voltaje con 1 o 2 decimales, me los redondea en 2 digitos, y no tiene una mediad precisas, me han dicho que tengo que usar un voltaje de referencia....y apartir de ahi....desarrollar un algoritmo de medida ----.....como podria hacer?....

tienen alguna idea?....

desde ya muchas gracias.......

Buenos Aires - Argentina

Desconectado navi84

  • PIC10
  • *
  • Mensajes: 14
RE: Ayuda con para poner a andar un LCD
« Respuesta #7 en: 12 de Agosto de 2005, 12:42:00 »
En eso yo no te puedo ayudar, los ADC se cruzan....

De todas formas si alguien me explica como muevo el cursor del LCD a una posicón dada, sin ir saltando uno a uno Rebotado . Por ejemplo para irse a la posicion 1 de la fila 2 utilizo el comando  lcdout  $fe,$c0 pero ¿por que valores substituyo $C0 para irme a otra posicion?

Gracias de antemano

Desconectado sebastianvera

  • PIC10
  • *
  • Mensajes: 37
RE: Ayuda con para poner a andar un LCD
« Respuesta #8 en: 12 de Agosto de 2005, 15:27:00 »
hola! $c0 o 192 decimal si mal no me acuerdo es el 1er caracter de la segunda linea

193 o $c1 va a ser el segundo y asi para adelante

Desconectado navi84

  • PIC10
  • *
  • Mensajes: 14
RE: Ayuda con para poner a andar un LCD
« Respuesta #9 en: 13 de Agosto de 2005, 01:17:00 »
Gracias, eso es cierto, lo e buscado bien y las direcciones son:

$FE, 2          inicio primera linea
$FE, $C0      inicio segunda linea
$FE, $94         "     tercera     "
$FE, $D4         "     cuarta      "
 
he estado probando y hago lo que pone en el manual del PBPro, para irme a la 4ª posicion de la 2ª linea lcdout $FE,$C0 + 3 (3 porque arranca en la primera Sonrisa Gigante). El tema es que eso me vale pero quisiera saber si puedo conocer de antemano las posiciones porejemplo de una LCD 4x20 o 2x40 ya que segun tengo entendido no estan ordenadas.