Processes | |
LCD_FSM | ( lcd_clk ) |
prescaler | |
Signals | |
lcd_clk | std_logic := ' 0 ' |
init_lcd | std_logic := ' 0 ' |
paint_lcd | std_logic := ' 0 ' |
busy_lcd | std_logic := ' 0 ' |
line1_lcd | lcd_line |
line2_lcd | lcd_line |
lcd_cs | lcd_states |
Component Instantiations | |
lcd_contr | lcd_controller <Entity lcd_controller> |
lcd controller |
Definition at line 52 of file LCD.vhd.
LCD_FSM | ( lcd_clk ) |
Definition at line 74 of file LCD.vhd.
00074 LCD_FSM : process(lcd_clk) 00075 variable cnt : integer range 0 to 7; 00076 begin 00077 if lcd_clk'event and lcd_clk = '1' then 00078 if RES = '1' then 00079 init_lcd <= '1'; 00080 lcd_cs <= lcdinit; 00081 else 00082 case lcd_cs is 00083 when lcdinit => 00084 cnt := cnt + 1; 00085 if cnt = 1 then 00086 init_lcd <= '1'; 00087 cnt := 0; 00088 lcd_cs <= lcdwrite; 00089 else 00090 lcd_cs <= lcd_cs; 00091 end if; 00092 00093 when lcdwrite => 00094 if busy_lcd = '0' then 00095 paint_lcd <= '1'; 00096 if (TAKE and GIVE) = '1' then 00097 line1_lcd <= (ch_f_c, ch_u_c, ch_c_c, ch_k_c, ch_space, ch_e_c, ch_r, ch_r, ch_o, ch_r, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space); 00098 line2_lcd <= (ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space); 00099 elsif TAKE = '1' then 00100 line1_lcd <= (ch_space, ch_space, ch_t_c, ch_a, ch_k, ch_i, ch_n, ch_g, ch_space, ch_space, ch_d_c, ch_a, ch_t, ch_a, ch_space, ch_space); 00101 line2_lcd <= (ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star, ch_star); 00102 elsif GIVE = '1' then 00103 line1_lcd <= (ch_space, ch_space, ch_r_c, ch_e, ch_a, ch_d, ch_i, ch_n, ch_g, ch_space, ch_space, ch_o_c, ch_u, ch_t, ch_space, ch_space); 00104 line2_lcd <= (ch_i_c, ch_r, ch_e, ch_n, ch_a, ch_space, ch_w, ch_a, ch_i, ch_t, ch_i, ch_n, ch_g, ch_dot, ch_dot, ch_dot); 00105 else 00106 line1_lcd <= (ch_f_c, ch_u_c, ch_c_c, ch_k_c, ch_space, ch_e_c, ch_r, ch_r, ch_o, ch_r, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space); 00107 line2_lcd <= (ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space, ch_space); 00108 end if; 00109 else 00110 null; 00111 end if; 00112 lcd_cs <= lcd_cs; 00113 00114 when others => 00115 lcd_cs <= lcdinit; 00116 00117 end case; 00118 end if; 00119 end if; 00120 end process LCD_FSM;
lcd_contr lcd_controller [Component Instantiation] |