![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
DECF - Вычесть 1 из регистра f.
Синтаксис: [label] DECFf, d.
Операнды: 0£f£127.
Операция: (f) - 1 à (dest).
Изменяемые флаги: Z.
52. Принцип работы АЦП в МК PIC16F877x. Аналого-цифровое преобразование – это процесс преобразования входной физической величины в ее числовое представление. Аналого-цифровой преобразователь – устройство, выполняющее такое преобразование.Понятие аналого-цифрового преобразования тесно связано с понятием измерения. Под измерением понимается процесс сравнения измеряемой величины с некоторым эталоном, при аналого-цифровом преобразовании происходит сравнение входной величины с некоторой опорной величиной.
Входной аналоговый сигнал через коммутатор каналов заряжает внутренний конденсатор АЦП Chold. Модуль АЦП преобразует напряжение, удерживаемое на конденсаторе Chold в соответствующий 10-разрядный цифровой код методом последовательного приближения. Источник верхнего и нижнего опорного напряжения может быть программно выбран с выводов VDO, VSS, RA2 или RA3.
Допускается работа модуля АЦП в SLEEP режиме микроконтроллера, при этом в качестве источника тактовых сигналов должен быть выбран RC генератор.
Для управления АЦП в микроконтроллере используется 4 регистра.
- регистр результата ADRESH (старший бит);
- регистр результата ADRESL (младший бит);
- регистр управления ADCON0;
- регистр управления ADCON1.
Регистр ADCON0 используется для настройки работы модуля АЦП, а с помощью регистра ADCON1 устанавливается какие входы микроконтроллера будут использоваться модулем АЦП и в каком режиме (аналоговый вход или цифровой порт ввода/вывода).
После включения и конфигурации АЦП выбирается рабочий аналоговый канал. Соответствующие биты TRIS аналоговых каналов должны настраивать порт ввода/вывода на вход. Перед началом преобразования необходимо выдержать временную паузу, расчет которой приведен в [11].
Рекомендованная последовательность действий для работы АЦП:
1. Настроить модуль АЦП:
- настроить выводы как аналоговые входы, входы VREF или цифровые
каналы ввода/вывода (ADCON1);
- выбрать входной канал АЦП (ADCON0);
- выбрать источник тактовых импульсов для АЦП (ADCON0);
- включить модуль АЦП (ADCON0).
2. Настроить прерывание от модуля АЦП (если необходимо):
- сбросить бит ADIF в 0 (регистр PIR1<6>);
- установить бит ADIE в 1(регистр PIE1<6>);
- установить бит PEIE в 1(регистр INTCON<6>);
- установить бит GIE в 1(регистр INTCON<7>);
3. Выдержать паузу, необходимую для зарядки конденсатора СHOLD. Пауза
обеспечивается с помощью таймера TMR0.
4. Начать аналого-цифровое преобразование:
- установить бит GO/-DONE в 1(ADCON0<2>).
5. Ожидать окончания преобразования:
- ожидать пока бит GO/-DONE не будет сброшен в 0; ИЛИ
- ожидать прерывание по окончанию преобразования.
6. Считать результат преобразования из регистров ADRESH:ADRESL, сбросить бит ADIF в 0 (регистр PIR1<6>), если это необходимо.
7. Для следующего преобразования необходимо выполнить шаги начиная с пункта 1 или 2. Время преобразования одного бита определяется как время ТAD. Минимальное время ожидания перед следующим преобразованием должно составлять не менее 2 ТAD.
Принцип работы: Аналоговый сигнал подается с выхода делителя на бит RA0 PORTA. Сигнал внешнего прерывания на бит RB0 PORTB подается от бита 1 PORTD через схему с двумя тумблерами, один из которых включен при запуске программы, а другой выключен. Он включается для подачи сигнала прерывания на бит RB0, в результате чего происходит выход из цикла и обработка в АЦП следующего аналогового значения.
Вывод двоичного значения сигнала после преобразования аналогового сигнала в АЦП из PORTC осуществляется на лампы 0-7 (рисунок 5.1).
Биты PORTC и RORTD настраиваются на вывод, биты 0-2 PORTA и биты 0-3 PORTB - на ввод.
АЦП настраивается на работу от основного генератора частоты с пределителемFosc/8.
TMR0 запускается с предделителем 1:256. Время его работы обеспечивает зарядку конденсатора в АЦП до уровня, соответствующего но-вому сигналу. Значение нового сигнала устанавливается в период ожидания внешнего прерывания (включения тумблера) изменением положения задатчика в соответствии с вариантом лабораторной работы.
В окне наблюдения выведите все регистры, состояние которых меняется в процессе выполнения программы. Моменты сохранения окна указаны в тексте программы.
Дата публикования: 2015-02-03; Прочитано: 272 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!