TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: Loudness en 22 de Marzo de 2016, 12:09:08

Título: LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 22 de Marzo de 2016, 12:09:08
Hola a todos.

Sobre la utilizacion de un LCD con un PIC16f877A:

① Tal como dice el titulo, que hacer con las patillas del LCD (DB0~3) que no se usan en modo 4bits?. Buscando en el datasheet del hitachi HD4478 (el micro que suelen tener estos LCDs) dice que tienen que quedarse al aire, pero buscando en internet me he encontrado un par de paginas en las que dice que deben ponerse a tierra para evitar que interferencias externas (ruido) afecten al LCD.

② Sobre la patilla enable (E) tambien tengo una duda. Hasta ahora la he utilizado conectandola directamente al puerto del PIC y esa parece ser la forma mas normal segun he buscado en internet. Sin embargo, tambien he visto alguna pagina en la que recomiendan poner una resistencia de pull down para evitar ruidos(?). Alguna experiencia/consejo sobre este tema?

Llevo utilizando PICs durante algun tiempo dejando las patillas DB0~3 al aire y sin pull down en la patilla enable. Pero, desde hace un tiempo llevo teniendo problemas con un LCD que se borra o saca carateres raros en la pantalla. En un principio dude del programa del PIC (16F877A). Pero, despues de buscar y estudiar un tiempo, estoy empezando a dudar del LCD en si.

Cualquier ayuda o experiencia sera bienvenida.

Saludos
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Chaly29 en 22 de Marzo de 2016, 12:47:10
Hola Loudness, los libros recomiendan dejar los pines del puerto al aire y el enable al PIC.

Pero yo en mi experiencia siempre a los pines del puerto (DB0~3) les coloco una pull down de 10K a masa.
El enable necesitas que valla al pic porque lo usa para la configuración del micro, pero el pin R/W si no piensas usar caracteres definidos por el usuario, pues lo conectas directamente a masa y listo.

Un saludo.

Atte. CARLOS.

Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 22 de Marzo de 2016, 22:00:46
Gracias por la respuesta


Pero yo en mi experiencia siempre a los pines del puerto (DB0~3) les coloco una pull down de 10K a masa.


Entonces, esas lineas tienen que estar configuradas como salidas?
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Chaly29 en 22 de Marzo de 2016, 22:12:04
Hola Loudness, con (DB0~3) estoy hablando de los pines del módulo LCD, y esas lineas no las puedes configurar.

Normalmente esas lineas son de entrada, pero bajo ciertas condiciones pueden ser salidas, por ese motivo es que pongo las pull down, con estas resistencias y si son entradas estarían con un cero lógico en las mismas, pero si por casualidad o error se configuraran como salida, la resistencia de 10K sería la carga a dichas salidas y no quemaría nada, pero si estuvieran directo a masa arriesgamos que esa salida sea quemada.

Con esas 4 resistencias podemos salvar ante un error o mal funcionamiento el display.

Un saludo.

Atte.CARLOS
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 22 de Marzo de 2016, 22:33:22
Gracias de nuevo


Hola Loudness, con (DB0~3) estoy hablando de los pines del módulo LCD, y esas lineas no las puedes configurar.


Lo siento, se me ha liado la cabeza y he confundido pines del PIC y del LCD :oops:

Lo de dejar las salidas abiertas no me convence demasiado por mucho que lo diga el datasheet.
Es posible que los errores que estoy teniendo con el LCD vengan por ahi? No lo se, pero voy a probar lo de las Pull down.

Gracias por  la ayuda
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: w3-sistemas en 22 de Marzo de 2016, 22:55:09
yo trabajo en "C" con el 877a, tenco .c y un .h donde podes usar el LCD tanto en 4 como en 8 bit, y te puedo mandar el circuito electronico tambien, las patas que no se usan del LCD en modo 4 BIT se ponen a masa o tierra o nuetro , como quieras llamarlo
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 23 de Marzo de 2016, 00:46:23
Gracias por tu respuesta

