Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

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

В сети

Пользователей: 246
Из них просматривают:
Аналоги: 61. Даташиты: 71. Инструкции: 2. Новости: 22. Остальное: 5. Программы: 1. Профиль пользователя: 4. Расчёты: 1. Теги: 4. Форум: 75.
Участников: 2
Гостей: 244

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

 

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

Разное

Интересно

Для выпаивания микросхем в DIP корпусе пользуюсь проверенной технологией . Которая дает неплохие результаты , сохраняя при этом как микросхему так и дорожки печатной платы .

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