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

В сети

Пользователей: 69
Из них просматривают:
Аналоги: 16. Даташиты: 7. Инструкции: 2. Новости: 11. Остальное: 11. Программы: 2. Профиль пользователя: 1. Теги: 1. Торрент: 3. Форум: 13. Чат: 2.
Участников: 4
Гостей: 65

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. Схема подключения АЦП

 

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

Разное

Наличие высокого напряжения на присоске можно проверить отверткой, соединенной с корпусом через резистор 3-5 МОм

Интересно

Полихлорвиниловые трубки легче натянуть на изолируемые предметы (отвертки, пинцеты, радиодетали), если на 15-20 мин поместить их в ацетон.

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