yo trabajo en "C"

Basicamente trabajo en ensamblador y no tengo ni idea de c :oops: pero si me envias el circuito seguro que me servira de referencia

Gracias por la ayuda
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: KILLERJC en 23 de Marzo de 2016, 01:05:01
Creo que todas las conexiones al LCD en 4 bits son iguales.

Y lo unico que puede cambiar es si vas a unicamente escribir o leer tambien.

Respecto al mal funcionamiento, lo primero que probaria es cambiar el LCD. Y me explico el por que.

Si tenes funcionando el programa y decis que el programa es correcto, no deberias tener problemas, D0 a D3 solo se toman en cuenta en la inicializacion, luego de inicializado el modulo del LCD no se deberia prestar mas atencion a estos pines. Y vos no estas teniendo problemas con la inicializacion, sino que luego de haber inicializado correctamente el LCD ( configurarlo a 4bits ) estas teniendo problemas con que aparecen caracteres raros y se borra la pantalla. Entonces es un problema de la RAM del LCD y el barrido que esta haciendo, suponiendo que no le llega nada y hace tenes esos problemas.

Resistencia en el pin E del LCD no hace falta, por que la misma salida del PIC lo tiene a 0V o 5V, en ningun momento deberias poner E como entrada para que necesites de ese pull-down.
Respecto a lo de las demas entradas/salidas D0 a D3 coincido con ambas versiones, tanto como dejarlas al aire, son entradas ( y no deberian ser tomadas en cuenta por el driver del LCD terminada la inicializacion ), y tambien por lo que dijo Chaly de que existe la posibilidad que si usas el pin R/W de tenerlas como salida y se necesitaria una resistencia de pull-down o pull-up por cada pin ( no una para todas ).

Finalmente es posible aplicar lo de w3-sistemas si es que nunca vas a leer desde el LCD es decir el pin R/W lo tenes a 0V siempre. Esto va a depender de tu libreria, si es que lo usa o no.
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 23 de Marzo de 2016, 02:11:02
Gracias KILLERJC por el mensaje.

Ya me paso antes hace unos meses que, despues de cambiar el programa y revolverlo todo, el problema se soluciono cambiando el LCD que estaba defecutoso. Lo primero que hare esta vez sera cambiar el LCD.

Lo que pasa es que quiero exprimir todas las posibilidades y escuchar diferentes opiniones para aprender y, la proxima vez, hacer el mejor diseno posible. En ese sentido me esta audando mucho este foro.

Gracias a todos por la ayuda
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: w3-sistemas en 23 de Marzo de 2016, 08:21:23
aca te dejo el .h y el circuito, como respondo poco no pude mandarte todo ya que perdi el post
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 23 de Marzo de 2016, 22:20:49
Gracias por el esquema (Muy interesante) y por el .h(Lo guardare para cuando aprenda C)

Hablando del esquema, en la patilla K del LCD (imagino que alimentacion del backlight) hay un transistor.
Para que sirve?. Para controlar el apagado del backlight desde el PIC?.

Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Chaly29 en 23 de Marzo de 2016, 22:42:32
Hola Loudness, exacto, eso es para controlar el encendido del display, pero también debería de tener una resistencia en serie para controlar la corriente por el mismo, de lo contrario podrías dañarlo.

Un saludo.

Atte. CARLOS.

Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 24 de Marzo de 2016, 02:36:04
Hola Loudness, exacto, eso es para controlar el encendido del display, pero también debería de tener una resistencia en serie para controlar la corriente por el mismo, de lo contrario podrías dañarlo.

En el pin que va a la A del LCD desde los 5V ya hay una resistencia en serie. En la base del transistor tambien esta puesta en serie.
Donde habria que ponerla para no danar el display?

Gracias por la ayuda
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: KILLERJC en 24 de Marzo de 2016, 05:22:14
En el pin que va a la A del LCD desde los 5V ya hay una resistencia en serie. En la base del transistor tambien esta puesta en serie.
Donde habria que ponerla para no danar el display?

