#include "biosdem.h" void lcd_init(void) { LCD_DIR_INIT ; LCD_RW = 0 ; LCD_RS = 0; // write control bytes DelayMs(15); // power on delay PORTD = 0x3; // attention! LCD_STROBE; DelayMs(5); LCD_STROBE; DelayUs(100); LCD_STROBE; DelayMs(5); PORTD = 0x2; // set 4 bit mode LCD_STROBE; DelayUs(40); lcd_write(0x28); // 4 bit mode, 1/16 duty, 5x8 font lcd_write(0x08); // display off lcd_write(0x0F); // display on, blink curson on lcd_write(0x06); // entry mode } void lcd_write(unsigned char c) { PORTD = (PORTD & 0xF0) | (c >> 4); LCD_STROBE; PORTD = (PORTD & 0xF0) | (c & 0x0F); LCD_STROBE; DelayUs(40); }