Страница 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
Поиск рулит - не раз выкладывали методу перекодировки

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. Так ведь?! Для этого и нужна перекодировка или коррекция