TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Francirius en 16 de Noviembre de 2010, 15:39:47

Título: Modificar libreria de LCD para puerto B (asignar otros pines)
Publicado por: Francirius en 16 de Noviembre de 2010, 15:39:47
Hola amigos foreros, revisando la documentacion del foro me he dado cuenta que la libreria lcd.c para el manejo del LCD en C se puede modificar, actualmente estoy usando el pic 16f876 (puertos A,B y C), y lo he podido ocupar con un LCD conectado al puerto B. Ahora quiero usar la interrupcion por flanco de subida en el RB0, pero esa pata esta ocupada por el lcd, mi consulta es si se puede modificar las instrucciones para re-asignar las patitas RW, RS  y E.
Esta es la porcion del programa que creo se debe modificar, pero no se como:
Código: [Seleccionar]
[font=Verdana][font=Verdana]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;[/font][/font]

De antemano muuchas gracias.
Título: Re: Modificar libreria de LCD para puerto B (asignar otros pines)
Publicado por: ppyote en 16 de Noviembre de 2010, 19:43:17
esta la gasto yo en mis proyectos.... va de perlas tansolo debes de asignar al trisb 0x01;
Título: Re: Modificar libreria de LCD para puerto B (asignar otros pines)
Publicado por: Duende_Azul en 16 de Noviembre de 2010, 19:59:02
Hay una libreria bien famosa que te permite asignar los pines que tu quieras... se llama FLEX_LCD.C  solo pasa CCS.
Título: Re: Modificar libreria de LCD para puerto B (asignar otros pines)
Publicado por: ppyote en 16 de Noviembre de 2010, 20:07:33
Hay una libreria bien famosa que te permite asignar los pines que tu quieras... se llama FLEX_LCD.C  solo pasa CCS.
es la misma que he colgado yo ya con los pines configurados...

#define LCD_DB4   PIN_B4
#define LCD_DB5   PIN_B5
#define LCD_DB6   PIN_B6
#define LCD_DB7   PIN_B7
//
#define LCD_RS    PIN_B1
#define LCD_RW    PIN_B2
#define LCD_E     PIN_B3
Título: Re: Modificar libreria de LCD para puerto B (asignar otros pines)
Publicado por: Francirius en 16 de Noviembre de 2010, 20:51:59
Gracias compañeros por la rapida respuesta!
Una ultima duda, el programa que adjuntó ppyote trae descomentada la linea "#define USE_LCD_RW   1", esto quiere decir que se debe conectar RW a GND?
Muchas gracias!
Título: Re: Modificar libreria de LCD para puerto B (asignar otros pines)
Publicado por: bigluis en 16 de Noviembre de 2010, 22:42:30
La libreria "lcd.c" de la version 4.104 de CCS ya trae esas instrucciones para hacerla flexible. Es decir no necesitas instalar una nueva librería. Aunque muchas veces las librerías propuestas por los participantes del foro son más versatiles y optimizadas que las que propone el mismo fabricante.

 :-/ Suerte.
Título: Re: Modificar libreria de LCD para puerto B (asignar otros pines)
Publicado por: ppyote en 18 de Noviembre de 2010, 14:50:08
Gracias compañeros por la rapida respuesta!
Una ultima duda, el programa que adjuntó ppyote trae descomentada la linea "#define USE_LCD_RW   1", esto quiere decir que se debe conectar RW a GND?
Muchas gracias!

noooo para nada... mira bien... las barras no estan delante de la linea #define... sino arriba... osea que esas barras no influyen.
#define LCD_DB4   PIN_B4
#define LCD_DB5   PIN_B5
#define LCD_DB6   PIN_B6
#define LCD_DB7   PIN_B7
//
#define LCD_RS    PIN_B1
#define LCD_RW    PIN_B2
#define LCD_E     PIN_B3

el RW va al pin_B2

un saludo...