Claw 0 Posted October 23, 2011 · Report post Как вывести полученное двузначное число ,допустим в результате перемножения, на 4-ёх разрядный 7-ми сегментный индикатор, используя десятичную систему счисления? Т.е., к примеру, вывести на индикатор результат произведения 9x9 = 81? Как отделить десятки от единиц и вывести их отдельно на каждый разряд? Quote Ответить с цитированием Share this post Link to post Share on other sites
ys05 0 Posted October 23, 2011 · Report post Как вывести полученное двузначное число ,допустим в результате перемножения, на 4-ёх разрядный 7-ми сегментный индикатор, используя десятичную систему счисления? Т.е., к примеру, вывести на индикатор результат произведения 9x9 = 81? Как отделить десятки от единиц и вывести их отдельно на каждый разряд? Если всего двузначное, то может проще всего через ПЗУ 128х16 - сразу в два 7-сегментных кода. Иначе надо сначала преобразовывать в bcd код, либо делением на степени 10 (здесь просто на 10 - частное десятки, остаток единицы), либо заменить деление последовательным вычитанием 10 или параллельным сравнением со сразу всеми десятками (10,20,...90). Quote Ответить с цитированием Share this post Link to post Share on other sites
Claw 0 Posted October 23, 2011 (edited) · Report post Да, всего двузначное... может проще всего через ПЗУ 128х16 - сразу в два 7-сегментных кода Не совсем понятно как это Edited October 23, 2011 by Claw Quote Ответить с цитированием Share this post Link to post Share on other sites
ys05 0 Posted October 23, 2011 · Report post Да, всего двузначное... Не совсем понятно как это Исходим из предположения, что Вы знаете какие сегменты надо зажигать для отдельной десятичной цифры 0-9. Дальше пишется на ПК вспомогательная программка, которая перебирая числа от 00 до 99 для каждого числа формирует 14-битное число, состоящее из двух 7-битных (для 7 сегментов индикатора), каждое из которых соответствует Вашему знанию, как отобразить одну десятичную цифру (одна - частное от деления полного числа на 10, другая - остаток от деления). Полученная готовая таблица 100 значений по 14 бит далее напрямую используется в устройстве, наиболее логично в качестве предзаданной таблицы ПЗУ. Quote Ответить с цитированием Share this post Link to post Share on other sites
Claw 0 Posted October 23, 2011 (edited) · Report post Не думала, что получится такое громоздкое решение)))Спасибо, что объяснили! Edited October 23, 2011 by Claw Quote Ответить с цитированием Share this post Link to post Share on other sites
GetSmart 0 Posted October 23, 2011 · Report post либо заменить деление последовательным вычитанием 10 или параллельным сравнением со сразу всеми десятками (10,20,...90). Дык второй вариант будет с какой-то стороны менее громоздким. 9 компараторов и сумматор и по мелочи. На VHDL это будет какой-нить свитч на 10 строк. Quote Ответить с цитированием Share this post Link to post Share on other sites
Claw 0 Posted October 23, 2011 · Report post 9 компараторов и сумматор и по мелочи А что с чем сравнивать и что это даст? Quote Ответить с цитированием Share this post Link to post Share on other sites
barabek 0 Posted October 23, 2011 · Report post вот нашел, даже с куском верилога http://people.ee.duke.edu/~dwyer/courses/e...D_Converter.pdf Quote Ответить с цитированием Share this post Link to post Share on other sites
Ttitan 0 Posted October 24, 2011 · Report post Добрый день! Если мне не изменяет память, то есть такая команда в микроконтроллере как "Десятичная корекция". Алгоритм работы команды не помню, но достаточно простой и не сложный. Попробуйте покапать в этом направлении Quote Ответить с цитированием Share this post Link to post Share on other sites
Claw 0 Posted October 24, 2011 (edited) · Report post ok, покаoпаю) и спасибо за ссылку barabek ;) Отдельно спасибо ViKo за предоставление услуг исправления ошибок, лучше даже, чем в MS Office. Edited October 24, 2011 by Claw Quote Ответить с цитированием Share this post Link to post Share on other sites
sazh 0 Posted October 24, 2011 · Report post ok, покапаю А можно вопросы задавать без всяких палочек? Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted October 24, 2011 · Report post Обращаюсь а автору темы и модераторам. Картинку подписи уберите. Здесь не детский сад. А заодно и мое сообщение. Есть слова "копать" и "капать". В данном случае следует употреблять первое. Отдельно спасибо ViKo за предоставление услуг исправления ошибок, лучше даже, чем в MS Office. Можете на меня полагаться и в будущем. :) Quote Ответить с цитированием Share this post Link to post Share on other sites
Claw 0 Posted October 24, 2011 · Report post Viko, sazh, без проблем, господа. Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted October 24, 2011 · Report post В-принципе, можно создать таблицу - массив из 256 элементов, каторая выдаст нужные сегменты трехразрядного индикатора в зависимости от числа - индекса в этом массиве. И пусть компилятор сам ужимает ресурсы, как сможет. Это уже высказал ys05. Извиняюсь, недосмотрел. Quote Ответить с цитированием Share this post Link to post Share on other sites
sazh 0 Posted October 24, 2011 · Report post без проблем. Тогда ищете темы bin_bcd, bcd_bin и просто копируете (корректируя разрядность в чисто поведенческом описании) http://electronix.ru/forum/index.php?showt...amp;hl=bin2_bcd Quote Ответить с цитированием Share this post Link to post Share on other sites