2. Структурная организация и режимы работы омк с risc архитектурой icon

2. Структурная организация и режимы работы омк с risc архитектурой









Название2. Структурная организация и режимы работы омк с risc архитектурой
страница1/3
Размер0.58 Mb.
ТипДокументы
  1   2   3
2. Структурная организация и режимы работы ОМК с RISC

архитектурой


2.1. Общие сведения об ОМК PIC16/17 и их классификация


В 1975 году фирма GI разработала периферийный контроллер (Peripheral Interface Controller или PIC), предназначенный для поддержки ввода-вывода 16-ти разрядного процессора. В нем не требовалась сложная обработка информации, поэтому его набор команд был сильно ограничен, но почти все команды в нём выполнялись за один машинный цикл. Этот контроллер, имевший RISC-архитектуру стал прообразом сегодняшней архитектуры микроконтроллеров PIC [3-6], выпускающихся с конца 80-х годов компанией Arizona Microchip TechnologyLtd., дочерней компанией GI Microelectronics Inc.

Микроконтроллеры семейства PIC объединяют все передовые технологии ОМК: мировое лидерство по гибкой однократно или многократно электрически перепрограммируемой пользователем технологии ППЗУ, минимальное энергопотребление, исключительную производительность, мощную RISC-архитектуру и минимальные размеры корпуса. Эти широкие возможности и низкая стоимость сделали серию микроконтроллеров PIC лучшим выбором для инженерных применений. Более 200 миллионов микроконтроллеров PIC используется в нескольких тысячах приложений по всему миру. Использовать эти микроконтроллеры рекомендуется во всех случаях, когда критично энергопотребление, габариты и стоимость устройства.

Вот только некоторые примеры применений микроконтроллеров PIC:

  • Компьютеры и периферия: принтеры, плоттеры, сетевые карты, модемы, мыши, сканеры, накопители на гибких и жестких магнитных дисках, CD ROM, мультимедийные устройства и т. п.

  • Радиотехника (ТНП): CD проигрыватели, аудио системы, системы синтеза речевых сообщений, блоки дистанционного управления, модули телетекста, видеоигры.

  • Техника связи: модемы, радиомодемы, микро-АТС, автоответчики, АОНы, беспроводные и мобильные телефоны, пейджеры, факс-аппараты.

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

  • Автомобильная электроника: системы управления зажиганием, микроклиматом и впрыском топлива, приборные панели, радарные детекторы, автомобильные сигнализации, комбинированные измерительные приборы.

  • Бытовая техника: системы сигнализации, измерительные приборы, счетчики воды, газа и электроэнергии, детекторы ионизирующего излучения, игрушки и т.д.

В зависимости от разрядности команд , архитектурных особен-ностей и функциональных возможностей однокристальные микроконт-роллеры (ОМК) PIC делятся на четыре основные группы (семейства) :

  1. Семейство простейших ОМК (12р. команды) – PIC 12CXX.

  2. Базовое семейство (12 р. команды ) - PIC 16 C5XX.

  3. Расширенное семейство (14 р. команды) - PIC 16CXX.

  4. Высокопроизводительное семейство (16 р. команды) - PIC 17CXX.

Подавляющее число ОМК, также как и микроконтроллеры серии К1816, имеет традиционную (Фон-Неймановскую или Принстонскую) архитектуру в которой команды и данные передаются по одной шине [2,7]. Архитектура же ОМК PIC основана на концепции раздельных шин и областей памяти для данных и команд (Гарвардская архитектура) [3-6]. Шина и память данных (ОЗУ) имеет ширину 8 бит, а программная шина и память (ПЗУ или ППЗУ) имеет ширину 12, 14 или 16 бит в зависимости от семейства ОМК. Такая концепция обеспечивает простую, но мощную систему команд а двухступенчатый конвейер обеспечивает их одновременную выборку и исполнение. Все команды состоят из одного слова (шириной 12, 14 или 16 бит) и исполняются за один цикл (200 нс при тактовой частоте 20МГц), кроме команд перехода, которые выполняются за два цикла. За счет этого ОМК с RISC-архитектурой типа PIC 16/17 имеют самое высокое быстродействие по сравнению с большинством наиболее распространенных 8-битовы микроконтроллеров аналогичного класса и обеспечивают более чем в 5-10 раз лучшую производительность.


