/****************************************************************************************************/ /* DisPrintLongInt_Bcd */ /****************************************************************************************************/ /* */ /* description: */ /* input parameter remark */ /* --------------- ------ */ /* output parameter remark */ /* ---------------- ------ */ /* return code remark */ /* ----------- ------ */ /****************************************************************************************************/ void DisPrintLongInt_Bcd(char col, char row, unsigned long int number) { char b_position_l = 0; char b_type_l = 0; char b_chars_l = 10; unsigned long int b_old_number_l; char i; if (col == 0) /* get startaddress */ { b_position_l = row; } else { b_position_l = row + 0x40; } if (number > 999999999) { b_chars_l = 10; } else if (number > 99999999) { b_chars_l = 9; } else if (number >9999999) { b_chars_l = 8; } else if (number > 999999) { b_chars_l = 7; } else if (number > 99999) { b_chars_l = 6; } else if (number > 9999) { b_chars_l = 5; } else if (number > 999) { b_chars_l = 4; } else if (number > 99) { b_chars_l = 3; } else if (number > 9) { b_chars_l = 2; } else { b_chars_l = 1; } WriteCommand(EntryModeDec); /* Cusor decremtieren */ SetDDRamAdr(b_position_l-1); for (i = b_chars_l ; i > 0 ; i--) { b_old_number_l = number; number = number/10; b_type_l =(b_old_number_l -(10 * number))+48; WriteData(b_type_l); } WriteCommand(EntryModeInc); /* Cursor wieder auf incremtieren stellen */ }