logo
Ответы_МПС

19 Работа с модулем ацп в мк pic16f676

Модуль АЦП служит для преобразования аналогового сигнала в N-разрядный код.

Данный МК имеет 10 – разрядный 8 канальный АЦП с входными каналами AN0 – AN7 (PORTA).

Опорное напряжение, относительно которого формируется результат выбирается программно в регистре ADCON0 специальным битом VCFG.

Структурная схема АЦП

Управляющие регистры:

ADCON0 содержит основные биты управления модуля:

Бит7: ADFM –выравнивание результата 0- правое, 1 –левое

Бит6: VCFG – выбор источника опорного напряжения ( 1 – внешний с RA1/AN1/VREF, 0- Vdd)

Бит5: не используется

Бит 4-2 биты выбора канала АЦП CHS2:CHS0 ( адреса 000-AN0, 111 – AN7)

Бит1: Go/Done – бит статуса модуля (1 –выполняет преобразование, 0- ожидание)

Бит0: ADON – бит включения модуля (1-вкл, 0- выкл)

Регистр ADCON1 содержит биты настройки длительности одного бита АЦП. В нем используются биты 5, 6, 4.

ADCS2:ADCS0 – биты настройки длительности такта

000 – Fosc/2

001 – Fosc/8

010– Fosc/32

100 – Fosc/4

101 – Fosc/16

110 – Fosc/64

X11 – тактирование от встроенного RC – генератора мах частота 500 кГц

Регистр ANSEL содержит биты конфигурации портов ввода вывода. Установка в 1 одного или несколько битов, соответствующего выводам AN0 – AN7 отключает все модули от выбранных портов.

Схема аналогового входа АЦП

Сопротивления Rs и Rss непосредственно влияют на время заряда конденсатора СHOLD.

После того как будет выбран один из каналов но прежде, чем будет производится преобразование находится выражение (*), это уравнение дать погрешность в 2048 шагов АЦП. Эта ошибка позволяет функционировать модулю АЦП с необходимой точностью.

( *)

Tamp – время задержки усилителя

Tacq – время задержки усилителя

Tc – время заряда конденсатора СHOLD

  1. Настройка АЦП. Настроить выводы как аналоговые входы.

    1. Настроить VREF и биты ADCON1

    2. Входной канал АЦП ADCON0

    3. Выбрать источник тактовых импульсов ADCON1

    4. Вкл АЦП ADCON0

  1. Настроить прерывание от АЦП

2.1 Сбросить бит ADIF в 0

2.2 Установить бит ADIE в 1

2.3 Установить PEIE в 1

2.4 Установить GIE

3. Выдержать паузу необходимую для зарядки конденсатора

4. Начать аналого-цифровое преобразование установить Go/Done в 1.

5.Ожидать окончание преобразования бит Go/Done сбросится аппаратно или ожидать прерывание по окончанию преобразования.

6. Считать рез –т из ADRESH:ADRESL.