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

Обсуждаем контроллеры компании Atmel.
Dimon11
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс дек 15, 2013 00:07:02

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

Сообщение Dimon11 »

А обязательно его преобразовывать в десятичную систему исчисления?
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6308
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

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

Сообщение Jack_A »

Ну а как же иначе можно увидеть число на индикаторе ? Только в виде строки символов ( цифр ) .
Например : число 127 : 01111111
Преобразуем в 3 десятичных байта :
00000001, 00000010, 00000111
затем, чтоб преобразовать в коды цифровых символов, добавляем к каждому байту 00110000 :
00110001, 00110010, 00110111, что и есть строка символов "127"
Реклама
Dimon11
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс дек 15, 2013 00:07:02

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

Сообщение Dimon11 »

Почему так? Ведь единице в коде индикатора соответствует скорее 0b00000110, нежели 00110001 .
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

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

Сообщение zero648 »

0b00000110 будет для вашего семисегментника, а 0b00110001 для ASCII.
Реклама
Эиком - электронные компоненты и радиодетали
Dimon11
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс дек 15, 2013 00:07:02

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

Сообщение Dimon11 »

А как мне преобразовать цифру в двоичном коде в код семисегментника. Как то дешифрировать надо или как?
Реклама
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

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

Сообщение zero648 »

Просто создать чтото типа таблицы или массива кодов для семисегментника по возрастанию цифр от 0 до 9, а затем так каждый разряд выводить на дисплей, для этого и нужно преобразовывать из HEX в DEC формат. Думаю даже в ASCII преобразовывать нет смысла, если не используешь какие нибудь либы готовые, пишешь просто свой код без всяких либ.
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6308
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

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

Сообщение Jack_A »

Ну я же не в курсе ( схема не приведена ), что вывод на 7-сегментник, а не ЖКИ. Тогда действительно через массив символов, как сказал коллега zero648. Да и ещё смотря -- индикация стат. или дин., индикаторы с ОА или ОК.
Dimon11
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс дек 15, 2013 00:07:02

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

Сообщение Dimon11 »

А если преобразовать в двоично-десятичный, хуже не будет?
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

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

Сообщение zero648 »

А стоит ли? Во-первых, все равно придется в десятичный по разрядам разбирать из НЕХа, затем упаковывать все в BCD, а чтобы вывести на дисплей используя таблицу кодов придется опять вытаскивать из BCD в DEC, чтобы найти нужный адрес кода в таблице. Плюсов немного, больше минусов.
Dimon11
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс дек 15, 2013 00:07:02

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

Сообщение Dimon11 »

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

Что то я запутался. Судя по этому сообщению, обязательно преобразовывать в десятичное.
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

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

Сообщение zero648 »

А Я что говорю
все равно придется в десятичный по разрядам разбирать из НЕХа
Dimon11
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вс дек 15, 2013 00:07:02

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

Сообщение Dimon11 »

Тут в процессе возник еще один вопрос. Чем упакованный BCD отличается от неупакованного ?
Alkul
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

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

Сообщение Alkul »

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

Вернуться в «AVR»