Формування часових інтервалів. Сторінкова організація пам'яті, страница 4

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

Шина даних розрядністю 8 біт з'єднує групу регістрів ОЗУ, порти введення/висновку і 8- розрядний арифметико-логічний пристрій(АЛУ). Прямо адресуються 32 байта оперативної пам'яті, інша пам'ять адресується банками по 16 байт кожний. Мікроконтролери PIC16C52/C54/C54A/CR54/CR54A/CR54B/C56/CR56 мають один банк оперативної  пам'яті  обсягом  32  байта,  з яких  25  байт  можуть бути використані як регістри загального призначення. Для Р1С16С55, що має PORTC, обсяг - 24 байта. PIC16C57/CR57A/CR57B і PIC16C58A/CR58A/CR58B мають 4 банки пам'яті даних і обсяг для них 72 і 73 байта відповідно.

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

                        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. Організація пам'яті програм

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

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

Адреса

регістра                  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