Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




PIC16F84 + LCD... dudas


       



#11  rutina de inicializacion
skan
Registrado: 27 May 2006
Mensajes: 29
citar
e observado que en la subrutina LCD_inicializa declara el LCD, realiza la llamada a la subrutina LCD_2lineas4bits5x7, la cual es:
-------
LCD_2Lineas4Bits5x7 ; Define la pantalla de 2 líneas, con caracteres
movlw b'00101000' ; de 5x7 puntos y conexión al PIC mediante bus de
goto LCD_EnviaComando ; 4 bits.
---------
querria intentar configurarlo como una línea haber si esa puede ser la causa de que no se visualicen los caracteres apartir del 8º.. e mirado la info que tengo pero no logro descubrir donde le indica que es de 2 lineas...

que numero binario debería cargar para configurarlo como una linea?? puede ser esta la causa¿¿

THKS por su atención

#12  LCD LM016L
icho
Ubicación: BOLIVIA
Registrado: 30 Abr 2007
Mensajes: 4
citar
alguie que tenga el diagrama y codigo del funcionamieto del lcd016l enproteus.. esta complicado hacer funcionar este bicho

#13  MUCHO RETARNO :s
icho
Ubicación: BOLIVIA
Registrado: 30 Abr 2007
Mensajes: 4
citar
hago correr el probrama y se queda colgado en la libreria RETARDOS.INC en el siguiente bloque de codigo... que creen que pueda ser...

Retardos_ms
movwf R_ContB ; Aporta 1 ciclo máquina.
R1ms_BucleExterno
movlw d'249' ; Aporta Mx1 ciclos máquina. Este es el valor de "K".
movwf R_ContA ; Aporta Mx1 ciclos máquina.
R1ms_BucleInterno
nop ; Aporta KxMx1 ciclos máquina.
decfsz R_ContA,F ; (K-1)xMx1 cm (cuando no salta) + Mx2 cm (al saltar).
goto R1ms_BucleInterno ; Aporta (K-1)xMx2 ciclos máquina.
decfsz R_ContB,F ; (M-1)x1 cm (cuando no salta) + 2 cm (al saltar).
goto R1ms_BucleExterno ; Aporta (M-1)x2 ciclos máquina.
return ; El salto del retorno aporta 2 ciclos máquina.

#14  libreria retardos.in
icho
Ubicación: BOLIVIA
Registrado: 30 Abr 2007
Mensajes: 4
citar
hola, al parecer vas por el mismo camino que yo fui, te comento que esa libreria retardos.inc la tienes que poner al final de tu programa, justo antesito del END, con la siguiente instrucción INCLUDE "RETARDOS.INC" y te funcionará de maravilla, otra cosa, no es que se quede colgado sino, que algo pasa con esta libreria. Por ejemplo yo hice varias pruebas, de prender leds, conectados a la patitas RB del uControlador 16f84 utilizando esta libreria, haciedo uso de varios tiempos, al principio funciona bien, pero aumento algun comando mas, y ya todo me desvaria, es decir, si con 4Mhz prendian 2 secuencias de leds, y aumento para que sean 3 secuecnias, esos 4Mhz ya no me sirven y tengo que ir haciendo prueba y error para encontrar la frecuencia indicada... talvez sea el proteus no se.. tienes alguna idea???

#15  Ayuda Pic + Lcd
bassir
Ubicación: spain
Registrado: 01 Jun 2007
Mensajes: 3
citar
Muy buenas
perdonar ke us haga una pregunta, estaba buscando en internet una pantalla lcd ke tenga en sus caracteristiqas el llenguaje arabe, es para hacer un proyecto con el pic , si alguien me puede ayudar .

merci

#16  
jjfonsecaz
Ubicación: Mexico
Registrado: 23 May 2007
Mensajes: 31
citar
Buenas amigos,

