Описание работы с АЦП в справке к PIC16F887

June 13, 2014 by admin Комментировать »

Но вначале посмотрим, что можно прочитать в справке к микроконтроллеру PIC16F887

Конвертер генерирует 10и-битовый результат методом последовательного приближения и запоминает его в регистрах АЦП (ADRESL и ADRESH)

Мы не будем сейчас рассматривать работу АЦП по прерыванию, хотя такая возможность есть

Опорное напряжение АЦП выбирается программно, наибольшее напряжение – это напряжение питания, к выводам опорного напряжения может прикладываться внешнее напряжение

При конфигурировании АЦП и при использовании модуля должны быть продуманы следующие функции:

·              Конфигурация порта

·              Выбор канала

·              Выбор опорного напряжения АЦП

·              Источник тактовой частоты преобразователя АЦП

·              Управление прерыванием

·              Форматирование результата

Основываясь на описании, рассмотрим предложенные пункты

Конфигурация порта

АЦП может использоваться для преобразования как аналогового, так и цифрового сигнала При преобразовании аналогового сигнала выводы входа-выхода должны быть сконфигурированы для аналогового входа установкой связанных битов TRIS и ANSEL Подробнее это описано в разделе работы с портами

Выбор канала

Биты CHS регистра ADCON0 определяют, какой канал подключён к испытуемой цепи

При выборе каналов требуется пауза, прежде чем начнётся следующее преобразование Ниже это будет описано подробнее

Опорное напряжение АЦП

Биты VCFG регистра ADCON0 предлагают независимое управление положительным и отрицательным опорным напряжением Положительное опорное напряжение может быть VDD или напряжением внешнего источника Также отрицательное напряжение может быть VSS или напряжением внешнего источника

Генератор тактовой частоты преобразователя

Тактовая частота преобразования может быть выбрана программно битами ADCS регистра ADCON0 Есть четыре возможных варианта:

·              FOSC/2

·              FOSC/8

·              FOSC/32

·              FRC (выделенный внутренний генератор)

Время преобразования одного бита определяется как TAD Одно полное 10и-битовое преобразование требует 11 TAD периодов

Для правильного преобразования следует задать подходящее значение TAD В таблице ниже приведены примеры подходящего выбора тактовой частоты АЦП

Рис 511 Таблица настройки и выбора частоты преобразования

И, пропустив работу по прерыванию, рассмотрим формат вывода результата

Форматирование результата

10и-битовое преобразование может отображаться в двух форматах: с левым или правым приведением Биты ADFM регистра ADCON0 управляют форматом вывода Рисунок ниже показывает разницу в этих форматах

Рис 512 Два формата вывода результата преобразования

Запуск преобразования

Для разрешения работы модуля АЦП бит ADON регистра ADCON0 должен быть установлен в «1» Установка бита GO/DONE регистра ADCON0 в «1» начнёт преобразование

Когда преобразование завершено, модуль АЦП:

·              Очистит бит GO/DONE

·              Установит флаг ADIF

·              Обновит значения регистров ADRESH:ADRESL новым результатом преобразования

Пример процедур преобразования

1         Конфигурируем порт:

·                Запрещаем выход (в регистре TRIS)

·                Конфигурируем вывод как аналоговый

2         Конфигурируем модуль АЦП:

·                Выбираем частоту преобразования

·                Конфигурируем опорное напряжение

·                Выбираем канал входа

·                Выбираем формат вывода

·                Включаем модуль АЦП

3         Конфигурируем прерывание по АЦП (если нужно):

·                Очищаем флаг прерывания по АЦП

·                Разрешаем прерывание по АЦП

·                Разрешаем периферийные прерывания

·                Разрешаем глобальные прерывания

4         Ожидаем время, требуемое для инициализации

5         Начинаем преобразование установкой бита GO/DONE

6         Ожидаем завершения преобразования одним из способов:

·                Опросом бита GO/DONE

·                Ожиданием прерывания (если использовали)

7         Читаем результат преобразования

8         Очищаем флаг прерывания (если использовали прерывание)

И, наконец, регистры, участвующие в работе модуля АЦП: ADCON0

Рис 513 Регистр управления преобразованием

Биты 7-6 ADCS<1:0>: биты выбора тактовой частоты преобразования 00 = FOSC/2

01 = FOSC/8

10 = FOSC/32

11 = FRC (частота от встроенного генератора = 500 kHz max)

Биты 5-2 CHS<3:0>: биты выбора аналогового канала 0000 = AN0

0001 = AN1

0010 = AN2

0011 = AN3

0100 = AN4

0101 = AN5

0110 = AN6

0111 = AN7

1000 = AN8

1001 = AN9

1010 = AN10

1011 = AN11

1100 = AN12

1101 = AN13

1110 = CVREF

1111 = Fixed Ref (06 вольт фиксированного напряжения)

Бит 1 GO/DONE: бит состояния преобразования

1 = происходит цикл преобразования Установка этого бита начинает цикл преобразования Этот бит автоматически сбрасывается аппаратно, когда преобразование завершается

0 = преобразование завершено/не происходит

Бит 0 ADON: бит разрешения работы АЦП 1 = работа АЦП разрешена

0 = АЦП запрещено, и ток не потребляется на операции ADCON1

Рис 514 Второй регистр управления

Бит 7 ADFM: бит выбора формата вывода результата 1 = правое приведение

0 = левое приведение

Бит 5 VCFG1: бит опорного напряжения 1 = VREF- вывод

0 = VSS

Бит 4 VCFG0: бит опорного напряжения 1 = VREF+ вывод

0 = VDD

ADRESH: ADRESL – регистры вывода результата

Источник: Гололобов ВН,- Самоучитель игры на паяльнике (Об электронике для школьников и не только), – Москва 2012

Оставить комментарий

Устройство витков выходе генератора импульсов микросхемы мощности нагрузки напряжение напряжения питания приемника пример провода работы радоэлектроника сигнал сигнала сигналов сопротивление схема теория транзистора транзисторов управления усиления усилитель усилителя устройства частоты