Programacion de pic a pantalla sin chip select

#1
por favor necesito ayuda tengo este codigo en un pic pero al conectar la pantalla no tengo ningun resultado en la simulacion funciona perfectamente pero en comparacion a la simulacion la pantalla que tengo no tiene los pines del chip select es una pantalla QC12864B si talvez me pudieran ayudar a saber como se conectaria esta pantalla o si talvez debo cambiar algo al codigo en pic c este es el codigo


Código:
[#include <16f877A.h>
#fuses XT,NOWDT
#use delay(clock=20000000)
//#use standard_io(b)
//#use standard_io(c)
#include <Protyecto.c>
#include <graphics.c>
#use standard_io(B)
int a,con_pul,termino,time,dato,conteo;
char num[]={"     Pulsos/minuto"};

char b[]="Estado:";
char d[]="Normal";
char e[]="Bradicardia";
char f[]="Taquicardia";
char g[]="Universidad Nacional";
char h[]=" de Loja";
char i[]="Integrantes:";
char j[]="Fernanda Macas";
char k[]="Bryan Suquilanda";
char l[]="Diego Sanchez";
char m[]="Electronica y Telecomunicaciones";

void delay(){delay_ms(2);}

void pulso(){

glcd_pixel((a+0),56,ON);delay();
glcd_pixel((a+1),56,ON);delay();
glcd_pixel((a+2),56,ON);delay();

glcd_pixel((a+3),56,ON);delay();
glcd_pixel((a+3),55,ON);delay();
glcd_pixel((a+3),54,ON);delay();

glcd_pixel((a+4),53,ON);delay();

glcd_pixel((a+5),54,ON);delay();
glcd_pixel((a+5),55,ON);delay();
glcd_pixel((a+5),56,ON);delay();
glcd_pixel((a+5),57,ON);delay();

glcd_pixel((a+6),58,ON);delay();

glcd_pixel((a+7),58,ON);delay();
glcd_pixel((a+7),57,ON);delay();
glcd_pixel((a+7),56,ON);delay();
glcd_pixel((a+7),55,ON);delay();

glcd_pixel((a+8),54,ON);delay();
glcd_pixel((a+8),53,ON);delay();
glcd_pixel((a+8),52,ON);delay();
glcd_pixel((a+8),51,ON);delay();
glcd_pixel((a+8),50,ON);delay();
glcd_pixel((a+8),49,ON);delay();
glcd_pixel((a+8),48,ON);delay();
glcd_pixel((a+8),47,ON);delay();
glcd_pixel((a+8),46,ON);delay();

glcd_pixel((a+9),45,ON);delay();
glcd_pixel((a+9),44,ON);delay();
glcd_pixel((a+9),43,ON);delay();
glcd_pixel((a+9),42,ON);delay();
glcd_pixel((a+9),41,ON);delay();

glcd_pixel((a+10),40,ON);delay();
glcd_pixel((a+10),39,ON);delay();
glcd_pixel((a+10),38,ON);delay();
glcd_pixel((a+10),37,ON);delay();
glcd_pixel((a+10),36,ON);delay();

glcd_pixel((a+11),35,ON);delay();
glcd_pixel((a+11),34,ON);delay();
glcd_pixel((a+11),33,ON);delay();

glcd_pixel((a+12),36,ON);delay();
glcd_pixel((a+12),37,ON);delay();
glcd_pixel((a+12),38,ON);delay();
glcd_pixel((a+12),39,ON);delay();
glcd_pixel((a+12),40,ON);delay();
glcd_pixel((a+12),41,ON);delay();
glcd_pixel((a+12),42,ON);delay();
glcd_pixel((a+12),43,ON);delay();
glcd_pixel((a+12),44,ON);delay();
glcd_pixel((a+12),45,ON);delay();

glcd_pixel((a+13),46,ON);delay();
glcd_pixel((a+13),47,ON);delay();
glcd_pixel((a+13),48,ON);delay();
glcd_pixel((a+13),49,ON);delay();
glcd_pixel((a+13),50,ON);delay();
glcd_pixel((a+13),51,ON);delay();
glcd_pixel((a+13),52,ON);delay();
glcd_pixel((a+13),53,ON);delay();
glcd_pixel((a+13),54,ON);delay();
glcd_pixel((a+13),55,ON);delay();
glcd_pixel((a+13),56,ON);delay();

glcd_pixel((a+14),57,ON);delay();
glcd_pixel((a+14),58,ON);delay();
glcd_pixel((a+14),59,ON);delay();
glcd_pixel((a+14),60,ON);delay();

glcd_pixel((a+15),61,ON);delay();
glcd_pixel((a+15),62,ON);delay();
glcd_pixel((a+15),63,ON);delay();

glcd_pixel((a+16),60,ON);delay();
glcd_pixel((a+16),59,ON);delay();

glcd_pixel((a+17),58,ON);delay();
glcd_pixel((a+17),57,ON);delay();
glcd_pixel((a+17),56,ON);delay();

glcd_pixel((a+18),56,ON);delay();
glcd_pixel((a+19),56,ON);delay();

glcd_pixel((a+20),56,ON);delay();
glcd_pixel((a+20),55,ON);delay();

glcd_pixel((a+21),54,ON);delay();

glcd_pixel((a+22),53,ON);delay();
glcd_pixel((a+23),53,ON);delay();

glcd_pixel((a+24),54,ON);delay();

glcd_pixel((a+25),55,ON);delay();
glcd_pixel((a+25),56,ON);delay();

glcd_pixel((a+26),56,ON);delay();
glcd_pixel((a+27),56,ON);delay();
glcd_pixel((a+28),56,ON);delay();
glcd_pixel((a+29),56,ON);delay();
glcd_pixel((a+30),56,ON);delay();
glcd_pixel((a+31),56,ON);delay();
glcd_pixel((a+32),56,ON);delay();

}

void conversor(){

num[0]=(dato/100)+0x30;
num[1]=((dato%100)/10)+0x30;
num[2]=((dato%100)%10)+0x30;

}

#int_timer1
void tem_10seg(){
if(time==90){termino=1;time=0;}
set_timer1(3036);
time=time+1;
}

void main() { 
setup_timer_1(t1_disabled);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
////TMR1=59464 CON 4MHZ para 1seg
////TMR1=3036 con 20mhz para 0.1 seg
set_timer1(3036);
enable_interrupts(int_timer1);
enable_interrupts(global);

glcd_init(ON);   // iniciamos la lcd 
glcd_fillScreen(0); //LIMPIAMOS LA PANTALLA 
glcd_text57(5 ,3, g, 1, 1);
glcd_text57(30 ,22, h, 1, 1);
glcd_text57(1 ,42, m, 1, 1);
delay_ms(3000);
setup_timer_1(t1_disabled);
glcd_fillScreen(0);
glcd_text57(5 ,3, i, 1, 1);
glcd_text57(30 ,22, j, 1, 1);
glcd_text57(30 ,34, k, 1, 1);
glcd_text57(30 ,47, l, 1, 1);
delay_ms(3000);
setup_timer_1(t1_disabled);
glcd_fillScreen(0);
glcd_text57(1 ,3, num, 1, 1);
glcd_text57(1 ,16, b, 1, 1);

while(1){ 
   
   while(input(pin_b3)==0)
   { 
   
   };
   con_pul=con_pul+1;output_low(pin_b6);
      if (con_pul==1){setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);set_timer1(3036);time=0;}
   if (termino==1){setup_timer_1(t1_disabled);
       
       output_high(pin_b6);
       conteo = 0;
       
       con_pul=(con_pul-1)*6;
       termino=0;
       dato=con_pul;
       con_pul=0;
       conversor();
      
       //glcd_fillScreen(0); //LIMPIAMOS LA PANTALLA
       
       glcd_rect(1,1,19,9,1,0);
       glcd_rect(49,16,120,22,1,0);
       
       glcd_text57(1 ,3, num, 1, 1);
       glcd_text57(1 ,16, b, 1, 1);
       
       
       if(dato > 100){glcd_text57(49,16, f, 1, 1);} 
       else if(dato < 60){glcd_text57(49,16, e, 1, 1);} 
       else glcd_text57(49,16, d, 1, 1);
       
       }
   
   if(a==132){
      a=0;
      glcd_fillScreen(0);glcd_text57(1 ,3, num, 1, 1);
      glcd_text57(1 ,16, b, 1, 1);
       if(dato > 100){glcd_text57(49,16, f, 1, 1);} 
       else if(dato < 60 && dato!=0){glcd_text57(49,16, e, 1, 1);} 
       else if(dato !=0){glcd_text57(49,16, d, 1, 1);}
   }
      pulso();
      a=a+33;
      conteo=conteo+1;
   
 }//end while //Ciclo infinito 


}//end main] ...
 
Última edición por un moderador:
Arriba