Контрольные испытания показывают [3], что применение ОМК се-рии PIC позволяют уменьшить время отладки в 1,5-2 раза по сравнению с обычными 8- разрядными микроконтроллерами.

Система команд ОМК PIC 12/16/17 включает только 33/35/57 команд и может быть легко и быстро изучена. В конструкцию PIC включено много энергосберегающих особенностей, делающих их на сегодняшний день самыми микропотребляющими (в режиме SLEEP потребляемый ток менее 1 мкА), самым низковольтным по напряжению питания (2В) программируемыми пользователем микроконтроллерами.

Простейшие типы таких ОМК содержат 8-битный таймер-счетчик с 8- битным программируемым предварительным делителем (фактически 16-битный таймер) и 6-20 линий двунаправленного ввода/вывода. Корпус таких ОМК имеет 8(18) выводов. Микроконтроллеры расширенного и высокопроизводительного семейств содержат кроме этого целый ряд дополнительных функциональных узлов и блоков таких, например, как: многоканальные аналого-цифровые преобразователи, разветвленную систему прерываний, блоки управления жидкокристаллическими индикаторами, компараторы, широтно-импульсные модуляторы, параллельные и последовательные интерфейсы типа I2C, RS-232 и т.д., цифровые умножители, дополнительные таймеры-счетчики, увеличенное количество портов ввода/вывода дискретных сигналов и прочее.

Таким образом, ОМК PIC имеют существенные преимущества по сравнению с другими типами микроконтроллеров такого же класса. В настоящее время выпускаются микроконтроллеры с различным объемом постоянной и оперативной памяти, с различными типами тактовых генераторов, с различными быстродействием и конструктивным исполнением, а также с различными функциональными возможностями. Конкретный тип микроконтроллера для решения определенной задачи можно выбрать на основании критериев, рассмотренных ранее в разделе 1, используя соответствующую информацию, приведенную в Приложении А и в справочной литературе [3-7].

В зависимости от технологии изготовления ПЗУ все типы МК разделяются на пять групп:

1. Микроконтроллеры многократно программируемые пользователем, которые, в свою очередь могут быть разделены также на две следующие группы:

1) Микроконтроллеры с ультрафиолетовым стиранием. Эти МК оптимальны для экспериментальных разработок и отладки программ. Необходимую конфигурацию тактового генератора , , , или устанавливают программным путем. По умолчанию устанавливается тип генератора . В зависимости от выбранного типа генератора и частоты, напряжение питания должно быть в том же диапазоне, что и для устройств OTP/QTP, рассмотренных ниже.

2) Микроконтроллеры с многократно электрически программируе-мыми пользователем ППЗУ (EEPROM) программ и данных. Эти МК (такие например, как PIC 16C84X или 16F84X) позволяют легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования разработанного МКУ. Однако, данные МК имеют ограниченное количество циклов перепрограммирования.

2. Однократно программируемые микроконтроллеры (ОТР). Эти МК могут быть однократно запрограммированы пользователем и применяются в тех случаях, когда нет необходимости часто менять содержание программы или конфигурацию микроконтроллера в разрабо-танном МКУ. Для некоторых типов МК (таких например, как PIC 16C54, PIC 16C55, PIC 16C57 и т.д.) тип генератора задается на заводе-изготовителе и микроконтроллер тестируется только для заданного типа генератора. Для других типов МК (таких, например, как PIC16C52, PIC16C54A, PIC16C58A и т.д.) тип генератора программируется пользователем. Дополнительно можно при этом подключить сторожевой таймер и/или логику защиты программ от считывания. Так же можно запрограммировать 16 специальных битов для идентификации.

3. Микроконтроллеры, программируемые изготовителем (QTP). Эти МК являются заказными и полностью программируемыми на заводе- изготовителе по заранее предоставленной пользователем информации. То есть, это так же однократно программируемые контроллеры (ОТР) с единственной разницей, что программирование осуществляется не пользователем, а на заводе-изготовителе.

