Страница 1 из 2

преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 00:51:14
Nemo_at7
столкнулся с такой проблемой при проектировании устройства:

имеется двоичный (восьми или двенадцати разрядный) код, например, для числа 852 это : 0011 0101 0100
этот код, например, идёт с каких-нить 12ти ног одновременно и статично (не импульсно), необходимо этот код вывести на три отдельных семисегментных индикатора в виде: 8, 5 и 2 соответственно ... т.е. надо код дешифровать и передать на три индикатора по разрядам

причём для реализации могут применяться: тригеры, регистры, счётчики, дешифраторы и подомные им устройства
не предлагайте, пожалуйста, использование микроконтроллеров в сочетанием с написанием кода ...

Пы.сы. чувствую, что надо юзать здесь сумматоры или полусумматоры, но как и к чему именно их "прикрутить" не могу разобраться

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 02:31:18
uldemir
Посмотрите в сторону микросхемы 155ПР7. Берете книжку Бирюков С.А. - Применение интегральных микросхем серий ТТЛ. Там есть её описание и способ каскадирования. Она преобразует двоичный код в БКД, а далее тремя дешифраторами двоичного кода в семисегментный получаете то, что вам нужно.

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 03:19:01
Digikey
74185 (аналог КМ155ПР7). Для 8-ми битного преобразования нужно 3шт., для 12 битов - 8шт. (см. даташит на стр.8, рис.6 и рис.8 соответственно)
Но вот потребление этих ИС, боюсь, может огорчить - 50..60 ма на корпус...

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 04:48:19
Eprinter
Nemo_at7 писал(а):не предлагайте, пожалуйста, использование микроконтроллеров в сочетанием с написанием кода ...
А что тут пугает? Программа на Си будет очень простой, и МК всего один с 12 портами на вход и 11 на динамическую индикацию, например ATmega8.
Даже если достаточно 9 двоичных разрядов (0...511), и то проще на МК, ибо 74185 (аналог КМ155ПР7) понадобится 4шт плюс 3шт дешифраторов.
Либо делать индикацию в 16-ричном коде.

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 10:08:01
Nemo_at7
uldemir, Спасибо за идею и за книжку, на досуге поштудирую.
Digikey Спасибо за аналог
А модели для протеуса у Вас случайно не найдётся? а то в, найденной мною на просторах интернета, библиотеки 74 логики на часть элементов нет моделей, в частности и на этот экземпляр :(
А хочется ведь протестировать схемку, чтоб разобраться как она будет обрабатывать код :)
Eprinter писал(а):А что тут пугает? Программа на Си будет очень простой, и МК всего один с 12 портами на вход и 11 на динамическую индикацию, например ATmega8.
Вообще использование МК не пугает ... я бы все узлы туда упаковал в простеньком коде, как Вы уже заметили. Но мне необходимо реализовать схемку без участия МК. Поэтому и приходится мудрить.

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 10:19:03
Света
ПР7 - это не что иное, как уже прошитая микросхема ПЗУ. С таким же успехом можно использовать любую другую микросхему ПЗУ, и даже с другим числом разрядов, самостоятельно прошив её под свои требования, например, сразу в семисегментный код... :)

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 20:20:08
Я
для числа 852 это : 0011 0101 0100 - пожалуйста, как код называется?

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 21:10:55
Света
Двоичный

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 21:41:02
Nemo_at7
Света писал(а):ПР7 - это не что иное, как уже прошитая микросхема ПЗУ.
возможно я не прав, но это же микросхема на ТТЛ логике, что там может быть "прошито"?

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 21:58:23
Я
Света, СПАСИБО!
А почему не так 8 - 1000, 5 - 0101, 2 - 0010?
Если не затруднит, вкратце. Спасибо.

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 22:03:52
Meteor
Потому что 8 = 1000 и т.д. это уже так называемый шестнадцатеричный код - по сути тот же двоичный но представленный по 4 бита.
В то же время десятичное число 852 представлено двоичным кодом см. выше

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 23:13:38
Света
Nemo_at7 писал(а):возможно я не прав, но это же микросхема на ТТЛ логике, что там может быть "прошито"?
Посмотрите Шило
Изображение

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пт апр 30, 2010 23:15:58
SmarTrunk
Света дала хорошую идею с ПЗУ.
Сходу придумалось - поставить три УФ ПЗУ, адресные входы трех микросхем подключить параллельно к источнику сигнала, на выходы повесить 7-сегментные индикаторы (через токоограничительные резисторы). Микросхемы ПЗУ должны быть на 4 кБайт (с 12 адресными входами), по крайней мере для старшей цифры. Прошивки ПЗУ несложно рассчитать.

