Область ОЗУ организована как 128 х 8. К ячейкам ОЗУ можно адресоваться прямо или косвенно, через регистр указатель FSR (04h). Это также относится и к EEPROM памяти данных-констант.
Page 0 | Page 1 | ||
00 | Indirect add. | 80 | |
01 | RTCC | OPTION | 81 |
02 | PCL | 82 | |
03 | STATUS | 83 | |
04 | FSR | 84 | |
05 | PORT A | TRISA | 85 |
06 | PORT B | TRISB | 86 |
07 | 87 | ||
08 | ADCON0 | ADCON1 | 88 |
09 | ADRES | ADRES | 89 |
0A | PCLATH | 8A | |
0B | INTCON | 8B | |
0C 2F | 36 регистров общего назначения | тоже | 8C AF |
30 7F | не существует | B0 FF |
Организация прерываний
Прерывания в PIC16C71 могут быть от четырех источников:
внешнее прерывание с ножки RB0/INT,
прерывание от переполнения счетчика/таймера RTCC,
прерывание по окончании аналого-цифрового преобразования,
прерывание от изменения сигналов на ножках порта RB<7:4>.
Все прерывания имеют один и тот же вектор/адрес - 0004h. Однако, в управляющем регистре прерываний INTCON записывается:- от какого именно источника поступил запрос прерывания. Записывается соответствующим битом-флагом. Такое прерывание может быть замаскировано индивидуально или общим битом. Единственным исключением является прерывание по концу аналого-цифрового преобразования. Этот флаг (ADIF)находится в другом регистре ADCON.
|
|
Регистр запросов и масок
Управляющий регистр прерываний и его биты
Адрес: 0Bh Значение при сбросе - 0000 0000
GIE | ADIE | RTIE | INIE | 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.
|
|
Прерывание от АЦП
Флаг запроса прерывания (ADIF) по окончании аналого-цифрового преобразования устанавливается по окончании преобразования.
Сброс запроса ADIF - дело программы обработки.
Обзор регистров/портов
Кристалл имеет два порта: 5 бит порт RA и 8 бит порт RB с побитовой индивидуальной настройкой на ввод или на вывод.
Схема линии порта A
Порт А - это порт шириной 5 бит, соответствующие ножки кристалла RA<4:0>. Линии RA<3:0> двунаправленные, а линия RA4 -выход с открытым стоком. Адрес регистра порта А - 05h. Относящийся к порту А управляющий регистр TRISA расположен на первой странице регистров по адресу 85h. TRISA<4:0> - это регистр шириной 5 бит. Если бит управляющего TRISA регистра имеет значение единица, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра защелки. Ниже дана схема портов RA0..RA3
Вывод порта RA4 имеет структуру, аналогичную PIC16C84 за тем исключением, что отсутствует соответствующий бит в регистре TRIS, поэтому, при использовании данного выводя для ввода, следует предварительно записать в него “1”.
Название ножки | # | Функция ножки | Другие функции |
PA0 | 0 | Порт ввода/вывода.Входные уровни ТТЛ. | Аналоговый вход канала 0 |
PA1 | 1 | Порт ввода/вывода.Входные уровни ТТЛ. | Аналоговый вход канала 1 |
PA2 | 2 | Порт ввода/вывода.Входные уровни ТТЛ. | Аналоговый вход канала 2 |
PA3 | 3 | Порт ввода/вывода.Входные уровни ТТЛ.. | Аналоговый вход канала 3 или вход внешнего опорного напряжения |
PA4/RT | 4 | Порт ввода/вывода.Выход-открытый коллектор Вход - триггер Шмитта. | Вход внешнего тактового сигнала для RTCC |
Выводы порта RB ничем не отличаются от PIC16C84.