рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Переривання

Переривання - раздел Образование, У 1975 році фірма GI розробила периферійний контролер Peripheral Interface Controller або PIC Переривання В Pic16C71 Можуть Бути Від Чотирьох Джерел: · Зовнішн...

Переривання в PIC16C71 можуть бути від чотирьох джерел:

· зовнішнє переривання з ніжки RB0/INT,

· переривання від переповнення лічильника/таймера RTCC,

· переривання по закінченню аналого-цифрового перетворення,

· переривання від зміни сигналів на ніжках порту RB < 7:4 >.

Всі переривання мають один і той же вектор/адресу – 0004h. Однак, в управляючому регістрі переривань INTCON записується від якого саме джерела надійшов запит переривання відповідним бітом-прапорцем “хххF” (RBIF, INTF, RTIF). Такі переривання можуть бути замаскованими індивідуально або загальним бітом GIE (1 – заборонені, 0 – дозволені). Єдиним винятком є переривання по кінцю аналого-цифрового перетворення. Цей прапорець (ADIF) знаходиться в іншому регістрі ADCON0.

Біт загального дозволу/заборони переривання GIE (INTCON < 7 >) дозволяє (якщо = 1) всі індивідуально незамасковані переривання або забороняє їх (якщо = 0). Кожне переривання окремо може бути додатково дозволено/заборонено установленням/скиданням відповідного біта “хххE” (RBIE, INTE, RTIE, ADIE) в регістрі INTCON.

Біт GIE обнуляється при скиданні. Коли починає оброблятися переривання, біт GIE обнуляється, щоб заборонити повторні переривання в момент виконання поточного, і відновлюється за командою повернення з переривання.

УВАГА! Програма обробки перериванняне повиннаустановлювати біт GIE.

Адреса повернення посилається в стек, а в програмний лічильник завантажується адреса 0004h. Час реакції на переривання для зовнішніх подій, таких як переривання від ніжки INT або порту B, складає приблизно п'ять циклів. Це на один цикл менше, ніж для внутрішніх подій, таких як переривання по переповненню від таймера RTCC. Час реакції завжди однаковий.

В підпрограмі обробки переривання джерело переривання може бути визначене по відповідному біту в регістрі прапорців. Цей прапорець-біт повинен бути програмно скинутий всередині підпрограми. Прапорці запитів переривань не залежать від відповідних бітів, що маскують, і біта загального маскування GIE. Команда повернення з переривання RETFIE завершує підпрограму, що перериває, і встановлює біт GIE, щоб знов дозволити переривання.

Управляючий регістр переривань INTCON (Адреса: 0Bh. Значення при reset: 0000 000?) має наступний зміст:

 

GIE ADIE RTIE INTE RBIE RTIF INTF RBIF

 

RBIF – Прапорець переривання від зміни на порту RB.

Прапорець встановлюється, коли сигнал на вході RB < 7:4 > змінюється.

Прапорець скидається програмним способом.

INTF – Прапорець переривання INT.

Прапорець встановлюється, коли на ніжці INT з'являється сигнал від зовнішнього джерела переривання.

Прапорець скидається програмним способом.

RTIF – Прапорець переривання від переповнення RTCC.

Прапорець встановлюється, коли RTCC переповнюється.

Прапорець скидається програмним способом.

RBIE – Біт дозволу/заборони RBIF переривання:

RBIE = 0 – забороняє RBIE переривання;

RBIE = 1 – дозволяє RBIE переривання.

 

INTE – Біт дозволу/заборони INT переривання:

INTE = 0 – забороняє INT переривання;

INTE = 1 – дозволяє INT переривання.

 

RTIE – Біт дозволу/заборони RTIF переривання:

RTIE = 0 – забороняє RTIE переривання;

RTIE = 1 – дозволяє RTIE переривання.

 

ADIE Біт дозволу/заборони переривання від аналого-цифрового перетворювача:
 

ADIE = 0 – забороняє ADIF переривання;

ADIE = 1 – дозволяє ADIF переривання.

 

GIE – Біт дозволу/заборони всіх переривань:

GIE = 0 – забороняє переривання;

GIE = 1: – дозволяє переривання.

Він скидається автоматично при наступних обставинах:

· при включенні живлення;

· за зовнішнім сигналом /MCLR при нормальній роботі;

· за зовнішнім сигналом /MCLR в режимі SLEEP;

· по закінченню затримки таймера WDT при нормальній роботі;

· по закінченню затримки таймера WDT в режимі SLEEP.

