2010-10-07 4 views
2

Я собираюсь сделать a computer в Minecraft. Я понимаю, как построить компьютер, где он может выполнять двоичные операции, но я хочу, чтобы выходы отображались как стандартные целые числа. Как вы «конвертируете» двоичные файлы в стандартные цифры? Есть ли диаграмма для этого? И цифры будут показаны как в старых калькуляторах; с 7 линиями.Двоичная стандартная цифра?

-- 
| | 
-- 
| | 
-- 
+1

Очень впечатляющее видео. Добавьте некоторую логику управления, счетчик программ, несколько регистров и ПЗУ с программой, и у вас есть минимальный компьютер. – starblue

ответ

3

В электронике то, что вам нужно, называется преобразователем «двоичный в двоичный кодированный десятичный». «Двоичный кодированный десятичный знак» - это набор бит, необходимых для создания номера на 7-сегментном дисплее. Here's a PDF, описывающий, как работает один из этих чипов. В PDF-таблице показана таблица истинности, необходимая для преобразования, а также изображение всех NAND-ворот, которые реализуют его на аппаратном уровне. Вы можете использовать таблицу истинности для создания набора булевых выражений, необходимых в вашей программе.

1
0 = 0 
1 = 1 
10 = 2 
11 = 3 
100 = 4 
101 = 5 
110 = 6 
111 = 7 
... 

вы видите шаблон ли? Вот формула:

number = 2^0 * (rightmost digit) 
     + 2^1 * (rightmost-but-1 digit 
     + 2^2 * (rightmost-but-2 digit) + ... 
+0

Я тоже так думал ... но почему-то я не думаю, что это то, что он ищет. Он достаточно умен, чтобы построить машину, которая выполняет двоичное добавление ... и если вы посмотрите на vid, он знает, как читать номера тоже;) – mpen

+0

Хорошая точка, ха-ха. – Domenic

1

Я думаю, что это два разных вопроса.

Существует не «бинарная строка из 0/1» в целое преобразование встроенный - вы обычно просто написать свой собственный, чтобы перебрать строки и обнаружить каждую мощность 2.

Кроме того, можно написать ваш собственный 7сегментный светодиодный дисплей - это немного сложно, потому что он на нескольких линиях, но будет интересным excersize.

В качестве альтернативы большинство ГПИ есть ЖК-шрифт, Qt, конечно, делает

1

Может быть то, что вы ищете, называется BCD или Binary Coded Decimal. Для этого есть карта и карта карна, которые использовались на протяжении десятилетий. быстрый поиск в Google дал мне эту техническую страницу http://circuitscan.homestead.com/files/digelec/bcdto7seg.htm

Как вы пытаетесь построить компьютер? Возможно, это ключевое слово может помочь вам найти то, что вам нужно. :)

1

Ваша задача состоит из двух частей:

  1. Преобразование двоичного числа в цифры, то есть сделать бинарный файл для BCD преобразования.

  2. Преобразование цифры в набор сегментов для активации.

Для последнего вы можете использовать a table that assigns the bitmap of active segments to each digit.