4. Микроконтроллеры, последовательно программируемые изготовителем (SQTP). Это так же заказные однократно программируемые на заводе-изготовителе МК типа QTP, в которых несколько задаваемых пользователем ячеек в каждом микроконтроллере программируются различными серийным номерам. Причем, эти номера могут быть случайными, псевдослучайными или последовательными. Последовательное программирование позволяет каждому МК иметь собственный номер, который может быть использован в качестве пароля, кода доступа или идентификации.

5. Масочные микроконтроллеры (ROM). Эти МК также являются заказными и обеспечивают максимально низкую стоимость при крупно- серийных заказах (например, такими МК являются PIC16CR54, PIC16CR56, PIC16CR57, PIC16CR58 и т.д.).


2.2. Однокристальные микроконтроллеры семейства PIC16C5X


2.2.1. Структурная организация микроконтроллеров PIC16C5X


Особенности архитектуры и структурная схема. Структурная схема ОМК PIC16C5X показана на рис.2.1. Основу структуры данного микроконтроллера составляют две внутренние шины: двунаправленная 8-битная шина данных и 12-битная шина команд. Это соответствует, как уже упоминалось ранее, Гарвардской архитектуре, основанной на концепции раздельных шин и областей памяти для данных и команд Шина данных связывает между собой все основные функциональные блоки МК: память данных (ОЗУ); арифметико-логическое устройство (ALU); порты ввода/вывода (Port A, B и С); регистры состояния (Status), косвенной адресации (FSR), таймера-счетчика (RTCC/TMRO), программного счетчика (PCL).


Регистры разделяются на две функциональные группы: специаль-ные регистры и регистры общего назначения. Специальные регистры включают в себя регистр таймера/счетчика реального времени (TMRO/RTCC), счетчик команд (PC), регистр состояния (STATUS), регистры ввода/ вывода (PORT) и регистр косвенной адресации (FSR). Кроме того, специальные регистры (TRIS) управляют конфигурацией портов ввода-вывода и режимом предварительного делителя (OPTION). Регистры общего назначения (Register File) используются программой для хранения переменных по усмотрению пользователя. В микроконтроллерах семейства Р1С 16С5Х существуют прямая и косвенная адресация всех регистров и ячеек памяти. Все специальные регистры и счетчик команд также отображаются на память данных.

Микроконтроллеры Р1С16С5Х имеют ортогональную (симметричную) систему команд, позволяющую выполнять любую операцию с любым регистром, используя любой метод адресации. Это облегчает программирование для них и значительно уменьшает время, необходимое на обучение работе с ними.

В микроконтроллерах Р1С16С5Х имеется 8-разрядное арифметико-логическое устройство (АЛУ) и рабочий регистр W. АЛУ выполняет сложение, вычитание, сдвиг, битовые и логические операции. В командах, имеющих два операнда, одним из операндов является рабочий регистр W. Второй операнд может быть константой или содержимым любого регистра ОЗУ. В командах с одним операндом, операнд может быть содержимым рабочего регистра или содержимым любого регистр. Для выполнения всех операций АЛУ используется рабочий регистр W, который не может быть прямо адресован. В зависимости от результата выполнения операции, могут измениться значения битов переноса С, десятичного переноса DC и нуля Z в регистре состояния STATUS. При вычитании биты С и DC работают как биты заема и десячного заема, соответственно. В описании команд SUBWF и ADDWF приведены необходимые примеры [8].

В состав микроконтроллеров PIC16C5X входит еще целый ряд функциональных блоков и узлов, таких, например, как: ПЗУ/ППЗУ прог-рамм (EPROM), счетчик команд или программный счетчик (PC), стек (Stack 1,2), регистры управления портами ввода/вывода (TRIS A,B,C ), сторожевой таймер Watch Dog Timer (WDT), предварительный делитель (Prescaler) для WDT и TMRO/RTCC, ячейка (слово) конфигурации (Configuration EPROM), топологические расположенное в ПЗУ программ, блок генераторов тактовых последовательностей и сигналов управления (Oscillator Timing & Control).

Входная тактовая частота, поступающая с вывода OSC1/CLKIN, внутри делится на четыре и из нее формируются четыре циклические не перекрывающиеся тактовые последовательности Q1, Q2, Q3 и Q4. Счетчик команд увеличивается в такте Q1, команда считывается из памяти программы и защелкивается в регистре команд в такте Q4. Команда декодируется и выполняется в течение последующего цикла в тактах Q1...Q4.

