TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Tito-Pic en 18 de Diciembre de 2003, 07:52:00
-
Alguien ha conseguido que le funcione el ejemplo del LCD de Pic basic Pro??
Yo por mucho que le doy vueltas no lo consigo, y parece que es muy facil....
He probado con 8 bit"s con 4 bit"s y nada....
Falta algo en la rutina?????
-------------------------------------------------------------------------------
" PicBasic program to demonstrate operation of an LCD in 4-bit mode
"
" LCD should be connected as follows:
" LCD PIC
" DB4 PortA.0
" DB5 PortA.1
" DB6 PortA.2
" DB7 PortA.3
" RS PortA.4 (add 4.7K pullup resistor to 5 volts)
" E PortB.3
" RW Ground
" Vdd 5 volts
" Vss Ground
" Vo 20K potentiometer (or ground)
" DB0-3 No connect
Pause 500 " Wait for LCD to startup
loop: Lcdout $fe, 1 " Clear LCD screen
Lcdout "Hello" " Display Hello
Pause 500 " Wait .5 second
Lcdout $fe, 1 " Clear LCD screen
Lcdout "World"
Pause 500 " Wait .5 second
Goto loop " Do it forever
-
Esta conectado a un PIC16F84 y trabajando a 4 MHZ??
Si es asi trata de poner el circuito para poder ayudarte, puede que algo este mal conectado.
Pusiste la resistencia a RA4 como dice alli??
-
El esquema esta en el manual de pic basic pro:
http://www.todopic.com.ar/pbp_sp.html
Es bien sencillo.
-
Quizás te falten DEFINEs para indicarle como está el LCD conectado. También es importante definir el oscilador: DEFINE OSC 4.





Salud
-
Ya probe a definir todos los parametros, y nada de nada...
-
Buenas:
¿Que display estas usando?
¿Estas seguro de las conecciones del display?
El ejemplo funciona de primera y no tiene mayores secretos.-
Saludos
Jorge
-
Tal vez no sea compatible con el HD44780 tu display.
Revisa el conexionado, como dice Jorge.
Que entorno utilizas? es Microcode?
Tiene por default un PIC16F628, y el conexionado es para un 16F84, si utilizaras un 16F628 debes agregarle algunas intrucciones de manejo de los Ports A y B, para poder utilizarlo tal cual un 16F84.
-
te faltan los define, este codigo funciona y usa solo 6 lineas del pic para controlar el lcd
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
INCLUDE "modedefs.bas"
loop:
LCDOut $FE,1, " para que todos"
LCDOut $FE,$c0," no sayudemos"
GoTo loop
las conexiones son rw-gnd,rs-rb2,e-rb3,d4-rb4,d5-rb5,d6-rb6,d7-rb7
-
Comprueba si tienes configurados los puertos ra y rb indicando cuales son entradas y cuales salidas. Suerte, us saludo a todos.
-
He progabdo el programa que enviais y no funciona, me sale una linea en la parte superior.
-
Revisa el harware nuevamente suponiendo que hay un error en el, es decir sin presuponer que todo lo has conectado perfectamente bien. Seguro que encuentras el fallo.
Saludos
Ricky
-
" LCD PIC
" DB4 PortA.0
" DB5 PortA.1
" DB6 PortA.2
" DB7 PortA.3
" RS PortA.4 (add 4.7K pullup resistor to 5 volts)
" E PortB.3
" RW Ground
" Vdd 5 volts
" Vss Ground
" Vo 20K potentiometer (or ground)
" DB0-3 No connect
Tienes que definir los siguientes parametros en tu programa
para indicar que tipo de bus utilizas , en que pin se encuentra el Enable . ya que los valores por defectos del PbP son :
Setea el port de datos LCD
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2













Lo que tienes que hacer es insertar esto al principio de tu programa
DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
SI ESTO EQUIVOCADO AVISAR YA QUE HUMANO
-
Hola a todos, al final el lcd estaba estropeado, compre otro y funciono a la primera.
Un saludo a todos, y gracias por la información.