331
lcd.c
#include "lcd.h"
extern unsigned char data_value;
void LCD_init(void)
{
bl_state = BL_ON;
data_value = 0x04;
PCF8574_write(data_value);
delay_ms(10);
data_value = 0x30;
PCF8574_write(data_value);
data_value |= 0x04;
PCF8574_write(data_value);
delay_ms(dly);
data_value &= 0xF1;
PCF8574_write(data_value);
delay_ms(dly);
data_value = 0x30;
PCF8574_write(data_value);
data_value |= 0x04;
PCF8574_write(data_value);
delay_ms(dly);
data_value &= 0xF1;
PCF8574_write(data_value);
delay_ms(dly);
data_value = 0x30;
PCF8574_write(data_value);
data_value |= 0x04;
PCF8574_write(data_value);
delay_ms(dly);
data_value &= 0xF1;
PCF8574_write(data_value);
delay_ms(dly);
data_value = 0x20;
PCF8574_write(data_value);
data_value |= 0x04;
PCF8574_write(data_value);
delay_ms(dly);
data_value &= 0xF1;
PCF8574_write(data_value);
delay_ms(dly);
LCD_send((_4_pin_interface | _2_row_display | _5x7_dots), CMD);
LCD_send((display_on | cursor_off | blink_off), CMD);
LCD_send((clear_display), CMD);