Beruflich Dokumente
Kultur Dokumente
Reset
CLOCK_50
LCD_BLON
LCD_DATA
LCD_EN
LCD_WR
LCD_RS
LCD_RS 0
LCD_RW 1
RESET1
LCD_RS 0 RS RW
LCD_RW 0
RESET3
0 Instruction register (for write), Write
LCD_RS 0 address counter (for read)
LCD_RW 0
FUNC_SET 1 Data register Read
LCD_RS 0
LCD_RW 0
DISPLAY_OFF “00001000”
LCD_RS 0
LCD_RW 0 DISPLAY_CLEAR “00000001”
LCD_RS 0
“00001100”
LCD_RW 0 DISPLAY_ON
LCD_RS 0
LCD_RW 0
MODE_SET “00000110”
Auto increment address
and move cursor to the
right.
LCD_display_string <= (
-- Line 1
X"0" & S0,X"2E",X"0" & S1,X"0" & S2,X"20",X"56",
X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",
-- Line 2
X"55",X"4E",X"54",X"20",X"45",X"4E",X"47",X"52",
X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20");
RS 0 “11000000”
RW 0
LINE2 Set write address to line 2,
character 1
RS 0
RW 0
RETURN_HOME IF (CHAR_COUNT < 31) AND (Next_Char /= X"FE") THEN
CHAR_COUNT <= CHAR_COUNT +1;
ELSE
CHAR_COUNT <= "00000";
END IF;
“10000000”
Set write address to line 1, IF CHAR_COUNT = 15 THEN next_command <= line2;
character 1
ELSIF (CHAR_COUNT = 31) OR (Next_Char = X"FE") THEN
next_command <= return_home;
ELSE next_command <= Print_String; END IF;