Основы микропроцессорной техники | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Раздел 5. Однокристальный микроконтроллер серии PIC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| «Структура курса | Глава 1 | Глава 2 | Глава 3 | Глава 4 | Глава 5 | Глава 6 | Раздел 7 | Глава 8 | Дополнения | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Раздел 5 - Страницы: « | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | » | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.2.5. Организация памяти данныхПамять данных МК разбита на две области. Первые 12 адресов - это область регистров специальных функций (SFR), а вторая - область регистров общего назначения (GPR). Область SFR руководит работой прибора. Обе области разбиты в свою очередь на банки 0 и 1. Банк 0 выбирается путем обнуления бита RP0 регистра статуса (STATUS). Установка бита RP0 в единицу выбирает банк 1. Каждый банк имеет длину 128 байт. Однако для PIC16F83 и PIC16CR83 память данных существует только до адреса 02Fh, а для PIC16F84 и PIC16CR84 - адрес 04Fh. На Рис. 5.5 изображен организацию памяти данных.
Некоторые регистры специального назначения продублированы в обоих банках, а некоторые находятся в банке 1 отдельно. Регистры с адресами 0Ch-4Fh могут использоваться как регистры общего назначения, оторые представляют собой статическое ОЗУ. Адреса регистров общего назначения банка 1 отображаются на банк 0. Итак, когда установленный банк 1, то обращение к адресам 8Ch-CFh фактически адресует банк 0. В регистре статуса кроме бита RP0 есть еще бит RB1, позволяющий обращаться до четырех страниц (банков) будущих модификаций этого кристалла. В ячейки ОЗУ можно адресоваться прямо, используя абсолютную адрес каждого регистра, или косвенно, через регистр указатель FSR. Косвенная адресация использует текущее значение разрядов RP1: RP0 для доступа к банкам. Это относится и к EEPROM памяти данных. В обоих случаях можно адресовать до 512 регистров. 5.2.6. Регистры специального назначенияРегистр статуса (STATUS) содержит признаки операции (арифметические флаги) АЛУ, состояние контроллера при инициализации и биты выбора страниц для памяти данных. Назначение битов регистра приведено в табл. 5.3.
Здесь и далее: R - бит, читаемого; W - бит, который записывается; S - бит, который устанавливается; U - бит, не используется (читается как "0");-n = 0 или 1 - значение бита после инициализации. Регистр статуса доступен для любой команды так же, как любой другой регистр. Однако если регистр STATUS является регистром назначения для команды, которая влияет на биты Z, DC или C, то запись в эти три бита запрещается. Кроме того, биты / TO и / PD устанавливаются аппаратно и не могут быть записаны в статус программно. Это следует иметь в виду при выполнении команды с использованием регистра статуса. Например, команда CLRF STATUS обнулит все биты, кроме битов / TO и / PD, а затем установит бит Z = 1. После выполнения этой команды регистр статуса может и не иметь нулевого значения (через биты / TO и / PD) STATUS = 000uu1uu, где u - неизменный состояние. Поэтому рекомендуется для изменения регистра статуса использовать только команды битовой установки BCF, BSF, MOVWF, которые не изменяют другие биты статуса. Влияние всех команд на биты статуса рассматривается в разделе "Описание системы команд. Регистр конфигурации (OPTION) доступен по чтению и записи регистром, содержит управляющие биты для конфигурации предварительного делителя (предильника), внешних прерываний, таймера, а также резисторов "pull-up" на выводах PORTB. Назначение битов регистра приведен в табл. 5.4.
В том случае, когда предильник обслуживает сторожевой таймер WDT, таймера TMR0 назначается коэффициент предварительного деления 1:1. Регистр условий прерывания (INTCON) доступен по чтению и записи регистром, содержит биты доступа для всех источников прерываний. Назначение битов регистра приведен в табл. 5.5.
Бит разрешения всех прерываний GIE сбрасывается автоматически при следующих обстоятельствах:
Прерывание INT может вывести процессор из режима SLEEP, если перед входом в этот режим бит INTE был установлен в единицу. Состояние бита GIE также определяет: будет процессор переходить на подпрограмму прерывания после выхода из режима SLEEP. Сброс битов - запросов прерываний - должно осуществляться соответствующей программе обработки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| «Структура курса Раздел 5 - Страницы: « | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | » | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||