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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
Nemo_at7
Родился
Сообщения: 4
Зарегистрирован: Чт апр 29, 2010 23:50:45
Откуда: Питер
Контактная информация:

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

Сообщение Nemo_at7 »

столкнулся с такой проблемой при проектировании устройства:

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

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

Пы.сы. чувствую, что надо юзать здесь сумматоры или полусумматоры, но как и к чему именно их "прикрутить" не могу разобраться
Реклама
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

Посмотрите в сторону микросхемы 155ПР7. Берете книжку Бирюков С.А. - Применение интегральных микросхем серий ТТЛ. Там есть её описание и способ каскадирования. Она преобразует двоичный код в БКД, а далее тремя дешифраторами двоичного кода в семисегментный получаете то, что вам нужно.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Реклама
Digikey
Встал на лапы
Сообщения: 90
Зарегистрирован: Пн мар 08, 2010 02:59:04

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

Сообщение Digikey »

74185 (аналог КМ155ПР7). Для 8-ми битного преобразования нужно 3шт., для 12 битов - 8шт. (см. даташит на стр.8, рис.6 и рис.8 соответственно)
Но вот потребление этих ИС, боюсь, может огорчить - 50..60 ма на корпус...
Аватара пользователя
Eprinter
Опытный кот
Сообщения: 802
Зарегистрирован: Сб дек 19, 2009 14:51:11
Откуда: Нашенский

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

Сообщение Eprinter »

Nemo_at7 писал(а):не предлагайте, пожалуйста, использование микроконтроллеров в сочетанием с написанием кода ...
А что тут пугает? Программа на Си будет очень простой, и МК всего один с 12 портами на вход и 11 на динамическую индикацию, например ATmega8.
Даже если достаточно 9 двоичных разрядов (0...511), и то проще на МК, ибо 74185 (аналог КМ155ПР7) понадобится 4шт плюс 3шт дешифраторов.
Либо делать индикацию в 16-ричном коде.
[color=#006699]In der großen Familie nicht kluven klatz-klatz![/color]
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Nemo_at7
Родился
Сообщения: 4
Зарегистрирован: Чт апр 29, 2010 23:50:45
Откуда: Питер
Контактная информация:

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

Сообщение Nemo_at7 »

uldemir, Спасибо за идею и за книжку, на досуге поштудирую.
Digikey Спасибо за аналог
А модели для протеуса у Вас случайно не найдётся? а то в, найденной мною на просторах интернета, библиотеки 74 логики на часть элементов нет моделей, в частности и на этот экземпляр :(
А хочется ведь протестировать схемку, чтоб разобраться как она будет обрабатывать код :)
Eprinter писал(а):А что тут пугает? Программа на Си будет очень простой, и МК всего один с 12 портами на вход и 11 на динамическую индикацию, например ATmega8.
Вообще использование МК не пугает ... я бы все узлы туда упаковал в простеньком коде, как Вы уже заметили. Но мне необходимо реализовать схемку без участия МК. Поэтому и приходится мудрить.
Реклама
Аватара пользователя
Света
Модератор
Сообщения: 10740
Зарегистрирован: Пн июл 07, 2008 10:46:09
Откуда: Россия

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

Сообщение Света »

ПР7 - это не что иное, как уже прошитая микросхема ПЗУ. С таким же успехом можно использовать любую другую микросхему ПЗУ, и даже с другим числом разрядов, самостоятельно прошив её под свои требования, например, сразу в семисегментный код... :)
Если хотите, чтобы жизнь улыбалась вам, подарите ей своё хорошее настроение
Реклама
Я
Сверлит текстолит когтями
Сообщения: 1218
Зарегистрирован: Сб дек 26, 2009 19:47:10

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

Сообщение Я »

для числа 852 это : 0011 0101 0100 - пожалуйста, как код называется?
Аватара пользователя
Света
Модератор
Сообщения: 10740
Зарегистрирован: Пн июл 07, 2008 10:46:09
Откуда: Россия

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

Сообщение Света »

Двоичный
Если хотите, чтобы жизнь улыбалась вам, подарите ей своё хорошее настроение
Аватара пользователя
Nemo_at7
Родился
Сообщения: 4
Зарегистрирован: Чт апр 29, 2010 23:50:45
Откуда: Питер
Контактная информация:

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

Сообщение Nemo_at7 »

Света писал(а):ПР7 - это не что иное, как уже прошитая микросхема ПЗУ.
возможно я не прав, но это же микросхема на ТТЛ логике, что там может быть "прошито"?
Я
Сверлит текстолит когтями
Сообщения: 1218
Зарегистрирован: Сб дек 26, 2009 19:47:10

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

Сообщение Я »

Света, СПАСИБО!
А почему не так 8 - 1000, 5 - 0101, 2 - 0010?
Если не затруднит, вкратце. Спасибо.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

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

Сообщение Meteor »

Потому что 8 = 1000 и т.д. это уже так называемый шестнадцатеричный код - по сути тот же двоичный но представленный по 4 бита.
В то же время десятичное число 852 представлено двоичным кодом см. выше
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Света
Модератор
Сообщения: 10740
Зарегистрирован: Пн июл 07, 2008 10:46:09
Откуда: Россия

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

Сообщение Света »

Nemo_at7 писал(а):возможно я не прав, но это же микросхема на ТТЛ логике, что там может быть "прошито"?
Посмотрите Шило
Изображение
Вложения
p0168.jpg
(42.65 КБ) 3427 скачиваний
Если хотите, чтобы жизнь улыбалась вам, подарите ей своё хорошее настроение
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

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

Сообщение SmarTrunk »

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

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

Если в учебных целях, то, наверно, можно на дешифраторах/сумматорах наворотить
Digikey
Встал на лапы
Сообщения: 90
Зарегистрирован: Пн мар 08, 2010 02:59:04

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

Сообщение Digikey »

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

ссылка: Системы счисления в цифровой электронике
Я
Сверлит текстолит когтями
Сообщения: 1218
Зарегистрирован: Сб дек 26, 2009 19:47:10

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

Сообщение Я »

Спасибо! Учусь.
Аватара пользователя
Aaantonnn15
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт авг 20, 2010 18:31:05
Контактная информация:

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

Сообщение Aaantonnn15 »

Люди добрые,помогите пожалуйста,кто может.У меня та же проблема что и у Nemo_at7.Только мне необходима таблица перекодировки для МК.Работаю с PIC. Таблицу перекодировки до 9-ти написал,а дальше засада!!!Только мне нужно всего на 2-а разряда.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

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

Сообщение Meteor »

Поиск рулит - не раз выкладывали методу перекодировки :wink:
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

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

Сообщение Arlleex »

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

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

Сообщение uldemir »

Aaantonnn15 писал(а):Только мне необходима таблица перекодировки для МК.Работаю с PIC.
Мракочип предлагает application note 526 в которой приведены примеры как это делать.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
Aaantonnn15
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт авг 20, 2010 18:31:05
Контактная информация:

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

Сообщение Aaantonnn15 »

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

Вернуться в «Теория»