Зовнішнє переривання на ніжці RB0/INT здійснюється по фронту: по тому, що зростає (якщо біт < 6 > INTEDG = 1 в регістрі OPTION), або по фронту, що спадає (якщо INTEDG = 0). Коли фронт виявляється на ніжці INT, то біт запиту INTF встановлюється (INTCON < 1 >). Це переривання може бути замасковане встановленням управляючого біта INTE в нуль (INTCON < 4 >). Біт запиту INTF повинен бути очищений програмою, що перериває, перед тим, як знов дозволити це переривання. Переривання INT може вивести процесор з режиму SLEEP, якщо перед входом в цей режим біт INTE був встановлений в одиницю. Стан біта GIE також визначає: буде чи ні процесор переходити на підпрограму переривання після пробудження з режиму SLEEP.

Переповнення лічильника RTCC (FFh —> 00h) встановить біт запиту RTIF (INTCON < 2 >). Це переривання може бути дозволено/заборонено встановленням/скиданням біта маски RTIE (INTCON < 5 >).

Скидання запиту RTIF – справа програми обробки.

Будь-яка зміна сигналів на чотирьох входах порту RB < 7:4 > встановить біт RBIF (INTCON < 0 > ). Це переривання може бути дозволено/заборонено встановленням/скиданням біта маски RBIE (INTCON < 3 >).

Скидання запиту RBIF – справа програми обробки.

Кінець АЦП перетворення відзначається виробленням переривання і установленням прапорця ADIF в регістрі ADCCON управління АЦП. Цей прапорець повинен скидатися програмою.

 

2.3.9. Порти вводу/виводу

Мікроконтролер має два порти: 5-бітний порт RA і 8-бітний порт RB з побітовим індивідуальним настройюванням на ввід або на вивід. Ці лінії порту використовуються також для підключення до АЦП і до лінії зовнішнього переривання. В цьому випадку кількість ліній вводу/виводу загального користування зменшується.

Порт А – це порт шириною 5 бітів, відповідні ніжки кристала RA < 4:0 >. Лінії RA < 3:0 > двонаправлені, а лінія RA4 – вихід з відкритим стоком.

Організація розрядів RA3 : RA0 порту А наведена на рис. 2.22. Адреса регістра порту А - 05h. Стосовний до порту А управляючий регістр TRISA розміщений на першій сторінці регістрів за адресою 85h. TRISA <4:0> – це регістр шириною 4 біти, він не управляє бітом RA< 5 >, а тільки бітами RA < 4:0 >. Ввід сигналу з виводу RA5 можна здійснювати, коли на нього виведена "1".

Якщо біт управляючого регістра TRISA має значення, рівне "1", то відповідна лінія буде встановлюватися на ввід. Нуль переключає лінію на вивід і водночас виводить на неї вміст відповідного біта регістра-защіпки.

Виводи RA< 3:0 > можуть бути також використані як канали аналогових входів AIN3-AIN0. Вивід RA3 також використовується для забезпечення зовнішньої опорної напруги для АЦП Vref. Щоб визначити конфігурацію ніжок як цифрову (тобто порт), або як аналогову, треба встановити два біти в управляючому регістрі ADCON1 (адреса 88h). Коли виводи визначені як аналогові входи, значення регістра TRISA не буде відігравати ніякої ролі. Після скидання при включенні живлення виводи RA< 3:0 > конфігуруються як аналогові входи.

Вивід RA4/RTСС (TOCKI) має трохи іншу схему. Вона наведена нижче на рис. 2.23.

Порт В – це двонаправленний порт, шириною 8 бітів (адреса регістра 06h). Стосовний до порту В управляючий регістр TRISB розміщений на першій сторінці ОЗП за адресою 86h. Якщо біт управляючого регістра TRISB має значення "1", то відповідна лінія буде встановлюватися на ввід. Нуль переключає лінію на вивід і водночас виводить на неї вміст відповідного регістра-защіпки.

 

 

 

 


Рис. 2.22. Організація розрядів RA3/RA0 порту А

 

У кожної ніжки порту В є невелике активне навантаження (близько 250 мкА) на лінію живлення. Воно автоматично відключається, якщо ця ніжка запрограмована як вивід. Більш того, управляючий біт RBPU (OPTION < 7 >) може відключити (RBPU = 1) всі навантаження. Скидання при включенні живлення також відключає всі навантаження.

Чотири лінії порту В (RB < 7:4 >) мають спроможність викликати переривання при зміні значення сигналу на будь-якій з них. Якщо ці лінії настроєні на ввід, то вони опитуються і защіпуються в циклі читання Q1.

 
 

 


Рис. 2.23. Організація розрядів RA4 порту А

 

