- •Введение.
- •1.1. Основные характеристики.
- •1.2. Структурная схема микроконтроллера.
- •1.3. Блоки памяти.
- •1.4. Регистры состояния и управления.
- •1.5. Порты ввода-вывода.
- •2.0.Функциональные модули микроконтроллера pic16f873.
- •2.1. Таймеры.
- •2.1.2. Модуль таймера tmr1.
- •2.1.3. Модуль таймера tmr2.
- •2.2. Модуль сср.
- •2.2.2. Режим сравнения.
- •2.2.3. Режим широтно-импульсного преобразователя (шим).
- •2.3. Модуль ацп.
- •2.3.1.Работа модуля осуществляется в следующей последовательности:
- •2.3.2.Временные требования к работе модуля ацп.
- •2.3.4. Последовательность преобразования аналогового сигнала.
- •2.3.5. Выравнивание результата преобразования.
- •2.3.6. Работа модуля ацп в sleep режиме.
- •2.3.7. Пример программирования модуля ацп.
- •2.4.Универсальный синхронно – асинхронный приемопередатчик (usart).
- •2.4.1.Режим асинхронного полного дуплекса.
- •2.4.1.1. Асинхронный передатчик usart.
- •2.4.1.2. Асинхронный приемник модуля usart.
- •2.5.Модуль ведущего синхронного последовательного порта (mssp).
- •2.5.1. Режим ведомого i2c.
- •2.5.1.1.Прием данных.
- •2.5.1.2. Передача данных.
- •2.5.1.3.Поддержка общего вызова.
- •2.5.1.4.Работа в sleep режиме.
- •2.5.2. Режим ведущего i2c.
- •2.5.3. Подключение абонентов к шине i2c.
- •2.6. Прерывания.
- •2.7. Сторожевой таймер.
- •2.8. Система команд микроконтроллера.
- •Incf Прибавить 1 к содержимому регистра f.
- •Incfsz Прибавить 1 к регистру f, пропустить, если 0.
- •Iorlw Побитное «или» регистра w и константы k.
- •Iorwf Побитное “или» регистров w, f.
- •Xorlw Побитное «Исключающее или» константы и регистра w.
- •Xorwf Побитное «исключающее или» регистров w,f.
2.3. Модуль ацп.
Модуль АЦП имеет 5 входных каналов (8 в микроконтроллерах PIC16F874). Структурная схема модуля показана на рис. 14. Микроконтроллер имеет в своем составе один аналого-цифровой 10 - разрядный преобразователь, на вход которого коммутируется 5 или 8 (для PIC16F887) аналоговых сигналов. Входные сигналы подаются на выводы RA0…RA3, RA5, RE0…RE3 портов A и E микроконтроллера, соответственно эти выводы должны быть предварительно настроены как входы. В качестве опорных напряжений преобразователя можно использовать как напряжения питания микроконтроллера: Vdd и Vss, так и задавать от внешнего источника опорных напряжений: Vref+ и Vref-, которые подаются на входы RA3, RA2 соответственно. Число входных каналов модуля при этом сокращается.
Для управления модулем АЦП используются четыре регистра специального назначения:
- ADRESH – регистр старшего байта результата преобразования,
- ADRESL - регистр младшего байта результата преобразования,
- ADCON0 – регистр управления 0,
- ADCON1 - регистр управления1.
Регистр ADCON0 используется для настройки и пуска преобразователя. Формат регистра приведен в таблице 19
Таблица 19.
Номер разряда |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Обозн. разряда |
ADCS1 |
ADCS0 |
CHS2 |
CHS1 |
CHS0 |
GO/DONE |
- |
ADON |
Бит 0 – ADON – включение преобразования: 1 – модуль включен,
0 – модуль выключен, ток не потребляется.
Бит 1 не используется.
Бит 2 – GO/DONE -бит состояния преобразователя: 1 – выполняется преобразование, установка бита означает начало работы преобразователя, 0 – ожидание, аппаратно сбрасывается по окончании преобразования.
Биты 5-3 – CHS2:CHS0 - выбор номера аналогового входа:
000 – канал 0
001 – канал 1
010 – канал 2
011 – канал 3
100 – канал 4
101 – канал 5
110 – канал 6
111 – канал 7
Биты 7-6 – ADCS1:ADCS0 – выбор источника тактовых сигналов преобразователя)
00 – Fosc/2, где Fosc- основная тактовая частота микроконтроллера,
01 – Fosc/8
10 – Fosc/32
11 - частота внутреннего RC – генератора модуля АЦП.
Формат регистра ADCON1 приведен в таблице 19.
Таблица 19.
Номер разряда |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Обозн. разряда |
ADFM |
- |
- |
- |
PCFG3 |
PCFG2 |
PCFG1 |
PCFG0 |
Биты 3-0 PCFG3:PCFG0 - биты настройки каналов на различные режимы. Режимы приведены в таблице 20
Таблица 20.
PCFG3 PCFG0 |
AN7 RE2 |
AN6 RE1 |
AN5 RE0 |
AN4 RA5 |
AN3 RA3 |
AN2 RA2 |
AN1 RA1 |
AN0 RA0 |
Vref+ |
Vref- |
Кан./ Vref |
0000 |
A |
A |
A |
A |
A |
A |
A |
A |
Vdd |
Vss |
8/0 |
0001 |
A |
A |
A |
A |
Vref+ |
A |
A |
A |
RA3 |
Vss |
7/1 |
0010 |
D |
D |
D |
A |
A |
A |
A |
A |
Vdd |
Vss |
5/0 |
0011 |
D |
D |
D |
A |
Vref+ |
A |
A |
A |
RA3 |
Vss |
4/1 |
0100 |
D |
D |
D |
D |
A |
D |
A |
A |
Vdd |
Vss |
3/0 |
0101 |
D |
D |
D |
D |
Vref+ |
D |
A |
A |
RA3 |
Vss |
2/1 |
011x |
D |
D |
D |
D |
D |
D |
D |
D |
Vdd |
Vss |
0/0 |
1000 |
A |
A |
A |
A |
Vref+ |
Vref- |
A |
A |
RA3 |
RA2 |
6/2 |
1001 |
D |
D |
A |
A |
A |
A |
A |
A |
Vdd |
Vss |
6/0 |
1010 |
D |
D |
A |
A |
Vref+ |
A |
A |
A |
RA3 |
Vss |
5/1 |
1011 |
D |
D |
A |
A |
Vref+ |
Vref- |
A |
A |
RA3 |
RA2 |
4/2 |
1100 |
D |
D |
D |
A |
Vref+ |
Vref- |
A |
A |
RA3 |
RA2 |
3/2 |
1101 |
D |
D |
D |
D |
Vref+ |
Vref- |
A |
A |
RA3 |
RA2 |
2/2 |
1110 |
D |
D |
D |
D |
D |
D |
D |
A |
Vdd |
Vss |
1/0 |
1111 |
D |
D |
D |
D |
Vref+ |
Vref- |
D |
A |
RA3 |
RA2 |
1/2 |
Обозначения в таблице 20:
A – аналоговый вход,
D – цифровой канал ввода/вывода
Vref+ - положительное внешнее опорное напряжение АЦП,
Vref- - отрицательное внешнее опорное напряжение АЦП,
Канн/Vref – число доступных аналоговых каналов / число входов внешнего опорного напряжения.