Выборка команды и ее выполнение совмещены по времени таким образом, что выборка команды занимает один цикл, а выполнение следующий цикл. Эффективное время выполнения команды составляет один цикл. Если команда изменяет счетчик команд (например, команда GOTO), то для выполнения этой команды потребуется два цикла. Цикл выборки начинается с увеличения счетчика команд в такте Q1. В цикле выполнения команды выбранная команда защелкивается в регистр команд в такте Q1. В течение тактов Q2, Q3 и Q4 происходит декодирование и выполнение команды. В такте Q3 считывается память данных (чтение операнда), а запись происходит в такте Q4. Таким образом, цикл выполнения команды (рис. 2.2) состоит из 4-х тактов Q1-Q4, в каждом из которых производятся различные, заранее определенные действия:

Q1 - Выборка определенной команды из памяти программ и ее декодирование или вынужденный NOP,

Q2 - Выборка данных или NOP,

Q3 - Выполнение команды и обработка данных,

Q4 - Запись данных или NOP.


Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4


OSC1


Q1


Q2


Q3


Q4

PC

OSC2/CLKOUT

(RC-генератор)


Рис. 2.2. Цикл выполнения команды

Рассмотрим последовательно основные элементы структуры а также особенности организации и функционирования МК.

2.2.2.Обозначение выводов и их функциональное назначение


Обозначение выводов PIC16C5X и их функциональное назначение приведены на рис. 2.3 а также в табл. 2.1 и 2.2.


Таблица 2.1.

Обозначение и функциональное назначение выводов ОМК

PIC 16C52/16C54/16C56/16C58


Наименова-ние

DIP SOIC

SSOP

Тип

Буфер

Примечание

RAO

17

19

I/O

TTL




RA1

18

20

I/O

TTL

Двунаправленный лорт ввода/вывода.

RA2

1

1

I/O

TTL




RA3

2

2

I/O

TTL




RBO

6

7

I/O

TTL




RB1

7

8

I/O

TTL




RB2

8

9

I/O

TTL




RB3

9

10

I/O

TTL

Двунаправленный порт ввода/вывода,

RB4

10

11

I/O

TTL




RB5

11

12

I/O

TTL




RB6

12

13

I/O

TTL




RB7

13

14

I/O

TTL




TOCKI

3

3

1

ST

Вход таймера TMRO.

_____

МСLR/

Vpp.

4

4

1
ST

Вход сброса/напряжение

программирования. Сброс низким уровнем

OSC1/

CLKIN

16

18

1

ST

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

OSC2/

CLKOUT

15

17

0



Выход генератора. Подключается к

резонатору. В режиме RC выход ¼

тактовой частоты OSC1.

vdd

14

15,16

Р



Положительное напряжение питания.

Vss

5

5,6

Р



Общий вывод.

Таблица 2.2

Обозначение и функциональное назначение выводов ОМК

PIC 16C55/16C57


Наименова­ние

DIP SOIC

SSOP
Тип

Буфер

Примечание

RAO

6

.5

I/O

TTL




RA1

7

6

I/O

TTL

Двунаправленный порт ввода/вывода.

RA2

8

7

I/O

TTL




RA3

9

8

I/O

TTL




RBO

10

9

I/O .

TTL




RB1

11

10

I/O

TTL




RB2

12

11

I/O

TTL




RB3

13

1.2

I/O

TTL

Двунаправленный порт ввода/вывода.

RB4

14

13

I/O

TTL




RB5

15

15

I/O

TTL




RB6

16

16

I/O

TTL




RB7

17

17

I/O

TTL




RC0

18

18

I/O

TTL




RC1

19

19

I/O

TTL




RC2

20

20

I/O

TTL




RC3

21

21

I/O

TTL

Двунаправленный порт ввода/вывода.

RC4

22

22

I/O

TTL




RC5

23

23

I/O

TTL




RC6

24

24

I/O

TTL




RC7

25

25

I/O

TTL




TOCKI

1

2

I

ST

Вход таймера TMRO.

MCLR/Vpp

28

28

I
ST

Вход сброса/напряжение

программирования. Сброс низким уровнем.

OSC1/

CLKIN

27

27

I

ST

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

OSC2/

CLKOUT

26

26

0

-

