Из 2х нибблов 1 байт

Обсуждаем цифровые устройства...
Ответить
Встал на лапы
Сообщения: 81
Зарегистрирован: Сб мар 17, 2012 19:45:46

Сообщение дидя »

РегФайл.rar
(14.81 КБ) 173 скачивания
Помогите разобраться. Мне нужно загрузить в сдвиговый регистр 8 разрядный код с 16 кнопочной клавиатуры. Идея заключалась в следующем: нажимаем одну за одной 2 кнопки и по 4 разряда защелкиваем в триггерах и затем загружаем в 8 разрядный регистр ( в схеме не показан 155 ИР13) . В схеме применены регистры 155ТМ7, в переключателе разрешения записи 561ТМ2. Может кто-нибудь сталкивался с такой задачей. У меня ничего не получается. Прилагаю макет схемы в Протеусе.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15741
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Есть такие микрушки - К155ИВ1(M74HC148), К155ИВ3...
Используй готовые решения по возможности.
8)
Реклама
Встал на лапы
Сообщения: 81
Зарегистрирован: Сб мар 17, 2012 19:45:46

Сообщение дидя »

BOB51 писал(а):Есть такие микрушки - К155ИВ1(M74HC148), К155ИВ3...
Используй готовые решения по возможности.
8)
Прежде всего спасибо за отклик. Этот вариант исключается. Кодер делается на диодах за неимением микрушек. Вопрос не в кодировании, а в реализации алгоритма преобразования 2х нибблов в байт. Кратко перефразировав нужно примерно так: защёлкнуть в 1м триггере, защёлкнуть во 2 м триггере, снять байт, сбросить триггера ( или перевести в зет на выходах), и опять всё сначала - защёлкнуть ...
Готовых решений не нашёл, но поверьте искал добросовестно, поэтому я здесь.
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Где-то сдвиговый регистр, что-то там делают 2 кнопки которых нет...

Из того что понял вот переделал.

Имейте в виду, что применены прозрачные защелки. Для нормальной работы может потребоваться перейти на многоступенчатую схему защелкивания:
1) разрешение/установка данных 1
2) защелкивание 1
3) разрешение 2
4) защелкивание 2
Вложения
РегФайл.zip
(15.09 КБ) 128 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 15741
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

дидя писал(а):Вопрос не в кодировании, а в реализации алгоритма преобразования 2х нибблов в байт. Кратко перефразировав нужно примерно так: защёлкнуть в 1м триггере, защёлкнуть во 2 м триггере, снять байт, сбросить триггера ( или перевести в зет на выходах), и опять всё сначала - защёлкнуть ...
Готовых решений не нашёл, но поверьте искал добросовестно, поэтому я здесь.
Тогда надо вспомнить о том, что существуют системы с распределенным тактированием соответствующих узлов схемы.
Ставим тактовый генератор, счетчик-дешифратор и импульсами с дешифратора тактируем последовательно каждую зону.
8)
Реклама
Встал на лапы
Сообщения: 81
Зарегистрирован: Сб мар 17, 2012 19:45:46

Сообщение дидя »

Уважаемый uk8amk. Благодаою за отклик. В целом наши мысли совпадают. Беда в том, что я плохо ориентируюсь а Протезе. Но ваша мысль мне понятна. Я немного изменил предложенный вами
вариант схемы. Я перенёс индикаторы выходов на неинвертирующие выходы ( так легче сравнивать
вход и выход). В добавленный вами второй 4013 я внёс изменения - перенёс вход от кнопки на
выход первого 4013 и соединил D с инвертирующим выходом. Появилось какое-то третье состояние,
индицирующееся желтым цветом, но ведущее себя как лог. единица. Рамышляя и анализируя пришел к такому алгоритму:
Начало ( на входах и выходах обоих триггеров 0000), нажимаем одну кнопку
(задаём код, например 1001) положительным перепадом на Е1 записывается код в 1й триггер,
отпускаем кнопку,отрицательным перепадом на Е1 (лог 0) первый триггер защёлкивает на своём
выходе код (1001).
Нажимаем вторую кнопку ( задаем код, например 0110) положительным перепадом на Е2 записывается этот код во второй триггер, при этом на разрешающем входе Е1
сохраняется лог.0, при отпускании второй кнопки на входе разрешения Е2 устанавливается лог0.
Во втором триггере защёлкивается код 0110 (код второй кнопки) при этом и на Е1 и Е2 должны
быть лог0.
Далее будет идти считывание байта с выходов защёлок ( в нашем примере 1001 0110) в сдвиговый регистр и дальше будет повтряться этот алгоритм сначала и следующий байт будет
загружен в сдвиговый регистр и т. д. до бесконечности.
РегФайл1.rar
(14.05 КБ) 107 скачиваний
PS. Здесь не поняли описание 2х кнопок. Поясняю, кнопок 16 ( коды от 0000 до FFFF) Что бы получить 1 байт нужно последовательно нажать 2 кнопки ( любые) и потом этот байт загрузить в сдвиговый регистр.
Последний раз редактировалось дидя Пт июн 12, 2015 12:54:57, всего редактировалось 1 раз.
Реклама
Встал на лапы
Сообщения: 81
Зарегистрирован: Сб мар 17, 2012 19:45:46

Сообщение дидя »

BOB51 писал(а): Ставим тактовый генератор, счетчик-дешифратор и импульсами с дешифратора тактируем последовательно каждую зону.
8)
Это уже ближе к делу. Схемку не набросаете? А может отказаться от параллельного ввода? Взять, например, четырёхразрядный сдвиговый регистр 155ИР1, нажав первую кнопку, загнать 4 разряда этой кнопки, за 4 такта сдвинуть код в 8 разрядный 155ИР13, затем второй кнопкой загнать 4 разряда и также за следующих 4 такта сдвинуть, при этом в 8 разрядном регистре и будет 8 бит. Или я где-то ошибаюсь?
Друг Кота
Аватара пользователя
Сообщения: 15741
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Это классический цифровой автомат - прототип любого МК.
Насчет схемки... вломушки...А древние самочерченные на бумаге уже подзатерялись. :sleep:
Читаньки:
Потёмкин И.С.
Функциональные узлы цифровой автоматики.
М.: Энергоатомиздат, 1988год.
В частности "глава 7. Система синхронизации."
:beer:
Встал на лапы
Сообщения: 81
Зарегистрирован: Сб мар 17, 2012 19:45:46

Сообщение дидя »

BOB51 Спасибушки за подсказку. Поищу Потёмкина. Вспоминаю далёкие 70 е Киевский политех, делал на раз комбинационные схемы, составлял уравнения, карты Карно а сейчас подзабыл, 40 лет прошло...
Собутыльник Кота
Аватара пользователя
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Сообщение B@R5uk »

Борьба с дребезгом как-то предусмотрена? А то наштампуется куча байт с кодом одной и той же кнопки.

Мне решение вашей задачи видится как-то так:

Изображение
Вложения
2nibbles2byte.gif
(10.33 КБ) 543 скачивания
Ответить

Вернуться в «Цифровая техника»