t6963 display problem in displaying integers

General discussion on mikroC PRO for PIC.
Post Reply
Author
Message
Naveen11
Posts: 6
Joined: 22 Mar 2020 08:02

t6963 display problem in displaying integers

#1 Post by Naveen11 » 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);

User avatar
IvanJeremic
mikroElektronika team
Posts: 316
Joined: 05 Sep 2022 14:32

Re: t6963 display problem in displaying integers

#2 Post by IvanJeremic » 24 Feb 2024 14:04

Hi,

Is it always the same variables that are showing the symbols or does it change overtime?

Regards,

Ivan.

Naveen11
Posts: 6
Joined: 22 Mar 2020 08:02

Re: t6963 display problem in displaying integers

#3 Post by Naveen11 » 28 Feb 2024 09:51

it changes der are 16 variables but we cant say this variables causes issues, it changes every time we re program the mcu, but mostly 3 variables gets afftected by this issue and those variables are random..

Thomas.Pahl@t-online.de
Posts: 158
Joined: 24 May 2008 15:55
Location: Germany

Re: t6963 display problem in displaying integers

#4 Post by Thomas.Pahl@t-online.de » 29 Feb 2024 07:06

Perhaps timing problems.

For a test try the following: set the mcu clock frequency (in edit project) to 4 times the mcu really runs and test again.

If that runs, then better write your own library.

Naveen11
Posts: 6
Joined: 22 Mar 2020 08:02

Re: t6963 display problem in displaying integers

#5 Post by Naveen11 » 03 Mar 2024 06:16

hi the problem solved now the change i made was instead of typing the to converts as character i used (0x30 ) , now i have changed it to 48, now the code works fine , can i know its the problem with compiler standard or its problem with my approach towards the way i code?.....


problematic one

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


working one

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) +48)), 24+Fi_Xpos ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickC/10)%10) +48)), 24+Fi_Xpos+5 ,Ypos+(13*2));
T6963C_Write_char_adv( ( (char) (((unsigned int)(Pulse_PickC)%10) +48)), 24+Fi_Xpos+10 ,Ypos+(13*2));
delay_ms(15);

User avatar
Tanja_Kovacevic
mikroElektronika team
Posts: 98
Joined: 09 Aug 2021 11:39

Re: t6963 display problem in displaying integers

#6 Post by Tanja_Kovacevic » 04 Mar 2024 16:48

Hi,

Thank you for sharing your solution with other customers who can face a similar issue.

Kind regards,
Tanja

Post Reply

Return to “mikroC PRO for PIC General”