Выход генератора. Подключается к

резонатору. В режиме RC выход 1/4 тактовой частоты OSC1.

vdd

2

3,4

Р

-

Положительное напряжение питания.

Vss

4

1,14

Р

-

Общий вывод.

N/C

3,5

-

-

-

Не используются.


Обозначения: I - вход, O - выход, I/O - вход/выход, Р - питание, — - не используется, TTL - вход ТТЛ, ST - вход с триггером Шмидта.

PDIP, SOIC, CERDIP, Windov


1 18


PIC16C55/57


14 15

1 18


PIC16C54/56


9 10


14 15

RA2 RA1 RTCC /MCLR

RA3 RA0 Vdd OSC1

RA4 OSC1 n / c OSC2

/MCLR OSC2 Vss RC7

Vss Vdd n / c RC6

RB0 RB7 RA0 RC5

RB1 RB6 RA1 RC4

RB2 RB5 RA2 RC3

RB3 RB4 RA3 RC2

RB0 RC1

RB1 RC0

RB2 RB7

RB3 RB6

RB4 RB5

Рис. 2.3. Расположение выводов PIC16C5X.


2.2.3.Организация памяти программ


Память программ (ПЗУ/ППЗУ) имеет страничную организацию (рис.2.4). Объем одной страницы 512 байт поэтому прямая адресация памяти программ в семействе Р1С16С5Х возможна в пределах 512 байт. Микроконтроллеры PIC 16C5X имеют одну, две или четыре страницы памяти программ для хранения 12-ти разрядных кодов команд (512X12, 1024Х12, 2048Х12). В соответствии с этим все ОМК данного семейства можно разделить на три группы. Доступ к памяти свыше 512 байт осуществляется после переключения на соответствующую страницу памяти. Микроконтроллеры PIC16C52/54/C54A/CR54/CR54A/CR54B/C55 имеют одну страницу памяти программы, PIC16C56/CR56 имеет 2 страницы по 512 байт, PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B имеют 4 страницы по 512 байт каждая.


2.2.4. Организация памяти данных


Память данных (ОЗУ) также имеет страничную организацию (рис. 2.5). Она состоит максимум из 4-х банков (0...3). Причем, банки в различных типах PIC могут иметь различные объемы. Минимальный объем банка 16 байт, а максимальный 32 байта

Шина данных разрядностью 8 бит соединяет группу регистров ОЗУ, порты ввода/вывода и 8- разрядное арифметико-логическое устройство(АЛУ). Прямо адресуются 32 байта оперативной памяти, остальная память адресуется банками по 16 байт каждый. Микроконтроллеры PIC16C52/C54/C54A/CR54/CR54A/CR54B/C56/CR56 имеют один банк оперативной памяти объемом 32 байта, из которых 25 байт могут быть


GOTO, CALL и команды, модифицирующие PC……..из PA1 STATUS<6>

GOTO, CALL и команды, модифицирующие PC……..из PA1 STATUS<5>

GOTO, CALL……………………...из команды

Команды, модифицирующие PC…...всегда ‘0’

GOTO, CALL……………...из команды

Команды, модифицирующие PC…..из АЛУ

9-11 бит


2 1 8


000


00 0FF

Страница 0 100

17F PIC16C52

180

1FF PIC16C54/C54A/CR54/CR54A/CR54B/C55

200

01

Страница 1 2FF

300


3FF PIC16C56/CR56

400

10

Страница 2 4FF

500


5FF

600

11

Страница 3 6FF

700


7FF PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B


Рис. 2.4. Организация памяти программ


использованы в качестве регистров общего назначения. Для Р1С16С55, имеющего PORTC, объем - 24 байта. PIC16C57/CR57A/CR57B и PIC16C58A/CR58A/CR58B имеют 4 банка памяти данных и объем для них 72 и 73 байта соответственно.

Регистры могут быть адресованы прямо или косвенно, с исполь-зованием регистра косвенной адресации FSR. Непосредственная адре-сация поддерживается специальными командами, загружающими данные из памяти программы в рабочий регистр W. Регистры, как уже упоминалось, разделяются на две функциональные группы: специальные


Адрес

регистра 7 6 5 4 3 2 1 0

00 CALL

