void init_LCD(void) { delay_ms(100); /*****************************************/ /* Function Set : 2 lines mode, 5x7 dots */ /*****************************************/ output_low(PIN_E1); delay_ms(1); output_high(PIN_E1); delay_ms(1); output_low(PIN_E2); output_low(PIN_E0); output_D(0x38); output_low(PIN_E1); /*****************************************/ /*****************************************/ /*****************************************/ delay_ms(1); /**************************************************************/ /* Display on/off control : display on, cursor off, blinky off */ /**************************************************************/ output_low(PIN_E1); delay_ms(1); output_high(PIN_E1); delay_ms(1); output_low(PIN_E2); output_low(PIN_E0); output_D(0x0C); output_low(PIN_E1); /**************************************************************/ /**************************************************************/ /**************************************************************/ delay_ms(1); /*****************/ /* Clear Display */ /*****************/ output_low(PIN_E1); delay_ms(1); output_high(PIN_E1); delay_ms(1); output_low(PIN_E2); output_low(PIN_E0); output_D(0x01); output_low(PIN_E1); /*****************/ /*****************/ /*****************/ delay_ms(5); /************************************************/ /* Entry mode set : increment, entire shift off */ /************************************************/ output_low(PIN_E1); delay_ms(1); output_high(PIN_E1); delay_ms(1); output_low(PIN_E2); output_low(PIN_E0); output_D(0x06); output_low(PIN_E1); /************************************************/ /************************************************/ /************************************************/ delay_ms(1); output_D(0x00); }