Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

21/01/2014 #41

Avatar de cguerrero1205

Hay alguna forma de hacer que los pines de datos empiecen desde B3 hacia atrás? Es decía qué D4 = Rb3 , D5 = Rb2 y así sucesivamente... Es que al momento de hacer la PCB me equivoqué y lo hice al revés... Pic 16f887 programado en proton ide
21/01/2014 #42
Moderador

Avatar de Chico3001

Se puede... pero tendrias que crear una libreria especial para eso con los comandos en los pines correctos...
21/01/2014 #43

Avatar de cguerrero1205

Chico3001 dijo: Ver Mensaje
Se puede... pero tendrias que crear una libreria especial para eso con los comandos en los pines correctos...
Y como hago eso??
21/01/2014 #44
Moderador

Avatar de Chico3001

hay que editar la libreria que usas... y cambiar todos y cada uno de los comandos y reasignarlos a los pines que tienes...

Por ejemplo si para encender el display mandabas '10011100' ahora hay que cambiarlo por '00111001' igual para los caracteres...
25/09/2015 #45


Problema con LCD 16x2
quiero controlar un display lcd jhd162a con el pic16f690 pero no logro nada solo muestra la segunda línea en negro alguien con experiencia que le pueda echar un vistazo al código y me ayude..

uso mplab x ide y cx8 compiler
Imágenes Adjuntas
Tipo de Archivo: jpg CONECCIONES.jpg (43,6 KB (Kilobytes), 12 visitas)
Archivos Adjuntos
Tipo de Archivo: rar lcd.X.rar (71,9 KB (Kilobytes), 3 visitas)
25/09/2015 #46
Moderador

Avatar de D@rkbytes

Tienes definidos para la pantalla los pines RC0 a RC5, pero los pines RC0 a RC3 por defecto funcionan en modo análogo porque tienen ADC.

Debes configurar que esos pines sean digital I/O y eso lo haces configurando el registro ANSEL en 0
Agrega ANSEL = 0x00; en el main de tu programa y haz una prueba.
28/09/2015 #47


Gracias Darkbytes por el tiempo que te tomaste en revisar el código.
Ya probé con tu sugerencia y no funcionó, ahora no aparece nada en el display.

