TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: AV9 en 11 de Julio de 2012, 21:27:15
-
Hola a todos,
He realizado una PCB con un PIC18F4520 en SMD (QFP) funcionando con un oscilador INTERNO (cualquier frecuencia) y un LCD 16x1, pero el problema está en que el LCD no funciona (muestra cuadraditos negros) cuando en el proteus si que va. El circuito sé que funciona porque hago conmutar un pin a una determinada frecuencia y lo hace.
El problema pienso que está en la configuración del oscilador interno, de tal modo que para hacer una prueba básica, sólo quiero mostrar "Hola" en el LCD para a partir de ahí ir haciendo más cosas.
Adjunto el código a ver si me podeis echar una mano:
#include <18F4520.h>
#device adc=16
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#use delay(int=1000000)
#define ENABLE_PIN D5
#define RS_PIN C7
#define Data4 D7
#define Data5 B0
#define Data6 B2
#define Data7 B4
#include <lcd.c>
void main()
{
setup_timer_3(T3_DISABLED | T3_DIV_BY_1);
setup_oscillator(OSC_1MHZ|OSC_INTRC|OSC_PLL_OFF);
lcd_init();
lcd_putc("\fHola");
while(TRUE)
{ }
}
Este códgio lo he hecho con el wizard el CCS, el programa original que hice utiliza la librería flex_lcd_16x1, pero bueno, no funciona con ninguno. Por supuesto he comprobado 50.000 veces la continuidad de las pistas de la PCB y que está todo correcto. Me da igual la frecuencia, tan sólo debo respetar los pines utilizados porque la PCB ya la tengo hecha.
Adjunto una imagen del proteus.
Muchas gracias de antemano! cualquier ayuda será agradecida ya que me estoy volviendo loco con esto, saludos!
-
No te falta definir el pin RW_pin ??
-
Si he probado la librería flex_lcd_16x1.c que tiene en cuenta ese detalle para tirar el RW a masa, pero tampoco funciona...