- •Конспект лекцій з дисципліни “Мікропроцесорні пристрої”
- •1 Основи теорії мікропроцесорних пристроїв
- •Класифікація мікропроцесорів. Варіанти архітектури
- •Базова структура мікропроцесорної системи
- •Основні характеристики мп
- •Типова структура мікропроцесора
- •Система команд мп і режими адресації
- •Організація передачі інформації в мпс. Інтерфейс
- •1.6.1 Способи передачі інформації
- •Методи обміну інформацією в мікропроцесорній системі
- •2 Мікроконтролери
- •Структура мк
- •Процесорне ядро мк
- •Резидентна пам'ять мк
- •Порти уведення/виводу
- •Таймери і процесори подій
- •Аналогово-цифрові й цифро-аналогові перетворювачі
- •Мінімізація споживання енергії в мп-системах
- •Моніторинг напруги живлення мк
- •Апаратні і програмні рішення по підвищенню надійності роботи мк
- •Контролери Intel mcs-51
- •3.1 Структурна організація Intel 8051
- •3.1.1 Арифметично-логічний пристрій
- •Зовнішня пам'ять
- •Пристрій керування і синхронізації
- •Програмна модель омк
- •Система команд Intel 8051
- •Арифметичні операції:
- •Логічні команди:
- •Бітові команди:
- •Периферійні присторої омк
- •Порти введення/виводу
- •Звертання до портів можливе тільки за прямою адресою.
- •Лічильники/таймери
- •Послідовний порт
- •Примітка
- •Мікроконтролер pic16f877
- •Характеристика мікроконтролера
- •Cтруктурна схема мікроконтролера pic16f877
- •Організація пам'яті
- •Пам’ять програм
- •Організація пам'яті даних
- •Регістр стану status
- •Лічильник команд
- •Порти введення/виводу
- •Регістри portа і trisa
- •Регістри portb і trisb
- •Регістри portc і trisc
- •Регістри portd і trisd
- •Регістри porte і trise
- •Таймери
- •Модуль таймера tmr0
- •Модуль таймера tmr1
- •Модуль таймера tmr2
- •Модуль 10-розрядного ацп
- •Adcon0 (адреса 1Fh)
- •Adcon1 (адреса 9Fh)
- •Переривання
- •Сторожовий таймер wdt
- •Біти конфігурації
- •Слово конфігурації (адреса 2007h)
- •Система команд
- •Література
Adcon0 (адреса 1Fh)
b7 b6 b5 b4 b3 b2 b1 b0
ADCS1 |
ADCS0 |
CHS2 |
CHS1 |
CHS0 |
GO/-DONE |
– |
ADON |
біти 7-6: ADCS1: ADCS0: Вибір джерела тактового сигналу
00 = Fosc/2
01 = Fosc/8
10 = Fosc/32
11 = Frc (внутрішній RC генератор модуля АЦП)
біти 5-3: CHS2:CHS0: Вибір аналогового каналу 000= канал 0 (RAO/ANO)
001= канал 1(RA1/AN1)
010= канал 2 (RA2/AN2)
011= канал 3 (RA3/AN3)
100= канал 4 (RA5/AN4)
101= канал 5 (RE0/AN5)
110= канал 6 (RE1/AN6)
111 = канал 7 (RE2/AN7)
біт 2: GO/-DONE: Біт статусу модуля АЦП Якщо ADON=1
1 = модуль АЦП виконує перетворення (установлення біта викликає початок перетворення)
0 = стан очікування (апаратно скидається по завершенні перетворення)
біт 1: Не використовується: читається як '0' біт 0: ADON: Біт включення модуля АЦП
1= модуль АЦП включений
0 = модуль АЦП вимкнений і не споживає струм.
Adcon1 (адреса 9Fh)
b7 b6 b5 b4 b3 b2 b1 b0
ADFM |
– |
– |
– |
PCFG3 |
PCFG2 |
PCFG1 |
PCFG0 |
біт 7: ADFM: Формат збереження 10-розрядного результату
1 = праве вирівнювання, 6 старших біт ADRESH читаються як '0' 0 = ліве вирівнювання, 6 молодших біт ADRESL читаються як '0'
біти 6-4: Не використовуються: читаються як '0';
биті 3-0: PCFG3:PCFG0: Керівні біти настройки каналів АЦП їх значення приведене в таблиці 4.3.
Таблиця 4.3 – Біти настройки каналів АЦП
PCGF3: PCGF0 |
AN7 RE2 |
AN6 RE1 |
AN5 RED |
AN4 RA5 |
AN3 RA3 |
AN2 RA2 |
AN1 RA1 |
AND RAO |
VREF+ |
VREF- |
Кан./ VREF |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
0000 |
А |
A |
A |
A |
A |
A |
A |
A |
VDD |
VSS |
8/0 |
0001 |
А |
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 |
011х |
D |
D |
D |
D |
D |
D |
D |
D |
VDD |
VSS |
0/0 |
Продовження таблиці 4.3
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
1000 |
А |
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 |
А = аналоговий вхід; D = цифровий канал введення/виводу.
В останньому стовпці указується кількість аналогових каналів, доступних для перетворення і кількість входів джерела опорної напруги.
У регістрі ADRESH:ADRESL зберігається 10-розрядний результат аналого-цифрового перетворення. Коли перетворення завершене, результат перетворення записується в регістр ADRESH:ADRESL, після чого скидається прапор GO/-DONE (ADCON0<2>) і встановлюється прапор переривання ADIF. Структурна схема модуля АЦП показана на рисунку 4. 13.
Рисунок 4.13 – Структурна схема модуля АЦП
Після включення і конфігурації АЦП вибирається робочий аналоговий канал. Відповідні біти TRIS аналогових каналів повинні настроювати порт введення/виводу на вхід.
Рекомендована послідовність дій для роботи з АЦП: 1 Настроїти модуль АЦП:
настроїти виводи як аналогові входи, входи VREF або цифрові канали введення/виводу (ADCON1);
вибрати вхідний канал АЦП (ADCON0);
вибрати джерело тактових імпульсів для АЦП (ADCON0);
включити модуль АЦП (ADCON0).
Настроїти переривання від модуля АЦП (якщо необхідно):
скинути біт ADIF в «0»;
встановити біт ADIE в «1»;
встановити біт PEIE в «1»;
встановити біт GIE в«1».
Витримати паузу, необхідну для зарядження конденсатора СHOLD. 4 Почати аналого-цифрове перетворення:
•установити біт GO/-DONE в «1» (ADCON0). 5 Чекати закінчення перетворення:
чекати поки біт GO/-DONE не буде скинутий в «0»;
чекати переривання по закінченні перетворення.
Прочитати результат перетворення з регістрів ADRESH: ADRESL, скинути біт ADIF в '0', якщо це необхідно.
Для наступного перетворення необхідно виконати кроки, починаючи з пункту 1 або 2. Час перетворення одного біта визначається як час ТAD. Мінімальний час очікування перед наступним перетворенням повинен становити не менше 2ТAD.
