Jump to content

    

Реализация счетчика нажатия клавиш ps2

Помогите найти ошибку в реализации кода.:dash2::help: Был создан драйвер клавиатуры(ps2), который, помимо нажатия клавиши, фиксирует "динамику присоединения", то есть к каждой клавише должно дополнительно указываться время, когда она была нажата, и как долго длилось нажатие, пока следующая клавиша не была нажата, и помещена в память. В качестве  идентификатора клавиш сохраняется ASCII-код каждой кнопки.

Весь реализованный код с таймером находится в приложении. 

--значение таймера сохранить в array
if(zeile=0 and spalte <19) then  --ряд = 0, столбец <19
 matrix(zeile, spalte) <=x"01"; --ряд, столбец
zeile<= zeile+1;
--идентифицирует, что значение таймера было в Array сохранено
timer1<='1';
 timer2<='0';
in_array_gespeichert<='0';
matrix(1,0)<=ascii;
-- zeile2<=zeile;
-- spalte2<=spalte;
ar_ps2 <= matrix(0,0);
ar_ps2 <= matrix(1,0);
ar_ps2 <= matrix(2,0);
zeile<= zeile+1; --ряд +1

else 
spalte <= 0;
matrix(zeile, spalte)<=x"02";-- X"02" -держатель места; ряд, столбец
end if;
            state <= output; 
array_test<='0';
          ELSE    

  if(spalte <19 and zeile=2) then
  matrix(zeile, spalte)<=x"11"; -- 2 значение таймера. X"11" -тут как держатель места;
  timer2<='1';
   timer1<='0';
  in_array_gespeichert<='1'; --сохранено в Array
  zeile <=0;
  spalte<=spalte+1;
  end if;
  array_test<='1';
  state <= ready;      
          END IF;

 

debounce.vhdl

Share this post


Link to post
Share on other sites
12 минут назад, Olena03 сказал:

Помогите найти ошибку в реализации кода.

Какую?

Телепаты ещё не вышли из новогоднего запоя.

Share this post


Link to post
Share on other sites

реализованный счетчик не считает время, которое клавиша была нажата и не выводит его на LEDs. 

Share this post


Link to post
Share on other sites
matrix(zeile, spalte) <=x"01"; --ряд, столбец
zeile<= zeile+1;
matrix(1,0)<=ascii;
ar_ps2 <= matrix(0,0);
ar_ps2 <= matrix(1,0);
ar_ps2 <= matrix(2,0);
zeile<= zeile+1; --ряд +1

Как, по-вашему, это должно работать?

Если вы думаете, что это будет сделано последовательно, как в обычной программе, то вы ошибаетесь.

Ну и форматирование у вас, кхм, не способствует восприятию кода.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now