uControl
Septiembre 19, 2014, 04:46:19 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Ingresar Registrarse  

La gente de Niple nos ofrece un descuento especial para usuarios de uControl.
Entérate de como puedes aprovechar esta oferta haciendo click aqui.

Súmate, y ayuda a uControl con tu participación en esta interesante oportunidad que nos oferece Niple.

Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Problema con despliege por LCD en mikrobasic pro  (Leído 5563 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Mando31
Amigo de uControl
PIC12F
******
Desconectado Desconectado

Sexo: Masculino
Mensajes: 336



WWW
« : Noviembre 20, 2009, 06:39:04 »

hola recien empiezo a programar en basic, ya que antes lo hacia en C, solo empeze ahora con basic para comparar y aprender otro lenguaje, el problema que tengo es que no puedo visualizar nada por el LCD segun la ayuda del mikrobasic pro el codigo esta bien escrito incluso no recibo ningun warning en la compilación, pero al simularlo no se ve nada, note que la ibreria del LCD del mrikrobasic pro no tiene el pin RW del LCD y observando codigo de mikrobasic note que en ese si tiene el RW aca en la libreria de mikrobasic pro solo marcan la RS EN y los 4 de datos D7...D4, a mi parecer y a lo que se deberia de tener control tambien el pin RW, espero me puedan ayudar, pongo el codigo para que lo chequen.

cabe mencionar que este es mi primer programa.

Código:
program Probando_ADC

dim ADC as word
dim text as string[3]
    MSJ as string[5]
dim
   LCD_RS as sbit at RB1_bit
   LCD_EN as sbit at RB0_bit
   LCD_D4 as sbit at RB4_bit
   LCD_D5 as sbit at RB5_bit
   LCD_D6 as sbit at RB6_bit
   LCD_D7 as sbit at RB7_bit
   
   LCD_RS_Direction as sbit at TRISB1_bit
   LCD_EN_Direction as sbit at TRISB0_bit
   LCD_D4_Direction as sbit at TRISB4_bit
   LCD_D5_Direction as sbit at TRISB5_bit
   LCD_D6_Direction as sbit at TRISB6_bit
   LCD_D7_Direction as sbit at TRISB7_bit
   
main:
     ADCON1 = $8E
     TRISA.0 = 1
     TRISB = 0
     PORTB = $FF
     TRISB = $FF
     Lcd_Init()
     Lcd_Cmd(_LCD_CLEAR)
     Lcd_Cmd(_LCD_CURSOR_OFF)
     MSJ = "ADC= "

     WHILE (TRUE)
           ADC = Adc_Read(0)
           WordToStr(ADC,text)
           Lcd_Cmd(_LCD_CLEAR)
           Lcd_Out(1,4,MSJ)
           Lcd_Out(1,9,text)
           Delay_ms(50)
     WEND
end.
En línea

La ingenieria mecatrónica es mi pasión, mi motor, mi vida.
My website: Todo Para Mecatronica, Tutoriales, Cursos y +
Ariel
Global Moderator
dsPIC
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 10618



WWW
« Respuesta #1 : Noviembre 20, 2009, 07:33:42 »

Hola!
"RW" puede ser puesto a 0V (GND) y te va a funcionar sin problemas.

Pero creo que te falta una instruccion. MKB tiene una que funcion que recibe como parametro algo asi como (puerto, pinD0, PinD1...., puerto, RS, W, E) , aunque no se si en ese orden. Es la que define como conectas el LCD al PIC, y no la veo en tu código.

Saludos!
« Última modificación: Noviembre 20, 2009, 07:35:41 por Ariel » En línea

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert
Mando31
Amigo de uControl
PIC12F
******
Desconectado Desconectado

Sexo: Masculino
Mensajes: 336



WWW
« Respuesta #2 : Noviembre 20, 2009, 12:48:33 »

rebisando el ejemplo que trae el MKB PRO la configuracion en donde le dices que ines usar viene dada por el siguiente codigo, ademas de que la instrucción Lcd_Init() se encarga de tomar esas definiciones y de inicialzar el LCD, ya coloque RW a GND pero sigue sin verse  Cry:

Código:
dim
   LCD_RS as sbit at RB1_bit
   LCD_EN as sbit at RB0_bit
   LCD_D4 as sbit at RB4_bit
   LCD_D5 as sbit at RB5_bit
   LCD_D6 as sbit at RB6_bit
   LCD_D7 as sbit at RB7_bit
   
   LCD_RS_Direction as sbit at TRISB1_bit
   LCD_EN_Direction as sbit at TRISB0_bit
   LCD_D4_Direction as sbit at TRISB4_bit
   LCD_D5_Direction as sbit at TRISB5_bit
   LCD_D6_Direction as sbit at TRISB6_bit
   LCD_D7_Direction as sbit at TRISB7_bit
En línea

La ingenieria mecatrónica es mi pasión, mi motor, mi vida.
My website: Todo Para Mecatronica, Tutoriales, Cursos y +
Ariel
Global Moderator
dsPIC
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 10618



WWW
« Respuesta #3 : Noviembre 20, 2009, 02:14:05 »

Ahhhh, ok!
Ya te digo, yo no uso MKB, pero habia visto que en algunos ejemplos hacian algo como

LCD_INIT(PORTC, 0,1,2,3, PORTC, 4,5,7)

para inicializarlo. Pero seguramente como tu dices esta bien.

¿El contraste del LCD está bien? Alguna vez me paso que no veia nada, y era el maldito contraste..... Idiota
En línea

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert
Mando31
Amigo de uControl
PIC12F
******
Desconectado Desconectado

Sexo: Masculino
Mensajes: 336



WWW
« Respuesta #4 : Noviembre 20, 2009, 03:40:07 »

ya logre hacer que se vea, la verdad no se que fue vovi a compilar el codigo y lo volvi a probar y ya funciono, pero ahora tengo una duda como puedo hacer que en el LCD solo me despliege digamos 2enteros punto 2 decimales, el dato es float  si asi lo combierto a string pues en el LCD se visualizan demaciados digitos, como estoy acotumbrado al C donde con el printf solo uso %2.2tipo de dato, pero aca con MKB PRO pues aun no entiendo como poder hacer eso.

Ejemplo:
 
 en el LCD se visualiza Valor= 0.351557
y yo deseo que se vea Valor= 0.35

como puedo hacer eso Huh??
En línea

La ingenieria mecatrónica es mi pasión, mi motor, mi vida.
My website: Todo Para Mecatronica, Tutoriales, Cursos y +
alfabeta
PIC10F
*
Desconectado Desconectado

Mensajes: 3


« Respuesta #5 : Septiembre 01, 2012, 11:54:37 »

hola yo también tengo problemas con el LCD
primero tengo un LCD 2x16 conectado al pic 18F4550 a 4bits

conecte el LCD al puerto B los pines 0,1,2,3 al D4-D7 y 4,5 al RS y E los pines D0-D3 los deje al aire
el código fue el ejemplo de Mikrobasic PRO eliminando los errores que me salen de ANSEL  = 0 y  ANSELH = 0 y quitando el código de desplazamiento enfocándome solo en el ejemplo de presentar el texto en el LCD. al copilarlo no me indica ningún problema al igual que probarlo línea por línea.

des pues de grabarlo en el pic en el LCD solo aparece la primera fila en negro después de investigar cambie RS y E al puerto D y  en el LCD me aparece espacios en blanco con cuadros en negro y al parecer cambia al segundo mensaje que debe desplegar pero aparece lo mismo de cuadros negros y blancos con el cursor en una posición central

incluso he tratado de crear mi código de cero pero con resultados parecidos.
no sé si el LCD este Dañado pues no tengo otro con cual comparar y tampoco estoy seguro si es el código o de plano ambos sean el problema.

espero que puedan ayudarme
En línea
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 741


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #6 : Septiembre 02, 2012, 01:01:54 »

No lei el topico completo, pero en el ultimo comentario, no comenta RW... hiciste la preuba de poner RS a GND... es el error mas comun
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
alfabeta
PIC10F
*
Desconectado Desconectado

Mensajes: 3


« Respuesta #7 : Septiembre 02, 2012, 01:43:51 »

gracias por responder.

el pin 5 (R/W) del LCD lo tengo directo a tierra y RS 0 cuando es una instrucción y 1 Cuando manda el texto

Cuando uso la librería LCD de Mikrobasic Pro, la librería controla el uso de RS

Y cundo realizo el código desde cero sin usar las librerías RS los uso como indique arriba
En línea
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 741


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #8 : Septiembre 02, 2012, 02:01:14 »

mmmm no se che... tendrias que citar tu programa y una copia fiel de las conexiones que hicistes... me paso varias veces de decir que tenia conectado algo de una forma, y al sentarme y verlo detenidamente, estaba conectado de otra manera (maldito MCLR de algunos pic)...
Suerte
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
alfabeta
PIC10F
*
Desconectado Desconectado

Mensajes: 3


« Respuesta #9 : Septiembre 02, 2012, 02:52:14 »

aquí adjunto los códigos de programa en los cuales e trabajando, son 2, el primero LCD contiene el código desarrollado por mi desde cero y el LCD2 contiene el código utilizando la librería de LCD de Mikrobasic Pro.

y las conexiones del LCD del pin 1 al 14 son GND, VDD, Vc, RS, R/W, E, D0-D7 los e revisado una y otra vez (siempre reviso cada vez que grabo el pic para estar seguro de las conexiones) espero que se puedan dar una idea más clara de mi problema con el código que adjunte.

nomas para no dejar de pasar el MikroBasic Pro no lo tengo registrado solo lo descargue y lo instale



* LCD.mbas (2.64 KB - descargado 152 veces.)
* LCD2.mbas (1.33 KB - descargado 147 veces.)
En línea

La gente de Niple nos ofrece un descuento especial para usuarios de uControl.
Entérate de como puedes aprovechar esta oferta haciendo click aqui.

Súmate, y ayuda a uControl con tu participación en esta interesante oportunidad que nos oferece Niple.

Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.19 | SMF © 2011, Simple Machines
SMFAds for Free Forums
XHTML 1.0 válido! CSS válido!
Página creada en 0.113 segundos con 30 consultas. (Pretty URLs adds 0.013s, 3q)
loggkey