Seguiré intentando:
Código PHP:
int main()
{
  
unsigned int a;
  
TRISC =0x00;
  
ANSEL =0x00;
  
Lcd_Init();
  while(
1)
  {
    
Lcd_Clear();
    
Lcd_Set_Cursor(1,1);
    
Lcd_Write_String("HOLA");
    
Lcd_Set_Cursor(2,1);
    
Lcd_Write_String("MUNDO");
    
__delay_ms(2000); 
28/09/2015 #48
Moderador

Avatar de D@rkbytes

OK. Se me hace extraño. Haz una prueba con el .hex del código adjunto.
Ahora está configurado para usar el oscilador interno @ 4 MHz.
Ésto es porque tengo dudas sobre los tiempos de la librería trabajando a 10 MHz.

También adjunto la simulación en donde se muestra el valor de los registros.
Imágenes Adjuntas
Tipo de Archivo: jpg 16F690 - LCD 16x2.jpg (76,0 KB (Kilobytes), 16 visitas)
Archivos Adjuntos
Tipo de Archivo: rar lcd.X.rar (79,2 KB (Kilobytes), 16 visitas)
28/09/2015 #49


Sigue sin funcionar.
Ya probé muchas opciones y sigo sin hacerlo funcionar.
Pero seguiré porque creo que no estoy muy lejos de lograrlo con tantas pruebas. Jejeje.
12/10/2015 #50
Moderador

Avatar de D@rkbytes

vicbit dijo: Ver Mensaje
Ya probé muchas opciones y sigo sin hacerlo funcionar.
Espero que hayas logrado hacer funcionar la pantalla JHD-162A con XC8.
Si aún no lo has logrado, te comento que conseguí un PIC16F690 para probar la librería, y funciona bien.
Compilé el programa del post #48 y funciona físicamente sin ningún problema.
A la primera salió mostrando el texto en pantalla.

También realicé la prueba con el cristal de 10 MHz (FOSC = HS) y funciona correctamente.
16/10/2015 #51


gracias darkbytes, pero no logro hacerlo funcionar he probado muchos códigos, que raro que ati te funcione y a mi no.
16/10/2015 #52
Moderador

Avatar de D@rkbytes

OK. Pues sí, como te mencioné, funciona sin problemas.
Y tanto me gustó ese PIC, que decidí comprar una tira con 25.
Supera en características a otros PIC de gama media y me viene perfecto para un proyecto en desarrollo.

Cuando puedas y si te es posible, adjunta una foto del montaje.
Pero si tienes todo bien conectado, tal cual como en el esquema que adjunté, debería funcionar sin problemas.
Si de plano no logras que funcione, entonces puede estar dañado el PIC o la pantalla.

La pantalla la puedes probar con otro microcontrolador y el PIC lo puedes probar activando todos los puertos.
O sea, puedes hacer que todos los puertos se pongan en 1 y luego en 0 al mismo tiempo durante un segundo.
La lectura de estados la puedes realizar con una punta lógica o con un LED.
Con un LED es más complicado porque lo tienes que estar invirtiendo para comprobar los dos estados.
Al menos con eso puedes comprobar que funcionen bien cómo salidas.
19/10/2015 #53


darkbytes, probé el pic y el lcd realizando un programa en mikroc y funciona bien, no logro determinar por que no funciona en mplab x, el detalle que me aferre a hacerlo en mplab x por que en mikroc me dan problemas las funciones aritméticas desestabilizando el display, se me ocurre que si me puedes pasar el archivo .hex para cargarlo al pic?

de antemano gracias...
19/10/2015 #54
Moderador

Avatar de D@rkbytes

vicbit dijo: Ver Mensaje
Se me ocurre que si me puedes pasar el archivo .hex para cargarlo al PIC.
Lo subí en el post #48.
Está dentro de la carpeta dist\default\production\
El archivo se llama: lcd.X.production.hex

Está compilado para usar el oscilador interno a 4 MHz.
19/10/2015 #55


darkbytes ya funcionó no entiendo por que, pero primero cargue el hex y funcionó y luego ya pude modificar el código y complilarlo y programarlo y ya funciona.

gracias por tu tiempo....
21/10/2015 #56


D@rkbytes dijo: Ver Mensaje
OK. Se me hace extraño. Haz una prueba con el .hex del código adjunto.
Ahora está configurado para usar el oscilador interno @ 4 MHz.
Ésto es porque tengo dudas sobre los tiempos de la librería trabajando a 10 MHz.

También adjunto la simulación en donde se muestra el valor de los registros.
Buenos días para mi desde Buenos Aires.
He visto los circuítos básicos de simulación de LCD y quiero pasar mi experiencia.
Poner a ground los pines D0, D1, D2 y D3 todo bien para la simulación, incluso para algunos LCD con O.S. Hitachi. Pero ciertos clones de dicho LCD hacen locuras.
Me ha pasado que un sistema super probado, al hacer la segunda producción (unos 120), algunos andaban y otros no. Solución: Hay que dejarlos float!.
Saludos
21/10/2015 #57

Avatar de TRILO-BYTE

jeje nunca vi un LCD pirata si me han dicho que hacen sus patrañas

¿no son los que nisiquiera tienen cuerpo?
21/10/2015 #58

Avatar de Daniel Meza

La hoja de datos del HD44780 aclara en un apartado casi casi con letras chiquitas que las líneas DB0-DB7 incorporan "pull-up's".
Creo que no son del todo piratas sino son chips de otras marcas que emulan (no del todo por lo que se comenta) al HD44780.

De allí que se recomienda, en caso de conectar, DB0-DB7 sea a Vcc y no a GND.

TriloByte, esos que comentas he escuchado que se quejan por que el mapeo de las direcciones no coincide con el del 44780.
21/10/2015 #59

Avatar de TRILO-BYTE

si he oido de esos famosos LCD marca patito que son nadamas un vidrio y sus patitas

nunca los he usado ni se donde los venden pero si , es cierto lo que dices , en la hoja de datos se ve como se configura, algunas data sheets son moderadamente confusas.
21/10/2015 #60


Es que los clones son solución de costo/prestación muchas veces. De hecho yo nunca tuve un HD44780 original en mis manos. Siempre clones a veces de marca reconocida, otras no tanto, je.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.