Autor Tema: primero lcd  (Leído 2267 veces)

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

Desconectado nina

  • PIC10
  • *
  • Mensajes: 29
primero lcd
« en: 18 de Mayo de 2007, 08:45:12 »
escribi un programa para empezar com lcd pero hasta ahora no estas funcionando

#include <16f877.h>
#use delay(clock=4000000)
#fuses nowdt,noput,nobrownout,nolvp,noprotect
#include <lcd.c>

#use standard_io (B)


void main(void)
{
lcd_init(); //Inicia LCD
set_tris_b(0x00); /*PortB saida*/

lcd_putc("Teste"); //Escreve texto
}


El esquema estas abajo.

http://pg.photos.yahoo.com/ph/fernandoazevedo.rm/detail?.dir=d40ascd&.dnm=8aabscd.jpg


Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: primero lcd
« Respuesta #1 en: 18 de Mayo de 2007, 08:56:32 »
Estas cometiendo un error al utilizar la libreria lcd.c con ese esquema de conexiones.
Entra en la libreria y lee el codigo y alli indica en que pines conectar los pines de Enable, R/W y RS.

Segun la libreria:
Código: [Seleccionar]
// #define use_portb_lcd TRUE


struct lcd_pin_map {                 // This structure is overlayed
           BOOLEAN enable;           // on to an I/O port to gain
           BOOLEAN rs;               // access to the LCD pins.
           BOOLEAN rw;               // The bits are allocated from
           BOOLEAN unused;           // low order up.  ENABLE will
           int     data : 4;         // be pin B0.
        } lcd;

debes conectar Enable al pin B0, RS al pin B1, R/W al pin B2 y Data 4:7 a los pines B4:B7

Ademas debes quitar el comentario de la linea siguienta:
Código: [Seleccionar]
#define use_portb_lcd TRUE
Con eso deberia funcionar OK.

Suerte!!! :-/ :-/ :-/ :-/
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: primero lcd
« Respuesta #2 en: 18 de Mayo de 2007, 09:40:14 »
Si bien es cierto lo que te dice MGLSOFT sobre tu problema, no menos cierto es que es un grave error modificar la libreria para hacer la adaptación de los pines del LCD, ¿por qué razón? muy simple, si tenemos tres proyectos cada uno con unos pines distintos de conexión del LCD, ¿que hacemos cuando tengamos que compilarlos? , ¿entramos en la libreria, modificamos compilamos y volvemos a entrar para hacer las otras tres modificaciones?. Lo ideal es modificar la libreria desde el código de nuestro proyecto, la pregunta clave es ¿como?. Bien esta es una posible forma:


Ponemos estas líneas en nuestro código:

Código: CSS
  1. #define use_portb_lcd TRUE
  2. struct lcd_pin_map {                 // This structure is overlayed
  3.            BOOLEAN rs;           // on to an I/O port to gain
  4.            BOOLEAN rw;               // access to the LCD pins.
  5.            BOOLEAN enable;               // The bits are allocated from
  6.            BOOLEAN unused;           // low order up.  ENABLE will
  7.            int     data : 4;         // be pin B0.
  8.         } lcd;
  9.  
  10. #include <lcd.c>
  11.  
  12. Resto del código...

Supongo que las líneas van así conectadas, ya que no se ve muy bien.

Un saludo
« Última modificación: 18 de Mayo de 2007, 09:44:53 por jfh900 »
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado nina

  • PIC10
  • *
  • Mensajes: 29
Re: primero lcd
« Respuesta #3 en: 18 de Mayo de 2007, 09:55:16 »
he hecho la modificaciones pero hasta ahora no funciono.
solo aciende el lcd y no escribi nadie

gracias

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: primero lcd
« Respuesta #4 en: 18 de Mayo de 2007, 13:41:12 »
Hola nina

que raro, todo parece que está bien. como es una simulación, hay cosas que puedes quitar:

- quitar la línea set_tris_b(0x00); /*PortB saida*/
- quitar la línea  #use standard_io (B)
- quitar el cristal y los condensadores en el proteus y configurarlo en la ventana donde cargues el .hex

podrias colocar un bucle eterno después de la última línea

lcd_putc("Teste"); //Escreve texto
while(true);
}




La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: primero lcd
« Respuesta #5 en: 19 de Mayo de 2007, 15:15:14 »
Revisa bien las conexiones de la lcd.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte


 

anything