УВАГА! При вузьких імпульсах на вході, опитування процесором порту може "промахуватись" мимо фронтів. Такі імпульси краще реєструвати через RTCC, або застосовувати зовнішній тригер-защіпку (“пастку” для вузьких імпульсів) .

Нова величина вхідного сигналу порівнюється зі старою в кожному командному циклі. При неспівпадання значення сигналу на ніжці і в защіпці, генерується високий рівень. Виходи детекторів "неспівпадань" RB4, RB5, RB6, RB7 об'єднуються по “АБО” і генерують переривання RBIF (яке запам’ятовується в INTCON < 0 >).

Будь-яка лінія, налаштована як вивід, не бере участь в цьому порівнянні.

Переривання може вивести кристал з режиму SLEEP. В підпрограмі обробки переривання треба скинути запит переривання одним з наступних способів:

1. Заборонити переривання за допомогою обнулення біта RBIE в INTCON < 3 >.

2. Прочитати порт В. Це завершить стан порівняння.

Переривання по неспівпаданню і програмно встановлювані внутрішні активні навантаження на цих чотирьох лініях можуть забезпечити простий інтерфейс, наприклад з клавіатурою, із виходом з режиму SLEEP по натиску клавіш.

Вивід RB0 суміщено із входом зовнішнього переривання INT.

 

– Конец работы –

Эта тема принадлежит разделу:

У 1975 році фірма GI розробила периферійний контролер Peripheral Interface Controller або PIC

СТРУКТУРНА ОРГАНІЗАЦІЯ ТА РЕЖИМИ РОБОТИ ОМК PIC...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Переривання

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Таблиця 2.3
Опис спеціальних регістрів PIC16С5Х     Адреса Назва Біт 7 Біт 6 Біт 5

Скидання
Мікроконтролери PIC16С5Х мають наступні способи скидання: – скидання по включенню живлення (POR); – скидання по входу MCLR при звичайній роботі; – скидання по входу MC

Сторожовий таймер
Сторожовий таймер представляє собою повністю готовий вбудований RC-генератор. Він буде працювати, навіть якщо основний генератор зупинений, як це буває при виконанні команди SLEEP. Таймер виробляє

Режим пониженого енергоспоживання
Режим пониженого енергоспоживання SLEEP призначений для забезпечення дуже малого струму споживання в очікуванні (менше 1 мкА при виключеному сторожовому таймері). Вхід в режим SLEE

Система команд
  Кожна команда PIC16С5Х – це 12-бітне слово, що розділене по сенсу на наступні частини: код операції (OPCODE), поле для одного або більше операндів, що приймають або не приймають уча

Таблиця 2.6
Опис полів команд PIC 16C5Х   Поле Опис f Адреса регістра w Робочий регі

Модуль таймера (TMRO-RTCC)
  Єдиною відмінністю даного модуля від аналогічного в PIC 16С5Х є можливість формування сигналу переривання. Переривання по RTCC виробляється тоді, коли відбувається переповн

Модуль аналого-цифрового перетворювача (АЦП)
Модуль АЦП (рис. 2.24) містить чотири вхідних аналогових канали AIN3, AIN1, AIN2 і AIN3, що мультиплексуються на одну схему вибірки/зберігання і далі на АЦП. Опорна напруга надходить ззовні чере

Скидання
  В PIC 16С71 існує різниця між варіантами скидання: 1. Скидання при включенні живлення. 2. Скидання за зовнішнім сигналом /MCLR при нормальній роботі. 3. С

Таблиця 2.13
Настроювання попереднього дільника   PS2, PS1, PS0 Коефіцієнти ділення RTCC WDR

Режим пониженого енергоспоживання
Вхід в режим SLEEP здійснюється командою SLEEP. За цією командою, якщо WDT дозволений, то він скидається і починає відлік часу, біт “PD” в регістрі статусу (f3) скидається,

Система команд
Кожна команда PIC16C71 представляє собою 14-розрядне слово, що містить поле коду операції (OPCODE) і поле одного або більше операндів, які можуть брати участь в цій команді. Формат команди навед

Таблиця 2.14
Опис полів команд PIC 16C71   Поле Опис f Адреса регістра w Робочий регі

Скидання
Організація скидання в PIC 16С84 не відрізняється від PIC 16С71. Стан спеціальних регістрів після скидання наведений в табл. 2.17.   Таблиця 2.17 Стан спе

Порт вводу-виводу GPIO
Як і будь-який регістр, регістр вводу-виводу може бути доступний для читання і запису. Проте читання регістра провадиться незалежно від установлених режимів ліній вводу-виводу. У регістрі використо

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги