diff --git a/controller.sym b/controller.sym index e1ed2ab..8754dbc 100644 --- a/controller.sym +++ b/controller.sym @@ -1,17 +1,18 @@ BLOCK - 2016-6-3T16:4:48 + 2016-6-6T19:48:13 - - - - + + + + + @@ -25,17 +26,19 @@ - - - - - - - - - + + + + + + + + + + + diff --git a/controller.vhd b/controller.vhd index e5ae3d9..b352a2a 100644 --- a/controller.vhd +++ b/controller.vhd @@ -39,6 +39,7 @@ entity controller is lcd_busy: in STD_LOGIC; lcd_data: out unsigned(7 downto 0); lcd_newchar: out STD_LOGIC; + lcd_newpos : out STD_LOGIC; freq_out : out unsigned (16 downto 0)); end controller; @@ -54,6 +55,7 @@ architecture Behavioral of controller is signal charcnt_reg, charcnt_next : unsigned(3 downto 0) := (others => '0'); signal lcd_newchar_reg,lcd_newchar_next : std_logic := '0'; + signal lcd_newpos_reg,lcd_newpos_next : std_logic := '0'; signal lcd_data_reg, lcd_data_next: unsigned(7 downto 0) :=(others => '0'); type character_array is array (0 to 15) of character; @@ -76,6 +78,7 @@ begin charcnt_reg <= (others => '0'); lcd_newchar_reg <= '0'; + lcd_newpos_reg <= '0'; lcd_data_reg <= (others => '0'); busy_old_reg <= '0'; freq_out_reg <=(others => '0'); @@ -87,6 +90,7 @@ begin charcnt_reg <= charcnt_next; lcd_newchar_reg<= lcd_newchar_next; + lcd_newpos_reg<= lcd_newpos_next; lcd_data_reg <= lcd_data_next; busy_old_reg <= busy_old_next; freq_out_reg <= freq_out_next; @@ -99,8 +103,9 @@ begin freq_out <= freq_out_reg; lcd_data <= lcd_data_reg; lcd_newchar <= lcd_newchar_reg; + lcd_newpos <= lcd_newpos_reg; - proc2: process(digit_reg,enc_updown,enc_ce,enc_err,enc_btn,digpos_reg,btn_old_reg, charcnt_reg, lcd_busy, lcd_data_reg, lcd_newchar_reg, busy_old_reg) + proc2: process(digit_reg,enc_updown,enc_ce,enc_err,enc_btn,digpos_reg,btn_old_reg, charcnt_reg, lcd_busy, lcd_data_reg, busy_old_reg) begin digit_next <= digit_reg; digpos_next <= digpos_reg; @@ -108,6 +113,7 @@ begin charcnt_next <= charcnt_reg; lcd_newchar_next <= '0'; + lcd_newpos_next <= '0'; lcd_data_next <= lcd_data_reg; busy_old_next <= lcd_busy; diff --git a/lcd_driver.vhd b/lcd_driver.vhd index ce7cde8..30ec87d 100644 --- a/lcd_driver.vhd +++ b/lcd_driver.vhd @@ -130,7 +130,7 @@ begin -- type : sequential -- inputs : clk, cur_state -- outputs : none - NSL: process(clk, cur_state, cur_counter, cur_lcd_db, cur_lcd_en, cur_lcd_rs, ret_state, ret_counter, new_character,data) is + NSL: process(clk, cur_state, cur_counter, cur_lcd_db, cur_lcd_en, cur_lcd_rs, ret_state, ret_counter, new_character,data,new_pos) is begin next_counter <= cur_counter + 1; -- increment counter diff --git a/toplevel.sch b/toplevel.sch index fb33dff..a76c1b4 100644 --- a/toplevel.sch +++ b/toplevel.sch @@ -6,7 +6,6 @@ - @@ -33,15 +32,15 @@ - - + + @@ -107,20 +106,21 @@ - 2016-6-3T16:4:48 + 2016-6-6T19:48:13 - - - - - + + + + + + 2016-5-23T16:56:27 @@ -201,11 +201,12 @@ - - - - + + + + + @@ -222,8 +223,8 @@ - - + + @@ -298,11 +299,10 @@ - - - - - + + + + @@ -428,12 +428,6 @@ - - - - - - @@ -461,5 +455,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/yasg.gise b/yasg.gise index d5a3dac..5e3c79f 100644 --- a/yasg.gise +++ b/yasg.gise @@ -225,7 +225,7 @@ - + @@ -237,7 +237,7 @@ - + @@ -262,7 +262,7 @@ - + @@ -270,7 +270,9 @@ + + @@ -287,7 +289,7 @@ - + @@ -296,9 +298,11 @@ - + + + @@ -309,9 +313,8 @@ - + - @@ -324,7 +327,7 @@ - + @@ -339,8 +342,12 @@ + + + + - + diff --git a/yasg.xise b/yasg.xise index 696f131..6c92a4e 100644 --- a/yasg.xise +++ b/yasg.xise @@ -20,25 +20,25 @@ - + - + - + - + - + @@ -59,11 +59,17 @@ - + + + + + + + @@ -77,8 +83,8 @@ - - + + @@ -88,7 +94,7 @@ - +