【文章內(nèi)容簡介】
state =writeram or state = readram else 39。039。 lcd_rw = 39。039。 when state =clear or state = returncursor or state=setmode or state=switchmode or state=shift or state= setfunction or state=setcgram or state =setddram or state =writeram else 39。139。 data =00000001 when state =clear else 00000010 when state =returncursor else 000001amp。 cur_inc amp。 cur_noshift when state = setmode else 00001 amp。 open_display amp。open_cur amp。 blank_cur when state =switchmode else 0001 amp。 shift_display amp。left_shift amp。00 when state = shift else 001 amp。 datawidth8 amp。 twoline amp。font5x10 amp。 00 when state=setfunction else 01000000 when state =setcgram else 10000000 when state =setddram and counter =0 else 11000000 when state =setddram and counter /=0 else data_in when state = writeram else zzzzzzzz。 char_addr =conv_std_logic_vector( counter,6) when state =writeram and counter40 else conv_std_logic_vector( counter41+8,6) when state= writeram and counter40 and counter818 else conv_std_logic_vector( counter81+8,6) when state= writeram and counter818 and counter81 else 000000。 process(clk_int,reset) begin if(reset=39。039。)then state=idle。 counter=0。 flag=39。039。 div_counter=0。 elsif(clk_int39。event and clk_int=39。139。)then case state is when idle = if(flag=39。039。)then state=setfunction。 flag=39。139。 counter=0。 div_counter=0。 else if(div_counterdivss )then div_counter=div_counter +1。 state=idle。 else div_counter=0。 state =shift。 end if。 end if。 w