В 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 мкс перед началом преобразования