Поиск
Показаны результаты для тегов 'счётчик'.
-
Асинхронный счетчик с модулем 12 на Т-триггерах
SyTmen опубликовал тема в Схемотехника
Здравствуйте, имею задание : Создать Асинхронный счетчик обратного счета с модулем 12 на Т-триггере. Сделал для начало схему самого счетчика при 4-х Т-триггерах прямого счета, возникла проблема, что он не совсем точный и выводит не те цифры на очень малых периодах, вот сама схема и её часовая диаграмма: Все же решил продолжить и делать схему, сделал таблицу переходи и минимизируя сигналы возбуждения: Получил такую часовую диаграмму: Что со схемой не так, как переделать, чтобы он считал: 0 - 12 - 11 - 10 - 9 - 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1 - 0 ? Вот схемы в MicroCap: P6-B14.cir P6-B142.cir -
Реализация счетчика нажатия клавиш ps2
Olena03 опубликовал тема в Языки проектирования на ПЛИС (FPGA)
Помогите найти ошибку в реализации кода. Был создан драйвер клавиатуры(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