Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » Clock ADC (DEFINE)
Clock ADC
werewolf Дата: Пн, 10.01.2011, 13:41  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 20
Репутация: 0   ±
Замечания:   ±
На сайте с 01.07.2010

Статус: Offline

У меня вопрос по поводу команды:
DEFINE ADC_BITS 8 'Number of bits in ADCIN result
DEFINE ADC_CLOCK 3 'ADC clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 'ADC sampling time in microseconds

вот сколько пишу софт все время ставил по умолчанию а все таки
с первым понятно розрядность АЦП и с последним тоже ясно время задержки до преобразования, а вот
со вторым явно не доганяю и описания нигде нет. 3 я так понимаю ставим если используем внутренний кварц?
Где то здесь еще видел такое DEFINE ADC_CLOCK 0 'ADC clock source (osc/2)
а если у меня кварц на 10 мегов то что тогда? Обьясните пожалуйста що все же вторая строка означает?

ЯНДЕКС Дата: 10.01.2011
ivan_fd Дата: Пн, 10.01.2011, 14:49  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Да действительно, в хелпе PIcBasicPro скудное описание.

Я думаю, что будет примерно так:
0 - Fosc/2
1 - Fosc/8
2 - Fosc/32
3 - FRC (Внутренний RC генератор модуля АЦП)

Прикрепления: 9037982.gif (44.5 Kb)
werewolf Дата: Пн, 10.01.2011, 15:37  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 20
Репутация: 0   ±
Замечания:   ±
На сайте с 01.07.2010

Статус: Offline

ооо то что нужно теперь все понятно ОГРОМНОЕ СПАСИБО!
Хотя я видел где то здесь на форуме была вот такая запись:
DEFINE ADC_CLOCK 100

а вот в ПРОТОНЕ можно указывать
Declare Adin_Res 10
Declare Adin_Tad 2_FOSC
Declare Adin_Stime 10

Сообщение отредактировал werewolf - Пн, 10.01.2011, 15:50
terrarus Дата: Вт, 11.01.2011, 11:43  |                                                                                                                Сообщение # 4
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

В Proton-e для команды ADIn существуют три директивы (определения):

1. Declare ADIN_RES 8 , 10 , или 12.

По этой директиве устанавливается разрядность АЦП-преобразования.
Если директива не используется, то результату АЦП-преобразования присваивается значение по умолчанию, то есть максимально возможное разрешение для используемого типа PIC-микроконтроллера. Например, для микроконтроллера типа 16F876А будет установлена разрешающая способность в 10 бит. Использование этой директивы позволяет получить результат в 10 или 8 бит от 10-разрядных PIC-микроконтроллеров, но никак не 10 бит от 8-разрядных типов.

2. Declare ADIN_TAD 2_FOSC, 8_FOSC, 32_FOSC, 64_FOSC, или FRC.

Эта директива устанавливает источник синхронизации для аналого-цифрового преобразования. Все PIC-микроконтроллеры обладающие встроенным АЦП могут синхронизироваться от внешнего источника синхронизации или от внутреннего, встроенного в микроконтроллер RC генератора.

При синхронизации от внешнего источника синхронизации возможны четыре варианта:

2_FOSC, 8_FOSC, 32_FOSC, и 64_FOSC - где 2, 8, 32, 64 это коэффициенты отношения к частоте внешнего генератора. Вместо того, чтобы использовать эти названия для режимов источника синхронизации, можно использовать значения от 0 до 3. Они отражают параметры настройки битов 6-7 в регистре ADCON0.

Для выбора внутреннего источника синхронизации в директиве должно быть указано значение FRC. FRC - это внутренний RC генератор микроконтроллера.

Следует отметить, что выбор неправильного источника синхронизации или его режима может привести к недостаточной разрешающей способности, или вообще к отсутствию преобразовании. Поэтому будьте внимательны при выборе источника синхронизации. Если у Вас есть сомнения в правильности Вашего выбора источника синхронизации или его режима, то используйте в качестве источника синхронизации внутренний RC генератор (FRC). Использование режима FRC приведет к небольшому уменьшению разрешающей способности и меньшей скорости преобразования, но будет гарантированно работать. Вообще FRC это настройка по умолчанию, если в программе отсутствует специальное объявление.

3. Declare ADIN_STIME 0 до 65535 микросекунд.

Установка этого параметра отводит время на зарядку внутренних измерительных конденсаторов прежде, чем будет предпринята выборка результата. Этот параметр может иметь значения от 0 до 65535 микросекунд. Слишком маленькое значение может привести к уменьшению разрешающей способности, но к увеличению скорости работы программы. Слишком большое значение может привести к значительному уменьшению скорости преобразования без дополнительного увеличения разрешающей способности.

Типичное значение для ADIn _STIME - 50 - 100. Экспериментирование с этим значением в каждом конкретном случае может дать Вам оптимальное значение. Если эта директива не используется, то время устанавливается по умолчанию равное 50 микросекундам.
Ниже приведены определения по умолчанию:

Declare ADIN_RES = 10 ' Установить кол-во битов в результате АЦП-преобразования
' равными 10 (можно также установить 8, 10, или 12)
Declare ADIN_TAD = FRC ' Установить синхронизацию от внутреннего RC генератора
Declare ADIN_STIME = 50 ' Установить время ожидания в 50 мкс перед началом преобразования


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Вт, 11.01.2011, 11:44
werewolf Дата: Вт, 11.01.2011, 13:16  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 20
Репутация: 0   ±
Замечания:   ±
На сайте с 01.07.2010

Статус: Offline

smile Спасибо теперь стало понятно, а я то думаю почему ацп так плохо работает.
Форум Picbasic.ru » Программирование МК » PicBasicPro » Clock ADC (DEFINE)
  • Страница 1 из 1
  • 1
Поиск: