PIC uCr 16F877A interfaz con glcd LM12864DDY

2

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);

}

y mi salida es esta:

Realmente no puedo averiguar qué es lo que estoy haciendo mal. ¿Por qué aparecen puntos dispersos en mi pantalla?

    
pregunta MavenMerkel

0 respuestas

Lea otras preguntas en las etiquetas