01 RETLW 10 9 8 7 6 5 4 3 2 1 0 10 9 8 7 6 5 4 3 2 1 0

02

03

04 7 6 5 4 3 2 1 0

05

06 5 4 3 2 1 0

07

08

09

0A Регистры К регистрам

0B общего через АЛУ

0C назначения

0D

0E От памяти программы

0F Биты 6,5 FSR: Выбор банка

(только для PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B)


00 01 10 11


10

11 30 50 70

12

13

14

15

16

17 Регистры общего назначения

18 (только для PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B)

19

1A

1B

1C

1D

1E Банк 1 (***) Банк 2 (***) Банк 3 (***)

1F 3F 5F 7F


(*) - Регистр физически не существует

(**) - Регистр 07h для PIC16C52/C54/C56 используется как регистр общего назначения

(***) - Банк 0 доступен во всех микроконтроллерах семейства PIC16C5X. Банки 1, 2, 3 доступны только в PIC16C57/58.

Рис.2.5. Организация памяти данных



регистры и регистры общего назначения. Специальные регистры (табл. 2.3) включают в себя регистр таймера/счетчика реального времени (RTCC-TMRO), счетчик команд (PC), регистр состояния (STATUS), регистры ввода/вывода (PORT) и регистр косвенной адресации (FSR). Кроме того, специальные регистры управляют конфигурацией портов ввода-вывода и режимом предварительного делителя.

Регистры общего назначения используются для хранения переменных по усмотрению пользователя.


Таблица 2.3

Описание специальных регистров Р1С16С5Х


Адрес

Название

Бит 7

Бит 6

Бит 5

Бит 4

БитЗ

Бит 2

Бит1

Бит 0

Значение по вклю-

чению питания

Значение по сбросу по MCLR и WDT

00h

INDF .

Используется значение FSR для доступа к памяти данных (не физический регистр)

-- - - -- - -

-- - - -- - -


01h

TMRO

8-разрядный счетчик/таймер

хххх хххх

uuuu uuuu

02h

PCL

Младшие 8 разрядов счетчика команд PC

1111 1111

1111 1111

03h

STATUS

РА2

РА1

РАО

ТО

PD

Z

DC

С

0001 1xxx

000? ?uuu

04h

FSR

Регистр косвенной адресации

хххх хххх

uuuu uuuu

05h

PORTA

-

-

-

-

РАЗ

RA2

RA1

RA0

-- - - хххх

-- - - uuuu


06h

PORTB

RB7

RB6

RB5

RB4

RB3

RB2

RB1

RB0

хххх хххх

uuuu uuuu

07h

PORTC

RC7

RC6

RC5

RC4

RC3

RC2

RC1

RC0

хххх хххх

uuuu uuuu

Обозначения: x - не определено, u - не меняется, — - отсутствует, читается как '0',

? - значение зависит от условий сброса.

Примечания:

1. Старшие разряды счетчика команд непосредственно не доступны. Обращение к старшим битам осуществляется через биты РА1, РАО (STATUS<6:5>).

2. Для PIC16C52/54/C54A/CR54/CR54A/CR54B/C56/CR56/C58A/CR58A/CR58B ре­гистр 07h является регистром общего назначения.

3. Заштрихованы физически отсутствующие биты.


При непосредственной (прямой) адресации (рис. 2.6) выбор банка осуществляется с помощью 2-х бит PR0 и RP1, которые находятся в 5 и 6 разрядах регистра косвенной адресации (FSR/Pointer) соответственно. Выбор регистра в банке осушествляется с помощью 5-ти разрядного адреса, поступающего в ОЗУ прямо из кода команды по выделенной для этих целей отдельной шине адреса, которая связывает регистр команд и память данных.

При косвенной адресации (рис. 2.6) используется переключатель косвенной адресации (регистр f0 в памяти данных, который физически не существует) и указатель Pointer (регистр f4 - FSR). Существуют некоторые отличия при осуществлении косвенной адресации для различных типов МК. Так для PIC16C54/C55/C56: биты 0-4 регистра (f4) выбирают один из 32 регистров в режиме косвенной адресации, т.е. когда в команде есть обращение к регистру косвенной адресации (f0). Биты 5-7 не используются и всегда читаются как единицы. Если косвенная адресация


Прямая адресация Косвенная адресация


