[code]Hola que tal, recurro a ustedes por un problema que que me surgio.
El código se compila sin problemas en el mplab, pero a la hora de simular el circuito en Proteus el lcd no muestra nada.
Intente ponerle un delay para que el lcd se inicie pero sigue igual.
Arme el circuito en protoboard y el lcd me muestra (en sus dos líneas) cuadrados negros.
Aquí el código :
#include <pic.h>
#include <string.h>
#include <stdlib.h>
#include "delay.c"
#include "DS1wire.c"
#include "lcd.c"
__CONFIG(0x3F70);
#define INPUT 1
#define OUTPUT 0
#define TRUE 1
#define FALSE 0
void startup();
void largedelay();
char p[7];
volatile unsigned char TM,TL;
unsigned char numROMs;
unsigned char FoundROM[MAX_SENSORS][8]; // table of found ROM codes
//main function
void main(void)
{
unsigned char x,y;
unsigned int temp_i;
GIE = 0;
PEIE = 0;
TRISB = 0b00000001; // first 4 outputs rest inputs
CMCON = 0b00000111; // disable comparators
TRISA = 0b00000011; // 2,3 outputs rest inputs
PORTA = 0x00;
lcd_init();
startup();
while(1)
{
D_Reset();
FindDevices();
for(x=0;x<numROMs;x++)
{
read_one(x);
lcd_clear();
lcd_goto(4);
lcd_puts("Zone ");
long_to_string((x+1), p, 2);
lcd_puts(p);
// sheer height of laziness, format changed to DS1631 as I had used that before
TM = TM << 4;
y = (TL >> 4)& 0b00001111;
TM = (TM & 0b11110000) | y;
TL = TL & 0b00001111;
lcd_goto(0x40);
if(TM & 0b10000000)
{
lcd_puts("Temp:-");
TM=(TM^0xFF);
TL=((TL^0xFF)+1)&0b00001111;
}
else
{
lcd_puts("Temp:+");
}
long_to_string (TM, p, 3);
lcd_puts(p);
lcd_puts(".");
temp_i=(int)TL;
temp_i=temp_i* 625;
long_to_string_lz(temp_i, p, 4);
lcd_puts(p);
lcd_putch(0b11011111); // Centigrade character
lcd_puts("c");
largedelay();
largedelay();
}
}
}
void startup()
{
lcd_clear();
lcd_puts(" DS18B20 Sensor ");
lcd_goto(0x40);
lcd_puts(" Chain Project");
largedelay();
}
void largedelay()
{
DelayMs(250);
DelayMs(250);
DelayMs(250);
DelayMs(250);
}
[/code]
y el circuito:
No se que mas probar, en proteus el pic se comunica con los sensores pero no parece haber interaccion con el lcd.
Desde ya gracias.