void LCD_Cursor(unsigned char column ) { if ( column < 16 ) { // IEEE change this value to 16 LCD_WriteCmdStart(0x80+column); } else { LCD_WriteCmdStart(0xBF+column); // IEEE change this value to 0xBF+column } }
void LCD_Cursor(unsigned char column ) { if ( column < 8 ) { LCD_WriteCmdStart(0x80+column); } else { LCD_WriteCmdStart(0xB8+column); } }
void LI_Tick() { static unsigned char i; switch(LI_State) { // Transitions case -1: if(startTheGame) { LI_State = LI_Init1; } break; case LI_Init1: LI_State = LI_Init2; i=0; break; case LI_Init2: if (i<10) { // Wait 100 ms after power up LI_State = LI_Init2; } else { LI_State = LI_Init3; } break; case LI_Init3: LI_State = LI_Init4; LCD_WriteCmdEnd(); break; case LI_Init4: LI_State = LI_Init5; LCD_WriteCmdEnd(); break; case LI_Init5: LI_State = LI_Init6; LCD_WriteCmdEnd(); break; case LI_Init6: LI_State = LI_WaitDisplayString; LCD_WriteCmdEnd(); break; ////////////////////////////////////////////// case LI_WaitDisplayString: if (!LCD_go_g) { LI_State = LI_WaitDisplayString; } else if (LCD_go_g) { LCD_rdy_g = 0; LI_State = LI_Clr; } break; case LI_Clr: LI_State = LI_PositionCursor; LCD_WriteCmdEnd(); i=0; break; case LI_PositionCursor: LI_State = LI_DisplayChar; LCD_WriteCmdEnd(); break; case LI_DisplayChar: if (i<16) { LI_State = LI_PositionCursor; LCD_WriteDataEnd(); i++; } else { LI_State = LI_WaitGo0; LCD_WriteDataEnd(); } break; case LI_WaitGo0: if (!LCD_go_g) { LI_State = LI_WaitDisplayString; } else if (LCD_go_g) { LI_State = LI_WaitGo0; } break; default: if(startTheGame) { LI_State = LI_Init1; } } // Transitions switch(LI_State) { // State actions case LI_Init1: LCD_rdy_g = 0; break; case LI_Init2: i++; // Waiting after power up break; case LI_Init3: LCD_WriteCmdStart(0x38); break; case LI_Init4: LCD_WriteCmdStart(0x06); break; case LI_Init5: LCD_WriteCmdStart(0x0F); break; case LI_Init6: LCD_WriteCmdStart(0x01); // Clear break; ////////////////////////////////////////////// case LI_WaitDisplayString: LCD_rdy_g = 1; break; case LI_Clr: LCD_WriteCmdStart(0x01); break; case LI_PositionCursor: LCD_Cursor(i); break; case LI_DisplayChar: LCD_WriteDataStart(LCD_string_g[i]); break; case LI_WaitGo0: break; default: break; } // State actions }