Сделай Сам Свою Работу на 5

GIE Бит разрешения/запрещения всех прерываний.





GIE = 0 : запрещает прерывания

GIE = 1 : разрешает прерывания

Он сбрасывается автоматически при следующих обстоятельствах:

по включению питания,

по внешнему сигналу /MCLR при нормальной работе,

по внешнему сигналу /MCLR в режиме SLEEP,

по окончанию задержки таймера WDT при нормальной работе,

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

Внешнее прерывание

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

Прерывание от RTCC

Переполнение счетчика RTCC (FFh->00h) установит бит запроса RTIF (INTCON<2>). Это прерывание может быть разрешено/запрещено установкой/сбросом бита маски RTIE (INTCON<5>).



Сброс запроса RTIF - дело программы обработки.

Прерывание от порта RB

Любое изменение сигналов на четырех входах порта RB<7:4> установит бит RBIF (INTCON<0>). Это прерывание может быть разрешено/запрещено установкой/сбросом бита маски RBIE (INTCON<3>). Сброс запроса RBIF - дело программы обработки.

Прерывание от EEPROM

Флаг запроса прерывания по окончании записи в EEPROM, EEIF (EECON1<4>) устанавливается по окончании автоматической записи данных в EEPROM. Это прерывание может быть замаскировано сбросом бита EEIE (INTCON<6>).

Сброс запроса EEIF - дело программы обработки.

Обзор регистров/портов

Кристалл имеет два порта: 5 бит порт RA и 8 бит порт RB с побитовой индивидуальной настройкой на ввод или на вывод.

Схема линии порта A

Порт А - это порт шириной 5 бит, соответствующие ножки кристалла RA<4:0>. Линии RA<3:0> двунаправленные, а линия RA4 -выход с открытым стоком. Адрес регистра порта А - 05h. Относящийся к порту А управляющий регистр TRISA расположен на первой странице регистров по адресу 85h. TRISA<4:0> - это регистр шириной 5 бит. Если бит управляющего TRISA регистра имеет значение единица, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра защелки.



Название ножки # Функция ножки Другие функции
PA0 Порт ввода/вывода.Входные уровни ТТЛ.  
PA1 Порт ввода/вывода.Входные уровни ТТЛ.  
PA2 Порт ввода/вывода.Входные уровни ТТЛ.  
PA3 Порт ввода/вывода.Входные уровни ТТЛ..  
PA4/RT Порт ввода/вывода.Выход-открытый коллектор Вход - триггер Шмитта. Вход внешнего тактового сигнала для RTCC


Ниже дана схема портов RA0..RA3

Все биты портов имеют защитные диоды, подключенный к Vdd и Vss.

Вывод RA4/RTCC имеет несколько другую схему. Она приведена ниже


Схема линии порта B

Порт В - это двунаправленный порт, шириной в восемь бит (адрес регистра 06h). Относящийся к порту В управляющий регистр TRISB расположен на первой странице регистров по адресу 86h. Если бит управляющего TRISB регистра имеет значение единица, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра защелки. У каждой ножки порта В имеется небольшая активная нагрузка (около 100мкА) на линию питания. Она автоматически отключается, если эта ножка запрограммирована как вывод. Более того, управляющий бит RBPU OPTION<7> может отключить (RBPU=1) все нагрузки. Сброс при включении питания также отключает все нагрузки. Четыре линии порта В (RB<7:4>) имеют способность вызвать прерывание при изменении значения сигнала на любой из них. Если эти линии настроены на ввод, то они опрашиваются и защелкиваются в цикле чтения Q1. Новая величина входного сигнала сравнивается со старой в каждом командном цикле. При несовпадении значения сигнала на ножке и в защелке, генерируется высокий уровень. Выходы детекторов “несовпадений” RB4,RB5,RB6,RB7 объединяются по ИЛИ и генерируют прерывание RBIF (запоминаемое в INTCON<0>). Любая линия, настроенная как вывод, не участвует в этом сравнении. Прерывание может вывести кристалл из режима SLEEP. В подпрограмме обработки прерывания следует сбросить запрос прерывания одним из следующих способов:



1) Запретить прерывания при помощи обнуления бита RBIE INTCON<3>.

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

3) Обнулить бит RBIF INTCON<0>.

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

Ножка RB0 совмещена с входом внешнего прерывания INT.

Название ножки # Функция ножки Другие функции
PB0 Порт ввода/вывода.Входные уровни ТТЛ и внутренняя программируемая активная нагрузка. Вход внешнего прерывания
PB1 Порт ввода/вывода.Входные уровни ТТЛ. и внутренняя программируемая активная нагрузка.  
PB2 Порт ввода/вывода.Входные уровни ТТЛ и внутренняя программируемая активная нагрузка.  
PB3 Порт ввода/вывода.Входные уровни ТТЛ и внутренняя программируемая активная нагрузка.  
PB4 Порт ввода/вывода.Входные уровни ТТЛ и внутренняя программируемая активная нагрузка. Прерывание при изменении
PB5 Порт ввода/вывода.Входные уровни ТТЛ и внутренняя программируемая активная нагрузка. Прерывание при изменении
PB6 Порт ввода/вывода.Входные уровни ТТЛ и внутренняя программируемая активная нагрузка. Прерывание при изменении
PB7 Порт ввода/вывода.Входные уровни ТТЛ и внутренняя программируемая активная нагрузка. Прерывание при изменении

 

Проблемы c портами

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.