двоично десятичный преобразователь майнкрафт
ДВОИЧНО-ДЕСЯТИЧНАЯ СИСТЕМА
Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).
Принцип построения этой системы достаточно прост: каждая десятичная цифра преобразуется прямо в свой десятичный эквивалент из 4 бит, например: 369110=0011 0110 1001 0001DEC:
Десятичное число 3 6 9 1 Двоично-десятичное число 0011 0110 1001 0001
Преобразуем двоично-десятичное число 1000 0000 0111 0010 в его десятичный эквивалент. Каждая группа из 4 бит преобразуется в её десятичный эквивалент. Получим 1000 0000 0111 0010DEC = 807210:
Двоично-десятичное число 1000 0000 0111 0010 Десятичное число 8 0 7 2
Микропроцессоры используют чистые двоичные числа, однако понимают и команды преобразования в двоично-десятичную запись. Полученные двоично-десятичные числа легко представимы в десятичной записи, более понятной людям.
Преобразование двоичных чисел в двоично-десятичные
Арифметико-логическое устройство AVR-микроконтроллеров (как и других микропроцессоров) выполняет элементарные арифметические и логические операции над числами, представленными в двоичном коде. В двоичном коде считываются результаты преобразования АЦП, в двоичном коде (в формате целых чисел или чисел с плавающей точкой) удобно выполнять обработку результатов измерения. Однако, когда окончательный результат отображается на индикаторе, он должен быть преобразован в десятичный формат, удобный для восприятия человеком.
В данном разделе рассматриваются программы преобразования двоичных чисел в двоично-десятичные.
1. Форматы представления десятичных чисел
Неупакованный десятичный код является подмножеством международной таблицы кодирования символов ASCII (Таблица 1). Видно, что для хранения неупакованных десятичных чисел требуется в два раза больше памяти, так как каждая цифра представляется 8-битным кодом. Таблица 1: ASCII-коды десятичных цифр
2. Преобразование целых 16-битных чисел в двоично-десятичные числа
На сайте www.atmel.com предлагается программа «bin2bcd16» для преобразования целых 16-битных двоичных чисел в двоично-десятичные упакованные числа. В данной статье рассматривается программа «bin16bcd5» (см. Приложение, Программа 1), написанная Терешкиным А. В. согласно алгоритму, изложенному в [1], и выполняющая ту же задачу. Последняя программа по быстродействию, длине кода и количеству используемых регистров оказалась более эффективной, чем первая.
Алгоритм программы «bin16bcd5» заключается в следующем. Предположим, что имеется целое беззнаковое 16-битное число (диапазон от 0 до 65535). Очевидно, что необходимо найти 5 десятичных цифр. Способ преобразования заключается в том, чтобы, вычитая из исходного числа число 10000, сначала определить десятичную цифру десятков тысяч. Затем находится цифра тысяч последовательным вычитанием числа 1000 и т. д. Вычитание каждый раз производится до получения отрицательной разности с подсчетом числа вычитаний. При переходе к определению каждого следующего десятичного разряда в регистрах исходного числа восстанавливается последняя положительная разность. После того, как будет найдена десятичная цифра десятков, в регистрах исходного числа останется десятичная цифра единиц.
Программа «bin16ASCII5» (см. Приложение, Программа 2) преобразует целое двоичное 16-битное число в десятичное неупакованное число. При этом используется тот же алгоритм.
3. Преобразование двоичной дроби в двоично-десятичную дробь
Двоичная дробь, по определению, представляется следующим выражением:
Из этого представления следует алгоритм преобразования (Рис. 2), который содержит m шагов. На каждом шаге к двоично-десятичному результату прибавляется очередная двоичная цифра и весь результат делится на 2.
На изображены двоичный регистр, который содержит исходную двоичную дробь и регистр двоично-десятичного упакованного результата. Для наглядности у обоих регистров также показаны разряд единиц и положение точки, которые в памяти микропроцессора никак не представлены, но положение которых всегда строго оговорено. Количество циклов рассматриваемого алгоритма равно количеству бит двоичной дроби. Разрядность двоично-десятичного регистра определяется требуемой точностью вычислений.
Сложить эту цифру с двоично-десятичным числом означает, что ее нужно поместить в разряд единиц двоично-десятичного числа, откуда при последующем делении на два цифра A-i сдвинется в старший разряд старшей тетрады десятичной дроби. При программировании мы можем представлять, что разрядом единиц десятичной дроби является бит переноса С.
При делении на два двоично-десятичного упакованного числа, так же как и при делении двоичного числа, его сдвигают вправо на один разряд. При этом на два делится каждая тетрада, то есть каждая десятичная цифра. При делении четной десятичной цифры в соответствующем разряде снова получается десятичная цифра, и никакой коррекции не требуется. При делении на 2 нечетной десятичной цифры остаток, равный 5, должен быть добавлен к более младшему десятичному разряду, но на самом деле при двоичном сдвиге в более младшую тетраду добавляется число 8 (вес старшего разряда тетрады). Поэтому требуется коррекция результата, которая заключается в вычитании числа 3 из содержимого тех тетрад, которые после сдвига вправо имеют установленные старшие разряды.
4. Преобразование чисел с плавающей точкой в двоично-десятичные числа
Представление чисел с плавающей точкой имеет следующий вид:
Такое представление часто используется и в десятичной системе счисления для представления очень больших или очень малых чисел. Мантисса и порядок представляют собой целые знаковые числа. Знак мантиссы является знаком всего числа. Порядок показывает истинное положение точки вместо того, которое она занимает в изображении мантиссы. Двоичное число с плавающей точкой отличается от привычного нам десятичного тем, что точка является двоичной, то есть порядок показывает на количество двоичных (а не десятичных) разрядов, на которое необходимо переместить эту точку влево или вправо.
Нормализованным представлением числа с плавающей точкой называют такое представление, когда мантисса является правильной дробью, и старшая ее цифра отличается от нуля. Но для двоичного числа требование того, что старшая цифра отличается от нуля означает, что эта цифра равна 1. Если старшая цифра точно известна, то ее можно не хранить в памяти.
Цифровая электроника
Преобразователи кодов
Использование ПЗУ в качестве преобразователя кодов, преобразователи двоично-десятичных кодов.
В случае, когда выходные переменные определяются приблизительно 2 n состояниями входных переменных, где n – количество входных переменных (т.е. выходные переменные являются полностью определенными), а также, если минимизация ФАЛ не обеспечивает получения требуемой длины МДНФ или МКНФ, то в качестве элементной базы КЦУ может быть использовано постоянное запоминающее устройство. Использование ПЗУ в качестве КЦУ позволяет сократить процесс проектирования, поскольку в этом случае достаточно знать только таблицу истинности комбинационного устройства, которую рассматривают как таблицу программирования ПЗУ. Входным переменным X0 — Xn-1 КЦУ соответствуют входные адреса A0 — An-1 ПЗУ, а выходным переменным Y0 — Ym-1 КЦУ – выходные данные D0 – Dm-1 ПЗУ. Поскольку осуществляется программирование ПЗУ сразу на основании таблицы истинности, то нет необходимости нахождения структуры КЦУ и ее минимального вида. Кроме того, поскольку реальная структура из базовых логических элементов при использовании ПЗУ отсутствует вовсе, то повышается быстродействие КЦУ на базе ПЗУ, которое сводится к времени выборки tв данных из микросхемы постоянной памяти.
Промышленностью выпускаются масочные ПЗУ для преобразователей двоично-десятичных кодов. Примером таких преобразователей могут служить микросхемы К155ПР6 и К155ПР7. Первая является преобразователем двоично-десятичного кода в двоичный, а вторая – двоичного кода в двоично-десятичный. Микросхемы представляют собой постоянные запоминающие устройства, программирование которых произведено на заводе-изготовителе. Одна микросхема К155ПР6 позволяет преобразовать двоично-десятичный код чисел от 0 до 39 (входы 2, 4, 8, 10, 20) в двоичный (выходы 2, 4, 8, 16, 32), а одна микросхема К155ПР7 – двоичный код чисел от 0 до 63 (входы 2, 4, 8, 16, 32) в двоично-десятичный (выходы 2, 4, 8, 10, 20, 40).
Рис. 7.1. Каскадное включение микросхем К155ПР6 и К155ПР7 при увеличении разрядности двоично-десятичных преобразователей.
Использование кодов дополнения позволяет осуществлять проверку правильности передачи данных по каналам связи (интерфейсам). В процессе пересылки данных на передающей стороне осуществляется передача вначале самого кода числа, а затем кода его дополнения до некоторого значения (в нашем случае до 9 или до 10). На принимающей стороне осуществляется прием кодов как самого числа, так и его дополнения. Далее оба этих кода суммируются сумматором и проверяется, получилась ли сумма равной значению числа, дополнение до которого осуществлялось на передающей стороне. Если полученная сумма равна значению этого числа, то передача данных прошла без ошибок. Если же сумма отличается от значения этого числа, то в процессе передачи произошел сбой и передачу необходимо повторить.
Разработка устройства преобразования 12-разрядного двоичного кода
Рубрика: Технические науки
Дата публикации: 26.05.2019 2019-05-26
Статья просмотрена: 912 раз
Библиографическое описание:
Гаврилов, Д. А. Разработка устройства преобразования 12-разрядного двоичного кода / Д. А. Гаврилов, И. А. Цыганков. — Текст : непосредственный // Молодой ученый. — 2019. — № 21 (259). — С. 95-98. — URL: https://moluch.ru/archive/259/59618/ (дата обращения: 12.10.2021).
В данной статье представлена разработка устройства преобразования 12-разрядного двоичного кода в двоично-десятичный с индикацией полученных чисел.
Ключевые слова: двоично-десятичный код, двоичный код, индикатор, индикация.
Вычислительная техника является основой построения информационно-измерительных систем, используемых для решения важнейших научно-технических задач. Вычислительные устройства обеспечивают моделирование реальных радиотехнических комплексов в различных ситуациях, работу систем автоматизированного проектирования, управление сложнейшими технологическими процессами.
ЭВМ и вычислительных устройствах при выводе информации двоичные числа сначала преобразуются в двоично-десятичные, а затем в десятичные. Для кодирования десятичных цифр чаще всего применяется двоично-десятичный код.
Структурная схема преобразователя представлена на рис. 1.
Рис. 1. Структурная схема преобразователя
Для реализации устройства применяются микросхемы преобразователей кодов. Индикация двоично-десятичного кода осуществляться при помощи семисегментных индикаторов. Вывод символов на семисегментный индикатор происходит через преобразователь двоичного кода в управляющий код индикатора.
Согласно структурной схеме разрабатывается функциональная схема преобразователя (рис. 2).
Рис. 2. Функциональная схема преобразователя
Переключатели служат источниками двоичного кода. Если переключатель замкнут на источник питания — устанавливается логическая 1, замкнут на землю — логический 0. Т. к. код должен быть 12-ти разрядным, всего необходимо 12 переключателей.
Преобразователь кода имеет 12 входов и 16 выходов, по 4 на каждую тетраду двоично-десятичного кода. Для индикации двоично-десятичного индикации понадобятся четыре семисегментных индикатора, для которых, в свою очередь, необходимы дешифраторы двоично-десятичного кода в код управления индикатором. Питание устройства имеет величину 5 В и осуществляется через разъём.
Микросхема К155ПР7 является постоянным запоминающим устройством, программирование которой произведено на заводе-изготовителе и служит для преобразования двоичного кода в двоично-десятичный. Микросхема содержит только пять входов для 6-разрядного двоичного кода. Для индикации двоично-десятичного кода воспользуемся семисегментными индикаторами АЛС338А с общим катодом, на которые будем подавать управляющий код с дешифраторов К176ИД2. Всего потребуется 4 семисегментных индикатора и 4 дешифратора.
Для проверки работоспособности устройства имитационная модель преобразователя собирается в программе Micro-cap 11 (рис.3).
Проверка выполняется для числа 357510 (1101111101112).
Рис. 3. Имитационная модель преобразователя
Таким образом, моделирование в среде Micro-Cap 11 показало, что преобразователь работает корректно и выполняет необходимую функцию.
Принципиальная схема преобразователя представлена на рис. 4.
Рис. 4. Принципиальная схема преобразователя
Вывод
В ходе выполнения работы была проведена разработка, выбор компонентной базы и моделирование преобразователя 12-ти разрядного двоичного кода в двоично-десятичный с индикацией полученных чисел.
Двоично Десятичный Преобразователь Уроки По Minecraft
Длительность: 5 мин и 44 сек
Двоичный Счетчик Без Поршней Уроки По Minecraft
Minecraft Binary To Binary Coded Decimal
Minecraft Redstone Instant 64 Bit Ripple Carry Adder Calculator
Minecraft Строим Сдвиговый Регистр Счетчик Нажатий
Как Устроена Мембранная Клавиатура
How To Use The Redstone Comparator In Minecraft
Двоично Десятичный Конвертор
Рычажная Лавовая Дверь В 1 12 Уроки По Minecraft
Complete Binary To Bcd Tutorial Part 1 What Is Double Dabble
Как Сделать Накопительный Счетчик Уроки По Minecraft
Компактная Развязка На 3 Пути В 1 12 Уроки По Minecraft
Какого Цвета Голубцы Stream
Строительство Компьютера В Майнкрафте Часть 1
Двоичный И Двоично Десятичный Счетчик Электроника Для Начинающих Diy Микросхема
3 Преобразуем Binary Coded Decimal Bcd Двоично Десятичный Код A Level Информатика
Minecraft Аналоговые Часы V 2 0
Siverus prod старый канал
Как Сделать Пушку На Майнкрафт
Делаем Калькулятор В Minecraft Ч 1 Устройство Ввода
Мехроб Эрони Реп Скачать Mp3
2 Unlimited No Limits Full Album
Молдавская Для День Рождения
Siddiq Mahmudov Mp3
Friday Night Funkin Ugh Mod
Mmd Chocolate Cream
Lil Jon Eminem 2Pac 2021
Moto Moto Meme Countryhumans
Хочу Как Sugar Daddy Спать С Юными Леди
Charlie Song Hazbin Hotel
Треки Из Армы3 Contact
Футаж Из Тик Тока В Нашем Номере Гостинице Пахнет Алкоголем
Top 15 Best Tracks Of This Week Week 38
Кубанский Казачий Хор Горькая Моя Родина
Badiyadev No Vevahar Rokado Re Kamlesh Barot Ilyash Diwan Badiyadev Na Aashirvad
Послание Моргана Фримана Которое Может Изменить Всё Твоё Будущее Эти Слова Стоит Услышать Каждому
Stronger Meme Gacha Life Chilsy 3
Двоично Десятичный Преобразователь Уроки По Minecraft
Calm And Relaxing Videogame Music From Indie Games Part 2
Mytza Handbalistu Old School Vibes
After Nag Hiking Nagutom Nag Jibee Muna Hapunan Batangterminal Tv
Meme Вот Такая Вот Я Мразь Gacha Life
God Me Watching My Funeral And Demon Just Acting
Seth Kimbrough Hoffman Bikes Early 2010
Fnaf Ar Springtrap Jumpcare Vr360 Video
Dunia Terbalik Gibran Merusak Semua Rencana Bahagia Bu Ines Dan Aceng 30 September 2020
Touring Naik Moge Ke Yogyakarta Touring Jogja Part 1
Minecraft Live 2021 Introducing New Mobs
Night Lovell Deira City Centre Mvdnes Remix
Свинка Пеппа На Русском Все Серии Подряд Свинка Пеппа Восходит К Прошлому Мультики
Преобразование двоичного кода в двоично-десятичный
При преобразовании четырехразрядного двоичного числа в двоично-десятичное: числа до 9 включительно остаются без изменения.
Числа свыше 9, представляющие собой псевдотетрады, подвергаются коррекции.
Двоичные числа, содержащие более 4 разрядов, можно преобразовать
аналогичным образом. Для этого двоичное число, начиная со старшего разряда, «вдвигается» справа налево в двоично-десятичную разрядную сетку, как показано на рис. 6. Когда какая-либо единица пересекает границу между двоично-десятичными разрядами, возникает ошибка. Действительно, в случае двоичного числа разрядное значение этой единицы при сдвиге увеличивается с 8 до 16, тогда как для двоично-десятичного числа оно возрастает от 8 до 10. Поэтому на этом этапе двоично-десятичное число как бы уменьшается на 6. Следовательно, для коррекции необходимо прибавлять 6 к числу во всех случаях, когда единица пересекает границу между двоично-десятичными разрядами. К числу десятков надо прибавить 6, если единица перейдет в разряд сотен, и т.д.
Составленное таким образом двоично-десятичное число имеет правильное значение, однако оно может еще содержать псевдотетрады. Чтобы этого не было, возникающие псевдотетрады корректируют непосредственно после каждого шага сдвига, прибавляя 6 к соответствующей декаде с переносом 1 в следующую.
Рис. 6. Преобразование двоичного кода в двоично-десятичный,
в качестве примера взято число 218.
Вместо того чтобы прибавлять после сдвига 6, с тем же успехом можно перед сдвигом прибавлять 3. Необходимость такой коррекции можно также определить перед сдвигом. Если значение тетрады меньше или равно 4 =- 01002, то при последующем сдвиге не произойдет перехода единицы через границу между декадами и не возникнут псевдотетрады. Таким образом, такую тетраду можно будет без изменений сдвигать влево. Если значение тетрады перед сдвигом равно 5, 6 или 7, то также не произойдет перехода единицы через границу, поскольку старший разряд равен нулю. Однако при этом возникнут псевдотетрады: десять, двенадцать, четырнадцать или одиннадцать, тринадцать, пятнадцать (в зависимости от того, будет ли в младший разряд сдвинут нуль или единица). Следовательно, в этих случаях необходима коррекция псевдотетрад путем прибавления 3 перед сдвигом.
Если значение тетрады составляет 8 или 9, необходимо корректировать переход единицы через границу между декадами. Поэтому после каждого сдвига появляются правильные тетрады 6 или 7 либо 8 или 9. При такой коррекции псевдотетрад полученное значение каждой тетрады не может быть более 9. Этим исчерпываются все возможности, и мы получим таблицу коррекции 2.
Преобразование двоичного числа в соответствующее двоично-десятичное можно реализовать, сдвигая влево двоичное число, записанное в регистре сдвига, разделенном на четырехразрядные секции. Каждая секция должна включать корректирующий элемент, который преобразует содержание регистра перед каждым последующим сдвигом в соответствии с таблицей переключений 3.
Наряду с подобным способом реализации преобразования кодов с помощью схем с памятью можно использовать комбинационные схемы, в которых операция сдвига проводится с помощью соответствующей логики. Эта схема представлена на рис. 7. Вместо сдвига числа справа налево здесь слева направо
Таблица 2.Таблица переключений корректирующею элемента
для преобразования двоичною кода в двоично-десятичный
«сдвигателя» границы двоично-десятичных разрядов, а каждая полученная тетрада корректируется в соответствии с табл. 2. Следовательно, для «сдвига» разрядной сетки с помощью комбинационной схемы на каждую декаду и каждый шаг сдвига необходимо по одному корректирующему элементу. Эта схема несколько упрощается, если исключить те корректирующие элементы, ко входам которых подключено менее трех двоичных разрядов, поскольку
в этом случае коррекция не нужна. На рис. 7 приведена комбинационная схема для преобразования 8-разрядного двоичного числа. Эту схему легко распространить на любое число разрядов. Элементы, не используемые для преобразования 8-разрядного числа, показаны пунктиром. С помощью записанных здесь чисел можно проследить за процессом преобразования кода для примера, приведенного
Корректирующие комбинационные схемы поставляются в виде программируемых изготовителем микросхем ПЗУ емкостью 32 байта. В одном корпусе размещаются три корректирующих элемента (рис. 8). Так как, согласно рис. 7, младший разряд не подается на корректирующую схему, то с помощью одной ИС можно преобразовать 6-разрядное двоичное число, а для 8-разрядного числа нужны три таких ИС.