Как отобразить 2-значное число в двоичной схеме сумматора?

Я сделал 4-битную схему сумматора, используя 4008 IC. И вывод суммы двух 4-битных чисел из этой ИС был передан в один двоично-десятичный декодер в 7-сегментный декодер (74LS47), чтобы я мог получить десятичный вывод. Но так как я не могу отображать числа больше 9, мне нужны две микросхемы 74LS47. Но какая дополнительная схема должна быть сделана, чтобы она могла остановить это переполнение десятичного числа? 9? И предположим, что мои два двоичных числа, которые нужно добавить, равны 101(5) +101(5). Я получу двоичный вывод 1010(10). Как я могу отобразить это, используя две микросхемы декодера BCD в 7 сегментов?

Вам не нужно менять схему. 74LS47 отображает уникальный шаблон для каждого возможного 4-битного ввода. После 9 шаблон не соответствует ни одному нормальному числу, но если вы держите распечатку таблицы данных под рукой, вы можете легко ее расшифровать.

Ответы (4)

Я думаю, это может помочь. Вам нужно внести некоторые изменения в это и подключить вашу IC, но здесь можно увидеть использование двух семисегментных дисплеев, поймите идею.введите описание изображения здесь

«Двоичный сумматор» не будет производить десятичный вывод - для этого требуется преобразование из двоичного в двоично-десятичный код. В качестве альтернативы, можно более прямо вывести 2-значный шестнадцатеричный вывод, однако, к сожалению, обычные микросхемы 7-сегментного декодера не отображают интуитивно понятные буквенные символы, а скорее странные (если они поддаются обучению) шаблоны для значений выше 9.
@ChrisStratton: Ваш старый комментарий появился, когда возник этот вопрос. Можете ли вы уточнить, почему это не сработает. Я никогда не видел такой схемы, но мне она кажется умной. Если «A» > 9, то добавьте 6 к «A», что приведет к тому, что LSD перейдет к / после нуля, а перенос даст «1» на цифре десятков.

Я когда-то сделал это как часть моей лаборатории цифровых схем. Ваша проблема в том, что у вас есть 4-битный нет. вход (0-15) который нужно отдать на 2 74ls47 ics. Скажем, 4-битный ввод no равен abcd , вводы 74ls47 ic для разряда десятков равны p1 q1 r1 s1 , а вводы для разряда единиц p2 q2 r2 s2 (здесь a и p — старшие биты). Теперь вы можете составить таблицу истинности с входными данными abcd и соответствующими значениями, которые вы хотите получить на обоих pqrs . Далее на основе этой таблицы нужно решить Kmap для каждой из 8 переменных p1-s2 . Каждая из этих переменных зависит только от 4 входов: abcd, Итак, вам нужно решить 8, 4x4 Kmaps. Выглядит утомительно, но все Kmaps и выражения для pqrs будут довольно простыми. Цитата из моего лабораторного отчета:

p2=a(c')(b')
q2=b(a'+c)
r2=ab(c')+(a').c
s2=d
s1=a.(b+c)

Вам не нужно p1 q1 r1 для отображения 0-15. Реализуйте это, используя базовые логические вентили.

Используйте шестнадцатеричный формат . Одна шестнадцатеричная цифра (0-9, AF) представляет одно из 16 состояний, то есть 4 бита.

Именно поэтому использовались шестнадцатеричные (а в прежние времена восьмеричные, но уже не так много). Каждая цифра напрямую указывает на 4 бита (3 для восьмеричного). Для вашего собственного хобби-проекта и даже для отображения значений в вычислительном контексте вы часто можете напрямую использовать hex.

Если вам нужно отображать десятичные значения для конечных пользователей, используйте микроконтроллер. Все это специализированное оборудование только для создания 7-сегментных шаблонов отображения десятичных чисел глупо в современном мире. Микроконтроллер может выполнять двоичное преобразование в десятичное, а затем преобразовывать каждую цифру в соответствующий шаблон 7-сегментного дисплея. Он может даже мультиплексировать несколько цифр, чтобы уменьшить количество соединений и, следовательно, размер микросхемы и сложность маршрутизации.

DM9368 решает эту проблему напрямую - он отображает правильные шестнадцатеричные коды и имеет постоянный ток для дисплея. Недостаток в том, что он очень энергоемкий.