Вычислительное ядро выполнено по высокоскоростной RISC-технологии. Высокая производительность достигается за счет применения конвейерной архитектуры и малого числа команд (всего 35).
Тактовая частота МК PIC16F877 составляет 20 МГц, при этом время длительности машинного цикла достигает 200 нс.
Вычислительное ядро МК PIC16F877 имеет:
· 8К×14 слов Flash-памяти программ;
· 368×8 байт памяти данных (ОЗУ);
· 256×8 байт EEPROM-памятью данных;
· систему прерываний (14 источников).
Организация памяти данных микроконтроллера PIC16F877
Структура памяти данных показана на рис.2.
Рисунок 2 – Структура памяти данных.
Память данных разделена на четыре банка, которые содержат регистры общего и специального (SFR) назначения. Биты RP1 (STATUS<6>) и RP0 (STATUS<5>) предназначены для управления банками данных. В табл. 1 показано состояние управляющих битов при обращении к банкам памяти данных.
Таблица 1. Состояние управляющих битов
RP1 | RP0 | Банк |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 2 |
1 | 1 | 3 |
Объем банков памяти данных до 128 байт (7Fh). В начале банка размещаются регистры специального назначения, затем регистры общего назначения выполненные как статическое ОЗУ. Все банки содержат регистры специального назначения. Часто используемые регистры специального назначения отображаться в других банках памяти. Старшие 16 байт памяти данных в банках 1, 2 и 3 отображены в банке 0.
|
|
Организация памяти команд микроконтроллера PIC16F877
Структура памяти команд показана на рис. 3.
Микроконтроллеры PIC16F877 имеет 13-разрядный программный счетчик ПС, способный адресовать 8К × 14 бит памяти программ.
Адрес вектора сброса — 0000h.
Адрес вектора прерываний — 0004h.
Рисунок 3 - Структура памяти команд микроконтроллера PIC16F877