IBM H8 Network Card User Manual


 
HTEB1
User manual
Issue 0.2 Page 37 07/2002
u8 LCDReadStatus(void) // get the LCD status register
{
u8 status;
CLEAR_LCD_RS;
SET_LCD_RW;
LCD_DATA_CTRL = LCD_IN;
SET_LCD_EN;
status = LCD_DATA_PORT;
CLEAR_LCD_EN;
LCD_DATA_CTRL = LCD_OUT;
return status;
}
void LCDInit(void) // init LCD
{
u16 cnt=0;
CLEAR_LCD_RS;
CLEAR_LCD_RW;
CLEAR_LCD_EN;
PCR7 |= 0x30; // Set RS+RW = Output
PCR2 |= 0x01; // Set EN = Output
LCD_DATA_CTRL = LCD_OUT; // Set DDR to Output
LCDWriteCmd(0x38); // 8Bit-IF, 2 Lines, 5x7 character font
while(--cnt);
LCDWriteCmd(0x38); // 8Bit-IF, 2 Lines, 5x7 character font
while(--cnt);
LCDWriteCmd(0x38); // 8Bit-IF, 2 Lines, 5x7 character font
while(--cnt);
LCDWriteCmd(0x38); // 8Bit-IF, 2 Lines, 5x7 character font
while(--cnt);
// LCDWriteCmd(0x01); // Display Clear
// LCDReadStatus();
// LCDWriteCmd(0x0f); // DisplayOn, CursorOn, BlinkingOn
LCDWriteCmd(0x0c); // DisplayOn, CursorOff, BlinkingOff
LCDReadStatus();
LCDWriteCmd(0x06); // Enter Mode, AutoIncrement
LCDReadStatus();
LCDWriteCmd(0x14); // MoveCursor right
LCDReadStatus();
LCDWriteCmd(0x80); // Set DD RAM Address = 0x00
LCDReadStatus();
}
// writesomedata from 1st position in #line (0/1)
void LCDWriteLine(u8 line, const u8 *data)
{
LCDWriteCmd(0x80 + line*0x40); // select line
while (*data)
{
LCDWriteData(*data);
data++;
}
}
void Delay(void) // "manual" delay
{
long z = 0x200000;
while(--z);
}
const u8 Text1[17] = " embesso ";
const u8 Text2[17] = " presents ";
const u8 Text3[17] = " HITACHI ";
const u8 Text4[17] = " Tiny-H8/3664F ";
const u8 Text5[17] = "LowCostEvalBoard";