PIC16F8X 8-мибитные Flash/EEPROM микроконтроллеры, страница 3

Высокая производительность семейства PIC16CXX может быть обусловлена многими архитектурными характеристиками, обычно обнаруживающимся в RISC микропроцессорах. Во-первых,, PIC16CXX использует Гарвардскую архитектуру. Эта архитектура предусматривает раздельные память программ и память данных.Так устройство имеет шину памяти программ и шину памяти данных. Это улучшает ширину полосы частот по сравнению с  традиционной фон Неймановской архитектурой, где программа и данные выбираются из одной и той же памяти (доступной по одной и той же шине). Разделение памяти программ и памяти данных в дальнейшем допускает инструкции, которые должны измеряться иначе чем 8-битовое широкое слово данных. PIC16CXX коды операций 14-битовые широкие, позволяя единственно текстовые инструкции. Полная 14-битовая широкая программная шина памяти выбирает 14-битовую инструкцию в единственном цикле. Двухступенчатый конвейер перекрывает выборку и выполнение команд (Пример 3-1). Следовательно, все инструкции выполняются за один такт за исключением программных ветвлений.

PIC16F83 И PIC16CR83 адресуют 512 x 14 программной памяти, PIC16F84 и PIC16CR84 адресуют 1K x 14 программной памяти . Вся память программ внутренняя.

PIC16CXX Может непосредственно или косвенно адресовать свои файлы регистра или память данных. Вся специализированные регистры, включая программный счетчик, отображаются в памяти данных. Ортогональные (симметричные) инструкции дают возможность выполнять любую операцию в любом регистре, использующем любой режим адресации. Эта симметричная природа и недостаток «специальных оптимальных ситуаций» делают программирование с PIC16CXX простым, но все-таки эффективным.

Устройства PIC16CXX содержат 8-битное ALU и рабочий регистр. ALU - универсальное арифметическое устройство. Он выполняет арифметические и Булевы функции между данными в рабочем регистре и любом регистре в файле регистров.

ALU 8-битное, и выполняет сложение,, вычитание, сдвиг и логические операции. Если не указано особо, арифметические операции считаются двухоперандовыми. В двухоперандных инструкциях, естественно, один операнд является рабочим регистром (регистр W), и другой операнд - файловый регистр или безотлагательная константа. В однооперандных инструкциях операнд - или регистр W или файловый регистр.

Регистр W является 8-битовым рабочим регистром использованным для операций ALU. Это неадресуемый регистр.

В зависимости от выполненной инструкции, ALU может повлиять на величины Переноса (C), Цифровой Перенос (DC), и биты Нуля (Z) в статусном регистре. C и биты DC действуют как заем и цифровой заем бит, соответственно, в вычитании. Смотри SUBLW и SUBWF инструкции для примеров.

Упрощенная блочная диаграмма для PIC16F8X показывается в Рисунке 3-1. Наименование выводов в таблице 3.1.

Рис 3.1. Структурная схема

Таблица 3.1.

Наименов.

DIP

I/O

Тип буфера

Описание

OSC1/CLKIN

16

I

ST/CMOS

Вход генератора/внешний вход источника часов

OSC2/CLKOUT

15

O

-

Выход генератора. Подключается к резонатору при использовании внуреннего генератора. При использовании RC-генератора, контакт OSC2 является CLKOUT, который имеет 1/4 частоты OSC1, и обозначает ставку цикла инструкции.

MCLR

4

I/P

ST

Сброс (акт. 0)

RA0

RA1

RA2

RA3

RA4/T0CKI

17

18

1

2

3

I/O

I/O

I/O

I/O

I/O

TTL

TTL

TTL

TTL

ST

PORTA- двунаправленный порт I/O.

Может также выбираться как вход часов в TMR0 таймере/счетчике.

RB0/INT .

RB1

RB2

RB3

RB4

RB5

RB6

RB7

6

7

8

9

10

11

12

13

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

TTL/ST

TTL

TTL

TTL

TTL

TTL

TTL/ST

TTL/ST

PORTB – двунаправленный порт I/O.

RB0/INT могут также быть выбраны как внешний контакт прерывания.

VSS

5

P

-

GND

VDD

14

P

-

Питание