Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторки.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.62 Mб
Скачать

Лабораторна робота №3 Тема: Аналого цифровий перетворювач та його програмування.

Мета роботи: навчитися програмувати мікроконтролер, програмно звертатися до вбудованого АЦП, виводити результат на дісплей.

Матеріальне забезпечення роботи: персональний комп’ютер, програмне забезпечення віртуального середовища Proteus ISIS, мова програмування С, відлагоджувальний комплект ICD2.

Завдання для попередньої підготовки.

  1. Вивчити відповідний теоретичний матеріал.

  2. Опрацювати контрольні запитання.

  3. Підготовити звіт.

  4. Намалювати схеми для моделювання та дослідження.

Хід роботи:

  1. В програмному симуляторі зібрати схему згідно завдання лабораторної роботи.

  2. Створити проект програмного коду в програмі mikroC.

  3. Внести заготовлений код програми до програмного середовища.

  4. Компілювати проект.

  5. Внести отриманий двійковий компільований код до програми відлагоджувальника.

  6. Запустити програму відлагоджувальник.

  7. Проаналізувати роботу програми в різних режимах.

Вихідні дані до роботи:

Модуль ADC| (Analog| to| Digital| Converter|) є в багатьох моделях PIC| контроллерів. Бібліотечна функція Adc_Read| призначена для зручності роботи з|із| цим модулем.

Adc_Read|

Прототип

unsigned Adc_Read(unsigned short channel);

Результат

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

Опис

Ініціалізував внутрішній модуль ADC| мікроконтролера|мікроконтроллера| для роботи з|із| тактовим генератором RC|. Тактовий генератор визначає тривалість перетворення (min| 12TAD|).

Параметр channel представляє номер каналу, напруга з якого перетвориться ADC. Відповідність номерів виводів і номерів каналів приведена в документації на використовуваний мікроконтролер.

Вимоги

PIC| MCU| з|із| вбудованим модулем ADC|. Дані про наявність таких модулів в конкретних пристроях|устроях| є в документації (ADC| присутні в більшості представників сімейств P16| і P18|).

Перед використанням функції необхідно конфігурувати відповідний вивід|висновок| як вхід установкою 1 відповідного біта регістра|реєстру| TRISx|. Також цей вивід|висновок| має бути конфігурований як аналоговий вхід і задано джерело опорної напруги|напруження| Vref|.

Функція поки не підтримується мікроконтролерами: P18F2331, P18F2431, P18F4331, і P18F4431.

Приклад

unsigned| tmp|;

...

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

Програма для вихідного файлу.

Дана програма читає аналогове значення з|із| 2-го каналу ADC| і виводить двійковий код на світлодіоди, підключені до портів: PORTD| (молодші 8 битий) і PORTB| (2 старших бита).

unsigned| int| temp_res|;

void| main|() {

ADCON1| = 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);

}

Підключення компонентів:

Схема включення|приєднання| ADC|