Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » перекодировка (извлечение цифры для перекодирования в 7-и сегментный вид)
перекодировка
QWERTY Дата: Чт, 17.09.2009, 00:04  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 74
Репутация: 0   ±
Замечания:   ±
На сайте с 11.05.2008

Статус: Offline

скажем так, пик считает импульсы за одну секунду.
пусть получилось 9876123, как в PBPro извлекать последовательно цифры для перекодирования в 7-и сегментный вид?
ЯНДЕКС Дата: 17.09.2009
sanek Дата: Чт, 17.09.2009, 00:33  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 84
Репутация: 0   ±
Замечания:   ±
На сайте с 09.04.2009

Статус: Offline

http://rapidshare.com/files/147597510/microshema16.rar.html 'стр 71
QWERTY Дата: Чт, 17.09.2009, 20:35  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 74
Репутация: 0   ±
Замечания:   ±
На сайте с 11.05.2008

Статус: Offline

С перекодировкой все понятно. Я про то как получить номер разряда. К примеру 9876123.
3-1разряд
2-2разряд
1-3разряд
6-4разряд
7-5разряд
8-6разряд
9-7разряд
И как погасить не значащие разряды?

Сообщение отредактировал QWERTY - Чт, 17.09.2009, 20:37
Dmitry Дата: Чт, 17.09.2009, 20:55  |                                                                                                                Сообщение # 4
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 161
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

читаем описание оператора dig

незначащие разряды гасим несколькими проверками if number < n then соотв.разряд = пустоте

QWERTY Дата: Чт, 17.09.2009, 21:29  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 74
Репутация: 0   ±
Замечания:   ±
На сайте с 11.05.2008

Статус: Offline

Сейчас покурю Хелибайка...............
А нет ли простенького примера? 3-4 разряда?

Добавлено (17.09.2009, 21.29.52)
---------------------------------------------
dig есть гуд.:-)) А как быть, если цифр скажем, не 5 а 10?

Сообщение отредактировал QWERTY - Чт, 17.09.2009, 21:30
VikulKH Дата: Чт, 17.09.2009, 21:40  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2008

Статус: Offline

Quote (QWERTY)
Сейчас покурю Хелибайка...............

А может лучше соломки?
Dmitry Дата: Пт, 18.09.2009, 00:21  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 161
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Quote (QWERTY)
dig есть гуд.:-)) А как быть, если цифр скажем, не 5 а 10?

Циклом. Например, так:
Code

'empty - признак, что еще идет пустота в начале
'number - ваше число
'digit[i] - разряды числа (для перекодировки в семисегм. код)

empty = 1
for i = 9 to 0 step -1
cyfra = number dig i
if cyfra = 0 then
    if empty = 1 then
      digit[i] = 10 'пусть 10 - это код пробела
    else
      digit[i] = cyfra
    endif
else
    empty = 0
    digit[i] = cyfra
endif
next i

Таким образом, в массиве digit получили разряды числа number c потушенными незначащими нулями
В принципе, в этом же цикле надо сразу и в семисегментный код перекодировать

Тока, эта... в PBP макс. размер переменной - word, то бишь до 65535...

Сообщение отредактировал Dmitry - Пт, 18.09.2009, 00:24
terrarus Дата: Пт, 18.09.2009, 09:23  |                                                                                                                Сообщение # 8
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 542
Репутация: 16   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

А вот в Basic PROTON-e максимальный размер переменной 32-бита причем переменная может иметь тип Bit, Byte, Word, DWord и Float.

Переменная типа DWord может принимать числовые значения в диаппазоне от -2147483647 до +2147483647
Переменная типа Float - оперирует числами с плавающей запятой.

Синтаксис Basic PROTON-a очень похож на синтаксис PicBasic PRO.
Да ещё Basic PROTON имеет в два раза больше операторов, чем PicBasic PRO.


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Пт, 18.09.2009, 09:25
Форум Picbasic.ru » Программирование МК » PicBasicPro » перекодировка (извлечение цифры для перекодирования в 7-и сегментный вид)
Страница 1 из 11
Поиск: