??? 10/04/04 13:55 Read: times |
#78688 - RE: Flicker in Moving Message Display Responding to: ???'s previous message |
Hi there,
Sorry for such a late response, i was trying other ways to solve my problem. anyhow thanx for cooeration. here i m providing with my display message routine, i have tried to comment it well to make it u ppl understand. Once again thanx in advance. Regards. void DisplayMsg() { register unsigned char value, a, i, j, k; register int xloc; register unsigned int Address; unsigned char v[18]; //Buffer to hold the string register unsigned int Max, index; MsgLength = GetLength(); //MsgLength is stored in eeprom, GetLength //just reads two bytes of data from eeprom Max = MsgLength - 16; //Get String Now Address = 2; //starting address of message in eeprom ReadText(Address, 16); //reads 16 bytes of data from the Address //through the eeprom Address = 18; //Address is now 18 for(index = 0; index < Max; index++, Address++) //this is main loop to display the full //message upto Max { for(j = 0; j < 15; j++) RText[j] = RText[j + 1]; //shift one char to left RText[j] = ReadChar(Address); //Read Next Char to add to message for(xloc = 0; xloc >= -5; xloc--) //this loop is used for scrolling, //one coloumn is to be skipped each //time. { for(i = 7; i > 0; i--) //7 rows { if(i < 7) { Delay(); Delay(); } else Delay(); for(j = 0; j < 16; j++) v[j] = CharSet[RText[j] - 32][i - 1]; //CharSet is text display format, saved //in code memory, it takes time to read //therefore used as delay for(j = 15; j > 0; j--) { value = v[j]; for(k = 6; k > 0; k--) //output binary data { xd = value & 1; xc = 1; //reset clk xc = 0; value >>= 1; } }//end for j a = 6 + xloc; /*Last Character*/ value = v[j]; for(k = a; k > 0; k--) //output binary data { xd = value & 1; xc = 1; //reset clk xc = 0; value >>= 1; } if(bF1 || bF3 || bResetEnglish || bResetGraphics) return; //booleans when needed, exit from this //function ResetY(i - 1); st = 1; st = 0; //Reset Strobe }//end for i Delay(); Delay(); //Delay b4 exiting function, 4 last row display }//end for xloc }//end for index }//end void DisplayEnglish() |