Pues de inicio creo que deberian leer algunos de los documentos que les han enviado, la forma correcta de inicializar el lcd es darle un tiempo para que se establesca el oscilador interno, aprox 20 ms; en algunos es menor el tiempo, posteriormente enviarle los correspondientes codigos de inicializacion. y algo que me da curiosidad es lo de que no puedes visualizar mas que 8 caracteres. yo tengo una libreria para usar el lcd y puedes usar 4 lineas de datos y 3 de control; se puede usar 4 de datos y 2 de control, por lo menos debes tener control sobre la linea rs y e. podrias usar 8 de datos y 2 de control. eso no importa pero si es importante el manejo de rs y e por lo menos.
Para manejar mejor el lcd yo defini algunas constantes por ejemplo la direccion de la fila 1 y fila 2

LCD_linea1 EQU 0x80 ;Direccion inicio linea1
LCD_linea2 EQU 0xC0 ;Direccion inicio linea2

si tu escribes este comando y posteriormente envias el comando de caracter(por ello es importante el manejo de rs, la habilitacion es con e de otra forma no seria posible manejarlo)
puedes escribir la cantidad de caracteres que quieras sin que esto afecte al lcd, al final de cuentas solo visualizas los 16 que cabe en el lcd o 20 dependiendo del tipo que tengas.

#17  
Doniga
Ubicación: Santiago, Chile
Registrado: 29 Jul 2008
Mensajes: 26
citar
Hola Señores, como están?

Les cuento que he estado tratando de comunicarme con un Display LCD de 16x1 (16 caracteres y 1 línea).

He intentado con programas hechos por mí, algunos que encontré en la web, otro que viene con el compilador PICC y no pasa nada, siempre el LCD muestra 8 cuadrados negros y nada más.

He probado con PIC16F84, con PIC16F628A y con el PIC16F873A y nada.

En un principio pensé que era el programador (Tengo el Eclipse, que saqué de este mismo foro) entonces creé un programa típico para que se enciendan leds cada 2 segundos, y ningún problema, tonces supongo que está grabando bien.

El programa que hice se los dejo adjunto, para que me digan por favor si es que faltara algo, aunque según yo estaría completo. Lo más raro de todo es que después de enviar unos caracteres para escribir (que no se escriben) dejo el PIC en una rutina encendiendo y apagando un LED, pero esto tampoco lo hace, entonces no sé si estará funcionando bien o no la programación efectivamente, o si el LCD está dañado.

Saludos, gracias.



Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

#18  
Meta
Ubicación: 16F84A
Registrado: 20 Ene 2008
Mensajes: 1110
citar
tiopepe123 escribió:

Te recomiendo encarecidamente te pases al pic16f876/877, funcionan y valen casi lo mismo y son mas versatiles sobretodo el bootloader


Microchip aconseja el moderno 16F886 y 16F887 al mismo tiempo más barato.

#19  
Doniga
Ubicación: Santiago, Chile
Registrado: 29 Jul 2008
Mensajes: 26
citar
Hola Meta,

Gracias por tu respuesta, es realmente necesario que haga ese cambio? Es por un Problema de Corrientes? Lo que pasa es que estoy haciendo un proyecto en el cual el tamaño es muy importante para mí, necesito ocupar el menor espacio posible.

Saludos.

#20  
Meta
Ubicación: 16F84A
Registrado: 20 Ene 2008
Mensajes: 1110
citar
No, no hace falta que hagas ese cambio. Por cierto leí mal. Al menos para que sepa que existe.

 Responder





 Otros temas de interés 
No hay mensajes nuevos Adquisicion de datos a traves de serial o puerto paralelo
No hay mensajes nuevos Adquisicion de datos con JK3 (motorola)
No hay mensajes nuevos Adquisición de datos por Tarjeta de audio
No hay mensajes nuevos Anchos de banda (Transmisión de datos VoIP videoconferencia)
No hay mensajes nuevos Datos de Norma PAL N (Television)

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||