Разделы инструкций

В сети

Пользователей: 130
Из них просматривают:
Аналоги: 42. Даташиты: 12. Инструкции: 6. Новости: 21. Остальное: 10. Ошибки: 2. Производители: 1. Профиль пользователя: 5. Торрент: 2. Форум: 25. Чат: 4.
Участников: 6
Гостей: 124

an , KT315 , alex01981 , Google , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Оглавление

Функции для работы с ADC

Модуль ADC (Analog to Digital Converter, АЦП) есть во многих моделях PIC-контроллеров. Библиотечная функция Adc_Read (см. таблицу 3) предназначена для удобства работы с этим модулем.

 

Таблица 3. Описание функции Adc_Read

Прототип

unsigned Atic_Read(unsigned short channel)

Результат

10-битовое беззнаковое число, прочитанное из указанного канала

Описание

Инициализирует внутренний модуль ADC микроконтроллера для работы с тактовым генератором RC. Тактовый генератор определяет длительность преобразования. Параметр channel представляет номер канала, напряжение с которого преобразуется АЦП- Соответствие номеров выводов и номеров каналов приведено в документации на используемый микроконтроллер

Требования

PIC-микроконтроллер со встроенным модулем АЦП. Данные о наличии таких модулей в конкретных устройствах есть в документации (АЦП присутствуют в большинстве представителей семейств Р16 и Р18). Перед использованием функции необходимо сконфигурировать соответствующий вывод как вход установкой в единичное состояние соответствующего бита регистра TRISx. Также этот вывод должен быть сконфигурирован как аналоговый вход и задан источник опорного напряжения Vref. В ранних версиях mikroC функция может не поддерживаться микроконтроллерами: P18F2331, P18F2431, P18F4331 и P18F4431

Пример

unsigned tmp;

tmp = Adc_Read(1); /* чтение аналогового значения из канала 1 */

 

Следующая программа читает аналоговое значение из второго канала АЦП и выводит двоичный код на светодиоды, подключенные к портам PORTD (младшие 8 бит) и PORTB (2 старших бита), показанным на рисунке 22.

unsigned int temp_res;  
void main() {
ADC0N1 = 0x80; // Конфигурирование аналоговых входов и Vref
TRISA =
0xFF; // Все выводы PORTA -входы
TRISB = 0x3F; // Выводы RB7, RB6 -выходы
TRISD = 0; // Все выводы PORTD -выходы
do { temp_res = Adc_Read(2); // получить результат преобразования
PORTD = temp_res;
// Вывести младшие 8 битов в PORTD
PORTB = temp_res >>
2; // Вывести старшие 2 бита на RB7, RB6 }
while(1);
)

 

 Схема подключения АЦП

Рис. 22. Схема подключения АЦП

 

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Разное

Пайка алюминия и его сплавов.

Интересно

Чтобы защитить стержень от обгорания, его нужно обмазать тонким слоем смеси силикатного клея и сухой минеральной краски (окись железа, цинка и магния).

Похожие инструкции