Почему могут спускать колеса авто смотрите тут kamael.com.ua
Как снять комнату в коммунальной квартире здесь
Дренажная система водоотвода вокруг фундамента - stroidom-shop.ru

Микроконтроллеры РICМикроконтроллеры (МК) семейства PIC16C5X построены по гарвардской архи­тектуре, в которой память программ и память данных разделены и имеют соб­ственные адресные пространства.

Память программ. Максимальный объем памяти программ MК PIC16C5X со­ставляет 2048 ячеек по 12 бит. Память программ разбивается на страницы, каж­дая из которых содержит 512 слов (ячеек). Ранние модели МК имеют всего 512 ячеек памяти программ, относящихся к нулевой странице адресного про­странства (рис. 6.3.1). Поэтому разрядность счетчика команд PC равна 9 (А8–А0). В поздних моделях память программ содержит 4 страницы.

рис. 6.3.1

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

● команда GOTO k (0 ≤ k ≤ 511 ) позволяет обратиться по всем адресам страни­цы (рис. 6.3.2, а);

● команда CALL k (0 ≤ k ≤ 255) и команды, изменяющие содержимое счетчика команд PC, обеспечивают доступ к младшим адресам (0–7) страницы, 8–й бит сбрасывается (рис. 6.3.2, б).

рис. 6.3.2



Для доступа к памяти свыше 512 ячеек используется, указатель страницы, представляющий собой биты 6 (РА1) и 5 (РА0) регистра состояния (признаков) STATUS процессора (рис. 6.2.1). Указатель переключается под управлением про­граммы и реализует по сути дела относительную адресацию.

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

● специальные регистры, к которым относятся:

• адресуемые 8–разряные регистры (рис. 6.3.3, а): псевдорегистр (INDF), ре­гистр таймера/счетчика реального времени (TMR0), регистр счетчика ко­манд (А10, А9, А8, PCL), регистр состояния (STATUS), регистр косвенной адресации (FSR) и регистры ввода/вывода (PORTA, PORTA, PORTC);

• рабочий регистр W, регистр состояния OPTION, регистры управления пор­тами TRISA, TRISB, TRISC (рис. 6.3.3, б), доступ к которым осуществляется с помощью специальных команд;

• регистр конфигурации CONFIG, не имеющий доступа. Информация (вы­бранный тип генератора, разрешение/запрещение сторожевого таймера и включение/выключение бита защиты от считывания программного кода) в этот регистр заносится на этапе программирования микроконтроллера;

● регистры общего назначения, которые используются программой для хране­ния переменных по усмотрению пользователя. Эти 8–разрядные регистры, разделенные на 4 банка по 16 регистров в каждом, и составляют основной объем памяти данных (рис. 6.2.2).

рис. 6.3.3

Адресное пространство памяти данных объединяет регистры специаль­ных функций и регистры общего назначения. Специальные регистры и часть ре­гистров общего назначения с адресами 00h...1Fh отнесены к банку 0. Поэтому он содержит 32 8–разрядных регистра, в то время как остальных три банка — по 16 регистров. Для обращения к регистрам в банках 1, 2, 3 выделены соответственно адреса ЗОh...ЗFh, 50h...5Fh, 70h...7Fh. Таким образом, адресное пространство па­мяти данных имеет «дыры». Отметим, что каждый бит любого адресуемого реги­стра доступен 4 битным командам.

Способы адресации. Для обращения к памяти данных (специальным ре­гистрам и регистрам общего назначения) используется косвенная и прямая (от­носительная) адресация (рис. 6.3.4).

рис. 6.3.4

Косвенная адресация реализуется с помощью псевдорегистра INDF (физически не существующего, но имеющего адрес 00h) и регистра косвенной адресации FSR (рис. 6.3.3, а). Псевдорегистр INDF служит указателем регистра FSR, в кото­ром находится адрес запрашиваемого регистра данных: биты 6, 5 задают номер банка (00 — банк 0, 01 — банк 1,10 — банк 2, 11 — банк 3), биты 4...0 использу­ются для адресации регистра данных внутри банка, при этом:

● бит 4 переключает адрес между 16–ю регистрами первой и второй групп;

● биты 3...0 адресуют регистры в пределах каждой группы.

Так как в банках 1, 2 и 3 отсутствуют регистры по 16 младшим адресам, при обращении по этим адресам реализуется доступ только к группе регистров банка О с младшими адресами 00h...1Fh. Например, при обращении по адресам 23h, 43h, 63h обеспечивается доступ к регистру STATUS, имеющему адрес 03h. В этих случаях бит 4 регистра FSR автоматически устанавливается в 0, а состояние би­тов 6 и 5 FSR игнорируется. При обращении по старшим адресам 10h... 1Fh биты 6 и 5 FSR задают номер банка, а бит 4 устанавливается в единичное состояние (рис. 6.3.4).

Прямая адресация обеспечивает доступ только к регистрам банка 0 с помощью младших разрядов кода команд (рис. 6.3.4), поступающих по 5–битной шине из дешифратора команд (рис. 6.2.1). Поскольку биты 6 и 5 псевдорегистра FSR дей­ствуют постоянно, по сути дела при обращении к страницам 1, 2, 3 осуществляет­ся способ относительной адресации.


Рекомендуйте эту статью другим!