Gracias por la ayuda

Seguro Chaly no vio la resistencia del Anodo, pero asi como esta es correcto, la resistencia limita la corriente del led de backlight que era lo que nombraba Chaly.
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Chaly29 en 24 de Marzo de 2016, 06:38:41
Hola Loudness, KILLERJC tiene razón, perdona elerror. Y gracias KILLERJC por la corrección.

Un saludo.

Atte. CARLOS.

Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: w3-sistemas en 24 de Marzo de 2016, 07:58:01
hola a todos, el circuito que les pase funciona correctamente, es un receptor DMX, es un circuito que yo utilizo en mis luces, la conexion del lcd es por puerto bajo, osea utilizo RB0 a RB3, y en el display uso DB4 a DB7, tengan encuenta esto al momento de programar, la resistencia que uso es mas que nada para tener algo que limite, es de 22 ohm, el display soporta tranquilamente los 5 volts direcyos sin quemarce el back light, la resistencia de base es para que el transistor no se queme y tambien influye en la limitacion de corriente es de 4700 ohm, y el preset o potenciometro que usa el display es de 2200 ohm , es para el contraste del display, en mi programa hago que cuando toco los pulsadores buscando en el menu del programa, el back se mantenga prendido, despues de un tiempo lo atenuo y luego de un tiempo mas largo lo apago, lo hago a travez de un PWM por soft, cualquier otra duda .....si puedo.......los ayudo, saludos
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 24 de Marzo de 2016, 22:49:20
Gracias a todos por su atencion

en mi programa hago que cuando toco los pulsadores buscando en el menu del programa, el back se mantenga prendido, despues de un tiempo lo atenuo y luego de un tiempo mas largo lo apago, lo hago a travez de un PWM por soft

Lo de atenuar el display suena muy interesante y creo que es hora de ponerme a estudiar porque el PWM del PIC es uno de los temas que tengo pendientes.
Creo que dentro de poco volvere a molestaros con mis preguntas jejeje
 
Saludos
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: w3-sistemas en 24 de Marzo de 2016, 22:54:43
hola, el pwm que utilizo no es el del micro en si, es un pwm hacho por soft, colocado en el timero, les mando la hoja del timer0 donde ademas estan los antirrebotes de los interruptores, saludos
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: Loudness en 27 de Marzo de 2016, 21:00:34
Gracias por el archivo w3-sistemas.

Como te comente, no conozco nada de C  :lol: pero me guardare el archivo por si acaso.

No quiero empezar de nuevo el tema de si es mejor lenguaje c o assembler, pero, por lo que veo, al subir de difilcutad en los proyectos todo el mundo se pasa al c.

Yo solo he trabajado con PIC16 y PIC18, todo en assembler y estudiado por mi cuenta (realmente este no es mi trabajo) y poco a poco me gustaria empezar a estudiar el PIC24 o incluso los dsPic. Pero en cuanto buscas algo en internet el 99% de lo que sale son proyectos en c.

Porque todo el mundo se pasa al c? Es tan dificil el ensamblador para dspic?

Saludos
Título: Re:LCD 16x2 en modo 4 bits, que hacer con pines que no se usan?
Publicado por: w3-sistemas en 27 de Marzo de 2016, 21:20:18
hola, mira yo comencé estudiando en asembler sabiendo solo algo de electronica analigica, no digital, asi que me costo bastante, y me pase al "C" por cuestiones de que las formulas matematicas son mas fasil en "C", a=b, axd, a/b, etc, con menos lineas escritas haces lo mismo, no significa que ocupe menos memoria, al contrario ocupa mas, igual te digo que cuando mas aprendes mas complejo es todo. pero te aconsejo ir viendo los tutoriales que hay para "c" aca en todo pic y me parece que te vas a ir directo al "C", es mas, si usas los pic de microchip, y empesas a usar MPLAB con XC8 ( compilador ) podes usar una herramienta que se llama MCC que te fasilita en gran parte la programacion del micro, saludos