Просто, статично и без микроконтроллеров

Если в учебных целях, то, наверно, можно на дешифраторах/сумматорах наворотить

Re: преобразователь двоичного кода для семисегментников

Добавлено: Сб май 01, 2010 06:47:15
Digikey
А модели для протеуса у Вас случайно не найдётся?
Эта ИС является заказной версией 256-битной ПЗУ(ROM) SN7488 (об этом написано в 1-й строке даташита). Поэтому можно взять похожую память, "записать" в нее таблицу, которая приведена на стр.3 (FUNCTION TABLE) и использовать для моделирования.
для числа 852 это : 0011 0101 0100 - пожалуйста, как код называется?
Это двоичный код. Откройте Калькулятор в виндоус, наберите 852 и включите режим Bin.
А почему не так 8 - 1000, 5 - 0101, 2 - 0010?
А это двоично-кодированный десятичный код. (Binary Coded Decimal)

ссылка: Системы счисления в цифровой электронике

Re: преобразователь двоичного кода для семисегментников

Добавлено: Сб май 01, 2010 11:12:31
Я
Спасибо! Учусь.

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пн авг 23, 2010 21:39:09
Aaantonnn15
Люди добрые,помогите пожалуйста,кто может.У меня та же проблема что и у Nemo_at7.Только мне необходима таблица перекодировки для МК.Работаю с PIC. Таблицу перекодировки до 9-ти написал,а дальше засада!!!Только мне нужно всего на 2-а разряда.

Re: преобразователь двоичного кода для семисегментников

Добавлено: Пн авг 23, 2010 22:05:03
Meteor
Поиск рулит - не раз выкладывали методу перекодировки :wink:

Re: преобразователь двоичного кода для семисегментников

Добавлено: Вт авг 24, 2010 18:30:18
Arlleex
Я писал(а):Света, СПАСИБО!
А почему не так 8 - 1000, 5 - 0101, 2 - 0010?
Если не затруднит, вкратце. Спасибо.
Это уже двоично-десятичный.
Двоично-десятичный код - это такой код, при котором каждый разряд десятичного числа представляется в виде 4 разрядов двоичного числа.
В дв-дес. коде запрещены числа (последовательность символов 1 и нулей) 1010, 1011, 1100, 1101 1110, 1111.

Re: преобразователь двоичного кода для семисегментников

Добавлено: Вт авг 24, 2010 19:25:52
uldemir
Aaantonnn15 писал(а):Только мне необходима таблица перекодировки для МК.Работаю с PIC.
Мракочип предлагает application note 526 в которой приведены примеры как это делать.

Re: преобразователь двоичного кода для семисегментников

Добавлено: Вт авг 24, 2010 22:59:06
Aaantonnn15
Спасибо вам Stalker46, что ещё раз разъяснили мне и всем читающим, что такое двоично- десятичный код. Но я ведь спрашивал не об этом. На данный момент работаю с датчиком температуры DS18S20.Может сталкивались? После преобразования температуры он выдает следующий код(пусть для примера С8h) далее его необходимо поделить на 2, получаем-64h (01100100)-этот код соответствует 100 градусам Цельсия далее его необходимо отобразить на семисегментнике.(пусть я использую не 2 разряда,а три + дешифратор).И как по вашему это нужно делать???Код то у меня 0110 0100, а нужен 0001 0000 0000. Так ведь?! Для этого и нужна перекодировка или коррекция