Autor Tema: Ayuda LCD  (Leído 7241 veces)

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

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Ayuda LCD
« en: 15 de Agosto de 2009, 18:40:34 »
Buenas, os vuelvo a pedir ayuda para que me reviséis un código y para saber porque no me funciona ne la realidad .
Os paso el circuito de la micropic Trainer  donde lo utilizo  y el codigo
Circuito del Micro pic trainer

El  codigo
#include <16F628A.h>
#use delay(clock=4000000)
#include <flex_lcd.c>

 void main()
{
#fuses XT,NOLVP,NOWDT
setup_oscillator(OSC_4MHZ);
set_tris_b(0x00000000); /*Defino el puerto B como salidas*/
set_tris_a(0x11111111);
lcd_init();
lcd_putc("HOLA SOY MARCOS\n " );
delay_ms(500);
lcd_putc("¿Que tal? ");

}
y en la libreria flex_lcd.c he cambiao los puertos de salida que es el puerto B y RS,RWyE con el puerto A de salida

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Ayuda LCD
« Respuesta #1 en: 15 de Agosto de 2009, 19:39:53 »
que errores te da la compilacion? ademas  el numero que le pones al set_tris_a y b esta mal denotado...supongo que lo que quisiste fue ponerlo en binario, cuando quieres ponerle en binario desbes escribir antes el 0b y para escribirlo en hexadecimal debes escribir 0x. Entonces definiendo el un puerto como salida podria ser:
Código: CSS
  1. set_tris_b(0); //notacion decimal
  2. set_tris_b(0b00000000); // en binario
  3. set_tris_b(0x00);  // notacion hexadecimal


como entrada
Código: CSS
  1. set_tris_b(255); //en decimal
  2. set_tris_b(0xff); // en hex
  3. set_tris_b(0b00000000);
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda LCD
« Respuesta #2 en: 15 de Agosto de 2009, 19:55:35 »
En la libreria flex_lcd la configuración de pines debe ser así:

Código: C
  1. #define LCD_DB4 PIN_B4
  2. #define LCD_DB5 PIN_B5
  3. #define LCD_DB6 PIN_B6
  4. #define LCD_DB7 PIN_B7
  5.  
  6. #define LCD_RS PIN_A0
  7. #define LCD_RW PIN_A1
  8. #define LCD_E  PIN_A2

Estas configuraciones no las hagas, la librería se encarga, así que no tiene sentido:
Código: C
  1. set_tris_b(0x00000000); /*Defino el puerto B como salidas*/
  2. set_tris_a(0x11111111);

Luego en el hard, procura seleccionar solo el LCD, que no estén conectados los potenciometros, los leds, etc.

Saludos!
« Última modificación: 27 de Agosto de 2009, 10:47:32 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #3 en: 16 de Agosto de 2009, 01:28:22 »
ya pero he modificado la libreria flex_lcd y he puesto las salidas  como estan conectadas en el micropic traiener la RS,RW,E al puerto A y las demas al puerto B en vez del puerto D ya que le pic 16F628A no tiene puerto D voy a haber si lo intneto mañana por la mañana enga bye y gracias a todos

Desconectado pablo

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 253
Re: Ayuda LCD
« Respuesta #4 en: 16 de Agosto de 2009, 02:04:12 »
Perdon si digo una burrada.
No hay que poner esto para usar el puerto a?

setup_comparator(NC_NC_NC_NC)

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #5 en: 16 de Agosto de 2009, 08:49:32 »
eso creo que no era pra usar comparadores analógicos??

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda LCD
« Respuesta #6 en: 16 de Agosto de 2009, 09:53:49 »
Perdon si digo una burrada.
No hay que poner esto para usar el puerto a?

setup_comparator(NC_NC_NC_NC)
Es cierto, porque el bendito PIC los trae "activado" por defecto  :5] Hay que agregar es linea.

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #7 en: 16 de Agosto de 2009, 10:40:57 »
no os entiendo  me lo podeis explicar??? tengo que incluir eso en el código??

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda LCD
« Respuesta #8 en: 16 de Agosto de 2009, 10:59:57 »
no os entiendo  me lo podeis explicar??? tengo que incluir eso en el código??

Se debe incluir en el main, y los fuses van al principio del proyecto, no me había dado cuenta que estaba dentro del main  :D Revisa los tutoriales y ejemplos que hay! Link

Código: C
  1. #include <16F628A.h>
  2.  
  3. #fuses INTRC,NOLVP,NOWDT,NOMCLR
  4. #use delay(clock=4000000)
  5. #include <flex_lcd.c>
  6.  
  7. void main(){
  8.    setup_oscillator(OSC_4MHZ);
  9.    setup_comparator(NC_NC_NC_NC)
  10.    lcd_init();
  11.    lcd_putc("HOLA SOY MARCOS\n " );
  12.    delay_ms(500);
  13.    lcd_putc("¿Que tal? ");
  14.  
  15. }

Si utilizas el oscilador interno del PIC es necesario la linea setup_oscillator(OSC_4MHZ);, sino no.

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #9 en: 16 de Agosto de 2009, 15:38:21 »
gracias creo que el problema es de los fuses ya que en el proteus se los salta xDD gracias voya a probar

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda LCD
« Respuesta #10 en: 23 de Agosto de 2009, 21:36:22 »
Por lo visto no has logrado hacer andar el LCD:
yo no soy capaz de utilizar el LCD del micropic trainer y he utilizado la libreria LCD.h y la Flexlcd y no me funciona ya puse un post y no me dijisteis nada esera que os le pongo haber que me podeis decir http://www.todopic.com.ar/foros/index.php?topic=27211.0
graciass

Pero podías aclararlo acá!  :D :D

Coloca el ejemplo con las modificaciones indicadas haber si se detecta el problema.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Ayuda LCD
« Respuesta #11 en: 23 de Agosto de 2009, 21:46:36 »
Hola mrk992 en este hilo, se te mencionó lo referente a los comparadores existentes en el PIC16f628.
Amigo suky, muy rapido olvidas las cosas  :).

Saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda LCD
« Respuesta #12 en: 23 de Agosto de 2009, 21:52:37 »
Hola mrk992 en este hilo, se te mencionó lo referente a los comparadores existentes en el PIC16f628.
Amigo suky, muy rapido olvidas las cosas  :).

Saludos.

Es el mismo  :shock: Tantas cosas en la cabeza ya estoy :z)  :D :D :D

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #13 en: 24 de Agosto de 2009, 08:33:10 »
seria el mismo circuito de arriba y el mismo código y todo y en el proteus me funciona perfectamente, pero............ en el micropic trainer........  no funciona , haber si podems hacerle funcionar. Es que toy empezando a  programa

Desconectado mrk992

  • PIC10
  • *
  • Mensajes: 26
Re: Ayuda LCD
« Respuesta #14 en: 24 de Agosto de 2009, 18:02:14 »
nadie sabe nada??????


 

anything