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

В сети

Пользователей: 128
Из них просматривают:
Аналоги: 53. Даташиты: 19. Инструкции: 7. Карта сайта: 2. Магазин: 1. Новости: 22. Остальное: 9. Расчёты: 2. Теги: 2. Торрент: 1. Форум: 6. Чат: 4.
Участников: 6
Гостей: 122

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

 

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

Разное

Пайка SMD резисторов и прочих компонентов обычным паяльником:

Интересно

Пайка SMD резисторов и прочих компонентов обычным паяльником:

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