t6963 display problem in displaying integers
Posted: 16 Feb 2024 17:01
Hi i am using mikroc pro for pic t6963 glcd library to display a set 16 integers as in table as rows and columns, i have used same method to display these variables in the display where i require in (x,y ) positions... mostly all numbers displays correctly , but certain numbers appears as symbols and characters , what is the reason...
controller used pic18f87k90
all variables are declared as
unsigned int Pulse_PickA,Pulse_PickB,Pulse_PickC,Pulse_PickD.
unsigned int Picks4inchA,Picks4inchB,Picks4inchC,Picks4inchD
like these 16 integers . out of 16 , 2 or 3 integers diaplay as symbols or numbers , in ram memory the value is correct as i expect but while displaying alone its not perfect . should i change the way i display this function... please give ur suggetions.
T6963C_box(21+Fi_Xpos, 1+Ypos+(13*2), 21+Fi_Xpos+19, Ypos+(13*2)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickC/100)%10) +0x30)), 24+Fi_Xpos ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickC/10)%10) +0x30)), 24+Fi_Xpos+5 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickC)%10) +0x30)), 24+Fi_Xpos+10 ,Ypos+(13*2));
delay_ms(15);
T6963C_box(21+Fi_Xpos, 1+Ypos+(13*3), 21+Fi_Xpos+19, Ypos+(13*3)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickD/100)%10) +0x30)), 24+Fi_Xpos ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickD/10)%10) +0x30)), 24+Fi_Xpos+5 ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickD)%10) +0x30)), 24+Fi_Xpos+10 ,Ypos+(13*3));
delay_ms(15);
T6963C_box(21+Fi_Xpos, 1+Ypos+(13*4), 21+Fi_Xpos+19, Ypos+(13*4)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickE/100)%10) +0x30)), 24+Fi_Xpos ,Ypos+(13*4));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickE/10)%10) +0x30)), 24+Fi_Xpos+5 ,Ypos+(13*4));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickE)%10) +0x30)), 24+Fi_Xpos+10 ,Ypos+(13*4));
delay_ms(15);
T6963C_box(44+Fi_Xpos, 1+Ypos+(13*0), 44+Fi_Xpos+27, Ypos+(13*0)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA/10000)%10) +0x30)), 45+Fi_Xpos ,Ypos+(13*0));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA/1000)%10) +0x30)), 45+Fi_Xpos+5 ,Ypos+(13*0));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA/100)%10) +0x30)), 45+Fi_Xpos+10 ,Ypos+(13*0));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA/10)%10) +0x30)), 45+Fi_Xpos+15 ,Ypos+(13*0));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA)%10) +0x30)), 45+Fi_Xpos+20 ,Ypos+(13*0));
delay_ms(15);
T6963C_box(44+Fi_Xpos, 1+Ypos+(13*1), 44+Fi_Xpos+27, Ypos+(13*1)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB/10000)%10) +0x30)), 45+Fi_Xpos ,Ypos+(13*1));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB/1000)%10) +0x30)), 45+Fi_Xpos+5 ,Ypos+(13*1));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB/100)%10) +0x30)), 45+Fi_Xpos+10 ,Ypos+(13*1));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB/10)%10) +0x30)), 45+Fi_Xpos+15 ,Ypos+(13*1));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB)%10) +0x30)), 45+Fi_Xpos+20 ,Ypos+(13*1));
delay_ms(15);
T6963C_box(44+Fi_Xpos, 1+Ypos+(13*2), 44+Fi_Xpos+27, Ypos+(13*2)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC/10000)%10) +0x30)), 45+Fi_Xpos ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC/1000)%10) +0x30)), 45+Fi_Xpos+5 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC/100)%10) +0x30)), 45+Fi_Xpos+10 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC/10)%10) +0x30)), 45+Fi_Xpos+15 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC)%10) +0x30)), 45+Fi_Xpos+20 ,Ypos+(13*2));
delay_ms(15);
T6963C_box(44+Fi_Xpos, 1+Ypos+(13*3), 44+Fi_Xpos+27, Ypos+(13*3)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD/10000)%10) +0x30)), 45+Fi_Xpos ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD/1000)%10) +0x30)), 45+Fi_Xpos+5 ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD/100)%10) +0x30)), 45+Fi_Xpos+10 ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD/10)%10) +0x30)), 45+Fi_Xpos+15 ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD)%10) +0x30)), 45+Fi_Xpos+20 ,Ypos+(13*3));
delay_ms(15);
controller used pic18f87k90
all variables are declared as
unsigned int Pulse_PickA,Pulse_PickB,Pulse_PickC,Pulse_PickD.
unsigned int Picks4inchA,Picks4inchB,Picks4inchC,Picks4inchD
like these 16 integers . out of 16 , 2 or 3 integers diaplay as symbols or numbers , in ram memory the value is correct as i expect but while displaying alone its not perfect . should i change the way i display this function... please give ur suggetions.
T6963C_box(21+Fi_Xpos, 1+Ypos+(13*2), 21+Fi_Xpos+19, Ypos+(13*2)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickC/100)%10) +0x30)), 24+Fi_Xpos ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickC/10)%10) +0x30)), 24+Fi_Xpos+5 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickC)%10) +0x30)), 24+Fi_Xpos+10 ,Ypos+(13*2));
delay_ms(15);
T6963C_box(21+Fi_Xpos, 1+Ypos+(13*3), 21+Fi_Xpos+19, Ypos+(13*3)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickD/100)%10) +0x30)), 24+Fi_Xpos ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickD/10)%10) +0x30)), 24+Fi_Xpos+5 ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickD)%10) +0x30)), 24+Fi_Xpos+10 ,Ypos+(13*3));
delay_ms(15);
T6963C_box(21+Fi_Xpos, 1+Ypos+(13*4), 21+Fi_Xpos+19, Ypos+(13*4)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickE/100)%10) +0x30)), 24+Fi_Xpos ,Ypos+(13*4));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickE/10)%10) +0x30)), 24+Fi_Xpos+5 ,Ypos+(13*4));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickE)%10) +0x30)), 24+Fi_Xpos+10 ,Ypos+(13*4));
delay_ms(15);
T6963C_box(44+Fi_Xpos, 1+Ypos+(13*0), 44+Fi_Xpos+27, Ypos+(13*0)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA/10000)%10) +0x30)), 45+Fi_Xpos ,Ypos+(13*0));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA/1000)%10) +0x30)), 45+Fi_Xpos+5 ,Ypos+(13*0));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA/100)%10) +0x30)), 45+Fi_Xpos+10 ,Ypos+(13*0));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA/10)%10) +0x30)), 45+Fi_Xpos+15 ,Ypos+(13*0));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchA)%10) +0x30)), 45+Fi_Xpos+20 ,Ypos+(13*0));
delay_ms(15);
T6963C_box(44+Fi_Xpos, 1+Ypos+(13*1), 44+Fi_Xpos+27, Ypos+(13*1)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB/10000)%10) +0x30)), 45+Fi_Xpos ,Ypos+(13*1));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB/1000)%10) +0x30)), 45+Fi_Xpos+5 ,Ypos+(13*1));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB/100)%10) +0x30)), 45+Fi_Xpos+10 ,Ypos+(13*1));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB/10)%10) +0x30)), 45+Fi_Xpos+15 ,Ypos+(13*1));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchB)%10) +0x30)), 45+Fi_Xpos+20 ,Ypos+(13*1));
delay_ms(15);
T6963C_box(44+Fi_Xpos, 1+Ypos+(13*2), 44+Fi_Xpos+27, Ypos+(13*2)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC/10000)%10) +0x30)), 45+Fi_Xpos ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC/1000)%10) +0x30)), 45+Fi_Xpos+5 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC/100)%10) +0x30)), 45+Fi_Xpos+10 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC/10)%10) +0x30)), 45+Fi_Xpos+15 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchC)%10) +0x30)), 45+Fi_Xpos+20 ,Ypos+(13*2));
delay_ms(15);
T6963C_box(44+Fi_Xpos, 1+Ypos+(13*3), 44+Fi_Xpos+27, Ypos+(13*3)+10, T6963C_BLACK);
delay_ms(15);
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD/10000)%10) +0x30)), 45+Fi_Xpos ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD/1000)%10) +0x30)), 45+Fi_Xpos+5 ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD/100)%10) +0x30)), 45+Fi_Xpos+10 ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD/10)%10) +0x30)), 45+Fi_Xpos+15 ,Ypos+(13*3));
T6963C_Write_char_adv( ( (char) (((unsigned int)(InchD)%10) +0x30)), 45+Fi_Xpos+20 ,Ypos+(13*3));
delay_ms(15);