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

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 12:29:45
Dimon11
А обязательно его преобразовывать в десятичную систему исчисления?

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 13:39:47
Jack_A
Ну а как же иначе можно увидеть число на индикаторе ? Только в виде строки символов ( цифр ) .
Например : число 127 : 01111111
Преобразуем в 3 десятичных байта :
00000001, 00000010, 00000111
затем, чтоб преобразовать в коды цифровых символов, добавляем к каждому байту 00110000 :
00110001, 00110010, 00110111, что и есть строка символов "127"

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 19:28:07
Dimon11
Почему так? Ведь единице в коде индикатора соответствует скорее 0b00000110, нежели 00110001 .

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 20:39:00
zero648
0b00000110 будет для вашего семисегментника, а 0b00110001 для ASCII.

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 21:07:07
Dimon11
А как мне преобразовать цифру в двоичном коде в код семисегментника. Как то дешифрировать надо или как?

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 21:46:46
zero648
Просто создать чтото типа таблицы или массива кодов для семисегментника по возрастанию цифр от 0 до 9, а затем так каждый разряд выводить на дисплей, для этого и нужно преобразовывать из HEX в DEC формат. Думаю даже в ASCII преобразовывать нет смысла, если не используешь какие нибудь либы готовые, пишешь просто свой код без всяких либ.

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 21:54:56
Jack_A
Ну я же не в курсе ( схема не приведена ), что вывод на 7-сегментник, а не ЖКИ. Тогда действительно через массив символов, как сказал коллега zero648. Да и ещё смотря -- индикация стат. или дин., индикаторы с ОА или ОК.

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 22:19:59
Dimon11
А если преобразовать в двоично-десятичный, хуже не будет?

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 23:14:31
zero648
А стоит ли? Во-первых, все равно придется в десятичный по разрядам разбирать из НЕХа, затем упаковывать все в BCD, а чтобы вывести на дисплей используя таблицу кодов придется опять вытаскивать из BCD в DEC, чтобы найти нужный адрес кода в таблице. Плюсов немного, больше минусов.

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 23:44:10
Dimon11
Jack_A писал(а):Ну а как же иначе можно увидеть число на индикаторе ? Только в виде строки символов ( цифр ) .
Например : число 127 : 01111111
Преобразуем в 3 десятичных байта :
00000001, 00000010, 00000111
затем, чтоб преобразовать в коды цифровых символов, добавляем к каждому байту 00110000 :
00110001, 00110010, 00110111, что и есть строка символов "127"

Что то я запутался. Судя по этому сообщению, обязательно преобразовывать в десятичное.

Re: Дальномер на микронтроллере

Добавлено: Чт дек 26, 2013 23:59:15
zero648
А Я что говорю
все равно придется в десятичный по разрядам разбирать из НЕХа

Re: Дальномер на микронтроллере

Добавлено: Сб дек 28, 2013 17:45:58
Dimon11
Тут в процессе возник еще один вопрос. Чем упакованный BCD отличается от неупакованного ?

Re: Дальномер на микронтроллере

Добавлено: Пн янв 06, 2014 15:51:38
Alkul
Dimon11 писал(а):Тут в процессе возник еще один вопрос. Чем упакованный BCD отличается от неупакованного ?
Простой пример:
Десятичное число 35
Неупакованный BCD-формат выглядит так: 0000 0011, 0000 0101
Упакованный BCD-формат выглядит так: 0011 0101.
Для неупакованного BCD-формата на каждое число требуется один байт, а для упакованного - на каждое число половина байта.