Высокая производительность семейства 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) |
RA0RA1 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 |
- |
Питание |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.