Приветствую Вас, Гость Четверг, 02.05.2024, 16:00
RSS

Меню сайта

Хіт FM

Календарь
«  Декабрь 2012  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Архив записей

Поиск

Наш опрос
Какой проэкт Вы ожидаете?
Всего ответов: 7

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Посещения
Besucherzahler seniorpeoplemeet
счетчик посещений

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  •   
    Главная » 2012 » Декабрь » 16 » Из истории проекта WS Calc. Часть 2. Первые догадки
    00:18
    Из истории проекта WS Calc. Часть 2. Первые догадки

    После того, как мной были созданы клавиатура и дисплей, я начал создавать АЛУ. Это часть моего устройства необходима для выполнения операций над числами, т.е. плюс и минус. Но для этого мы должны иметь "нормальный” двоичный код. Объясню: у нас есть клавиатура с цифрами (0-9), но когда мы их вводим, система их видит как отдельные цифры. Чтобы исправить это, нам необходимо придать цифрам определенные значения (единиц, десяток, сотен). Мы используем двухзначные числа, значит берем только единицы и десятки. Когда мы произносим число, то начинаем со старших разрядов (например, сто двадцать пять), в нашем случае будут идти сначала десятки, потом единицы. Возникает проблема – что делать с однозначными числами. Ответ прост: от нас требуется ввод дополнительной цифры 0, т.е. число 7 будет иметь вид 07, иначе калькулятор нас не поймет:)

    С идеей все ясно, но как ее реализовать? Я нашел, как мне показалось, единственный рациональный вариант – при помощи разложения числа на составляющие сложить их, используя сумматор. Пример: цифра 9 со значением 90 в двоичном коде читается как 8+1, но у нас должны быть десятки, следовательно, 8+1 приравниваем к 80+10. Далее число 80 разлаживаем как 64+16, а 10 как 8+2. В результате мы имеем число 90 в виде 64+16+8+2.

    При разработке сумматора я использовал два поршня, это была плохая идея, но я понял это позже, главное, что работает правильно. Сумматор имеет два входа и один выход, но мне понадобилось два сумматора для построения дешифратора из 2(10) в 2 код (попросту не хватало входа для цифры 8).

    В АЛУ находятся всего четыре элемента: память, сумматор и два инвертора (по одному до и после сумматора). Также при АЛУ имеются схемы управления, которые решают что делать при отрицательном значении числа. Эти схемы на тот момент были не очень удачными, и иногда давали ошибку при вычислениях.

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

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

    Общий вид системы:


    С появление знаков "+" и "-" изменилась и клавиатура:


    Так выглядит память при АЛУ:



    Счетчик - важнейшая часть системы автоматизации (о нем в следующей статье):



    Возможности: при вводе любой цифры на клавиатуре, она будет последовательно отображаться в ячейках дисплея, кнопка очистить выполняет сброс дисплея и памяти АЛУ; копка "-" выполняет отрицание, кнопка "+" запрещает отрицание; правильно работает декодер из 10 в 2 код, из 10 в 7 код, из 2(10) в 2 код; есть возможность сложения и вычитания однозначных чисел (ответ можно прочитать в двоичном коде)


    Следите за появлением новых новостей!
    Ваш iBorjomi.

    15.12.12


    Просмотров: 256 | Добавил: Borjomi | Рейтинг: 5.0/2
    Всего комментариев: 2
    2 Borjomi  
    0
    Стас, спасибо:)

    1 стас  
    1
    Молодец! отличный калькулятор получился, успехов в дальнейшей работе.

    Имя *:
    Email *:
    Код *:
    Copyright MyCorp © 2024