из кода команды

RP1 RP0 4 0 6 FSR 0


Выбор банка Выбор регистра Выбор банка Выбор регистра


00 01 10 11

00


Память 0F

данных 10


Банк 0 Банк 1 Банк 2 Банк 3

FSR - Регистр косвенной адресации
RP1, RP0 – Биты 6 и 5 регистра FSR, соответственно


Рис. 2.6. Прямая и косвенная адресация


не используется, регистр f4 может быть использован как 5-ти битовый регистр общего назначения. Для PIC16C57 первые 16 байт каждого банка представляют собой физически одни и те же регистры. Только тогда, когда бит 4 (f4) установлен в единицу (указывает на следующие 16 байт), биты 5 и 6 выбирают один из четырех банков по 16 регистров каждый. Бит 7 регистра (f4) не используется и всегда читается как единица.


2.2.5.Регистр состояния STATUS


Регистр состояния (f3) содержит арифметические флаги АЛУ, состояние контроллера при сбросе и биты выбора страниц для программ с обьемом памяти превышающим 512 слов (PIC16C56/PIC16C57).Регистр STATUS доступен для любой команды так же, как любой другой регистр. Однако, биты TO и PD устанавливаются аппаратно и не могут быть записаны в регистр статуса программно. Это следует иметь в виду при выполнении команды с использованием регистра статуса. Например, команда CLRF f3 обнулит все биты, кроме битов TO и PD, а затем установит бит Z=1. После выполнения этой команды регистр статуса может и не иметь нулевое значение (из-за битов TO и PD) f3= 000??100. Поэтому рекомендуется для изменения регистра статуса использовать только команды битовой установки BCF, BSF, MOVWF, которые не изменяют остальные биты статуса. Воздействие всех команд на биты статуса можно посмотреть в «Описании команд» [8].

Биты 5-6 регистра статуса определяются как биты адреса страниц PA0-PA1 программной памяти(только для PIC16C56/PIC16C57 !!!). Когда исполняются команды GOTO, CALL и команды, когда программный счетчик изменяется, например MOVWF 2, биты адреса страниц PA0-PA1 загружаются в биты программного счетчика A9-A10. Таким образом, прямой адрес, указанный в слове команды, указывает на место внутри определенной страницы памяти. Команда RETLW не изменяет биты выбора страниц. После сигнала «Сброс»биты регистра статуса PA0-PA1 обнуляются.

Размещение флагов в регистре STATUS (Адрес: 03h. Значение по включению питания: 0001 1ххх) следующее:


b7  b6  b5  b4  b3  b2  b1  b0 

PA2

PA1

PA0

TO

PD

Z

DC

C
  1   2   3

Добавить документ в свой блог или на сайт
Ваша оценка этого документа будет первой.
Ваша оценка:

Похожие:



Программа по специальности 190701 «Организация перевозок и управление на транспорте (водном)» направление 190000 «Транспортные средства»
...



Указатели поворотов мигают 2 раза
С двумя 3-х кнопочными штатными пультами дистанционного управления, режимы отпирание/запирание



Положение о школьной комиссии "За безопасность дорожного движения" Приложение №1 к приказу гувд ро и Минобразования ро №957/2224 от 18. 09. 2006 г
В ростовской области решили, что такое положение долее терпеть нельзя и приняли простые действенные меры. Теперь в каждой школе области...



«Организация дорожного движения, обязанности пешеходов и пассажиров»



Организация оказывает комплекс работ на опасных производственных объектах: Экспертиза



Межрегиональная (Российская) общественная организация инвалидов "Объединенное общество рассеянного склероза"



Контрольная работа По дисциплине: «Организация и безопасность движения» Тема: (См перечень тем )



Программа вступительных экзаменов в магистратуру по специальности 6М090100 «Организация перевозок, движения и эксплуатация транспорта»



Задание основных режимов работы котла 11 Быстрый пуск 16
Котел отопительный китурами предназначен для работы на дизельном топливе гост-305



Светильники Организация рабочего места для создания комфортных зрительных условий Освещение квартир Заключение

Поделиться в соцсетях



Авто-дневник






База данных защищена авторским правом ©ucheba 2000-2020

обратиться к администрации | правообладателям | пользователям

разработчик i-http.ru

на главную