- •Конспект лекцій з дисципліни “Мікропроцесорні пристрої”
- •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)
- •Система команд
- •Література
Сторожовий таймер wdt
Убудований сторожовий таймер WDT працює від окремого генератора RC, що не вимагає зовнішніх компонентів. Це дозволяє працювати сторожовому таймеру WDT при вимкненому тактовому генераторі (виводи OSC1, OSC2) в режимі SLEEP мікроконтролера. У нормальному режимі роботи при переповнюванні WDT відбувається скидання мікроконтролера. Якщо мікроконтролер знаходиться в режимі SLEEP, переповнювання WDT виводить його з режиму SLEEP з продовженням нормальної роботи. WDT вимкнений, якщо WDTE = 0 в слові конфігурації.
Час переповнювання залежить від температури, напруги живлення VDD і розкиду технологічних параметрів мікроконтролера. Якщо потрібний більший час переповнювання WDT, необхідно програмно підключити переддільник в регістрі OPTION_REG з максимальним коефіцієнтом ділення 1:128.
Примітки:
Команди CLRWDT і SLEEP скидають сторожовий таймер і переддільника, якщо він підключений до WDT, відкладаючи скидання пристрою.
Команда CLRWDT скидає сторожовий таймер і переддільник, якщо він підключений до WDT, але не змінює коефіцієнт ділення переддільника.
Структурна схема сторожового таймера WDT показана на рисунку 4.15.
Рисунок 4.15 – Структурна схема сторожового таймера WDT
Біти конфігурації
Біти конфігурації розташовані в пам'яті програм за адресою 2007h, вони можуть бути запрограмовані в «0» або залишеними в «1». Зверніть увагу, що адреса 2007h розташована за межами призначеної для користувача пам'яті програм. Фактично, до конфігураційного регістра (область пам'яті 2000…SFFFh) можна звернутися тільки в режимі програмування мікроконтролера.
Слово конфігурації (адреса 2007h)
Біт 13 Біт 0
Біти 13-12: СР1:СРО: Біти захисту пам'яті програм 11 = захист пам'яті програм вимкнений
10 = захищена пам'ять програм з адресами 1F00…1FFFh
01 = захищена пам'ять програм з адресами 1000…1FFFh 00 = захищена пам'ять програм з адресами 0000…1FFFh
біт 11: DEBUG: Біт включення режиму внутрішньосхемного налагодження
1 = внутрішньосхемне налагодження вимкнене, виводи RB6 і RB7 працюють як канали введення/виводу
0 = внутрішньосхемне налагодження включене, виводи RB6 і RB7 використовуються наладником
біт 10: Не реалізований: читається як «1»
біт 9: WRT: Біт дозволу запису в FLASH пам'ять програм
1 = дозволений запис в FLASH пам'ять програм через регістри управління EECON
0 = заборонений запис в FLASH пам'ять програм через регістри управління EECON
біт 8: CPD: Біт захисту EEPROM пам'яті даних
1 = захист пам'яті даних вимкнений
0 = захист пам'яті даних включений
біт 7: LVP: Біт дозволу низьковольтного програмування
1 = виведення RB3/PGM працює як PGM, режим низьковольтного програмування включений
0 = виведення RB3/PGM працює як цифровий порт введення/виводу, виведення HV використовується для програмування мікроконтролера
біт 6: BODEN: Біт дозволу скидання по зниженні напруги живлення 1= дозволено скидання BOR
0 = заборонено скидання BOR
біт 3: -PWRTE: Біт дозволу роботи таймера включення живлення
1 = PWRT вимкнений
0 = PWRT включений
біт 2: WDTE: Біт дозволу роботи сторожового таймера
1 = WDT включений
0 = WDT вимкнений
биті 1-0: FOSC1:FOSCO: Біти вибору режиму тактового генератора
11 = RC генератор 10 = HS генератор
01 = XT генератор 00 = LP генератор
Примітки:
При стиранні всієї пам'яті мікроконтролера в слово конфігурації записується значення SFFFh.
Щоб встановити захист пам'яті програм, усі пари СР1:СРО повинні мати однакове значення.
При виникненні скидання по зниженні напруги живлення (BOR) автоматично запускається таймер PWRT, незалежно від стану біта - PWRTE.
