Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРС ЛЕКЦИЙ ПО МИКРОПРОЦЕССОРНОЙ ТЕХНИКЕ.doc
Скачиваний:
271
Добавлен:
13.02.2015
Размер:
1.4 Mб
Скачать

5.2.3. Схема тактирования и цикл выполнения команды

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

Цикл выполнения командысостоит из четырех тактов:Q1...Q4. Выборка команды и ее выполнение совмещены по времени таким образом, что выборка команды занимает один цикл, а выполнение – следующий цикл. Эффективное время выполнения команды составляет один цикл. Если команда изменяет счетчик команд (например, командаGOTO), то для ее выполнения потребуется два цикла, как показано нарис. 5.3.

Рис. 5.2.Схема тактирования и выполнения команды.

Рис. 5.3.Выборка команд.

Цикл выборки начинается с увеличения счетчика команд в такте Q1. Вцикле выполнения командывыбранная команда защелкивается врегистркоманд в тактеQ1. В течение тактовQ2,Q3иQ4происходит декодирование и выполнение команды. В тактеQ2считывается память данных (чтение операнда), а запись происходит в тактеQ4.

5.2.4. Организация памяти программ и стека

Счетчик команд в МК PIC16F8Х имеет ширину 13 бит и способен адресовать 8Кх14бит объема программной памяти. Однако физически на кристаллах PIC16F83 и PIC16CR83 имеется только 512х14 памяти (адреса 0000h-01FFh), а в МК PIC16F84 и PIC16CR84 – 1Кх14 памяти (адреса0000h-03FFh). Обращение к адресам выше1FFh(3FFh) фактически естьадресацияв те же первые 512 адресов (первые 1К адресов).

Организация памяти программ и стека приведена на рис. 5.4.

В памяти программ есть выделенные адреса. Вектор сброса находится по адресу 0000h, векторпрерывания– по адресу0004h. Обычно по адресу0004hрасполагается подпрограмма идентификации и обработкипрерываний, а по адресу0000h– команда перехода на метку, расположенную за подпрограммой обработкипрерываний.

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

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

Память данных МК разбита на две области. Первые 12 адресов – это область регистровспециальных функций (SFR), а вторая – областьрегистровобщего назначения (GPR). Область SFR управляет работой прибора.

Обе области разбиты в свою очередь на банки 0 и 1. Банк 0 выбирается обнулением бита RP0регистрастатуса (STATUS). Установка битаRP0в единицу выбирает банк 1. Каждый банк имеет протяженность 128 байт. Однако для PIC16F83 и PIC16CR83 память данных существует только до адреса02Fh, а для PIC16F84 и PIC16CR84 – до адреса04Fh.

На рис. 5.5изображена организация памяти данных.

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

Некоторые регистрыспециального назначения продублированы в обоих банках, а некоторые расположены в банке 1 отдельно.

Регистрыс адресами0Ch-4Fhмогут использоваться какрегистрыобщего назначения, которые представляют собой статическое ОЗУ. Адресарегистровобщего назначения банка 1 отображаются на банк 0. Следовательно, когда установлен банк 1, то обращение к адресам8Ch-CFhфактически адресует банк 0.

В регистрестатуса помимо битаRP0есть еще битRB1, что позволяет обращаться к четырем страницам (банкам) будущих модификаций этого кристалла.

К ячейкам ОЗУ можно адресоваться прямо, используя абсолютный адрес каждого регистра, или косвенно, черезрегиструказательFSR. Косвеннаяадресацияиспользует текущее значение разрядовRP1:RP0для доступа к банкам. Это относится и кEEPROMпамяти данных. В обоих случаях можно адресовать до 512регистров.