Estoy usando el compilador CCS C para programar mi foto 16F877A para mostrar los resultados de una medición de voltaje. Estoy usando LM12864DDY de TOPWAY. Utilicé las funciones que estaban disponibles en el archivo glcd.c en la carpeta "Ejemplos" de PICC. Este es mi código:
#include<16F877A.h>
#include"pic_GLCD.h"
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=20000000) //crystal 20 Mhz
char voltText[]="VOLTS";
void drawFrame(x,y,w,h)
{
int i=0;
glcd_rect(x, y, w, h, NO, ON); // Outline the frame
glcd_text57(48, 57, voltText, 1, ON); // Display "Volts"
for (i=5;i<=w;i+=10) // Draw some fancy markers :)
{ // horizontal
glcd_line(i,h,i,h+5,ON); // every 10 pixel
}
for(i=y; i<=h;i+=10) // vertical
{
glcd_line(1,i,5,i,ON);
}
}
void main (void)
{
//LCD PORTS
SET_TRIS_C(0x00);
SET_TRIS_E(0x00);
//CS1,CS2,RST PORT
SET_TRIS_A(0xD3);
glcd_init(ON);
drawFrame(5,0,125,51);
}
Realmente no puedo averiguar qué es lo que estoy haciendo mal. ¿Por qué aparecen puntos dispersos en mi pantalla?