Перейти к содержанию
    

Как вывести полученное двузначное число ,допустим в результате перемножения, на 4-ёх разрядный 7-ми сегментный индикатор, используя десятичную систему счисления? Т.е., к примеру, вывести на индикатор результат произведения 9x9 = 81? Как отделить десятки от единиц и вывести их отдельно на каждый разряд?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как вывести полученное двузначное число ,допустим в результате перемножения, на 4-ёх разрядный 7-ми сегментный индикатор, используя десятичную систему счисления? Т.е., к примеру, вывести на индикатор результат произведения 9x9 = 81? Как отделить десятки от единиц и вывести их отдельно на каждый разряд?

Если всего двузначное, то может проще всего через ПЗУ 128х16 - сразу в два 7-сегментных кода. Иначе надо сначала преобразовывать в bcd код, либо делением на степени 10 (здесь просто на 10 - частное десятки, остаток единицы), либо заменить деление последовательным вычитанием 10 или параллельным сравнением со сразу всеми десятками (10,20,...90).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, всего двузначное...

 

может проще всего через ПЗУ 128х16 - сразу в два 7-сегментных кода

Не совсем понятно как это :blush:

Изменено пользователем Claw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, всего двузначное...

Не совсем понятно как это :blush:

Исходим из предположения, что Вы знаете какие сегменты надо зажигать для отдельной десятичной цифры 0-9. Дальше пишется на ПК вспомогательная программка, которая перебирая числа от 00 до 99 для каждого числа формирует 14-битное число, состоящее из двух 7-битных (для 7 сегментов индикатора), каждое из которых соответствует Вашему знанию, как отобразить одну десятичную цифру (одна - частное от деления полного числа на 10, другая - остаток от деления). Полученная готовая таблица 100 значений по 14 бит далее напрямую используется в устройстве, наиболее логично в качестве предзаданной таблицы ПЗУ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не думала, что получится такое громоздкое решение)))Спасибо, что объяснили!

Изменено пользователем Claw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

либо заменить деление последовательным вычитанием 10 или параллельным сравнением со сразу всеми десятками (10,20,...90).

Дык второй вариант будет с какой-то стороны менее громоздким. 9 компараторов и сумматор и по мелочи. На VHDL это будет какой-нить свитч на 10 строк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 компараторов и сумматор и по мелочи

А что с чем сравнивать и что это даст?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот нашел, даже с куском верилога

 

http://people.ee.duke.edu/~dwyer/courses/e...D_Converter.pdf

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Если мне не изменяет память, то есть такая команда в микроконтроллере как "Десятичная корекция". Алгоритм работы команды не помню, но достаточно простой и не сложный. Попробуйте покапать в этом направлении

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ok, покаoпаю) и спасибо за ссылку barabek ;)

 

Отдельно спасибо ViKo за предоставление услуг исправления ошибок, лучше даже, чем в MS Office.

Изменено пользователем Claw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обращаюсь а автору темы и модераторам.

Картинку подписи уберите. Здесь не детский сад.

А заодно и мое сообщение.

Есть слова "копать" и "капать". В данном случае следует употреблять первое.

 

Отдельно спасибо ViKo за предоставление услуг исправления ошибок, лучше даже, чем в MS Office.

Можете на меня полагаться и в будущем. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В-принципе, можно создать таблицу - массив из 256 элементов, каторая выдаст нужные сегменты трехразрядного индикатора в зависимости от числа - индекса в этом массиве. И пусть компилятор сам ужимает ресурсы, как сможет.

Это уже высказал ys05. Извиняюсь, недосмотрел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

без проблем.

 

Тогда ищете темы bin_bcd, bcd_bin и просто копируете (корректируя разрядность в чисто поведенческом описании)

http://electronix.ru/forum/index.php?showt...amp;hl=bin2_bcd

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...