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