Глава 3. Программирование MK 8051GB
Программная модель (рис. 3.1, рис. 3.2)
Рис. 3.1. Структура внутренней памяти данных и РСФ
Рис. 3.2. Структура внешней памяти данных.
Внутренняя память данных представляет собой 128 восьмиразрядных ячеек, с адресами от 000h до 07Fh. Первые 32 байта организованы в четыре банка регистров общего назначения, обозначаемых соответственно банк 0 — банк 3. Каждый из них состоит из восьми регистров R0 — R7. В любой момент программе доступен только один банк регистров, номер которого содержится в третьем и четвертом битах слова состояния программы PSW .
Оставшееся адресное пространство может конфигурироваться разработчиком по своему усмотрению: в нем располагаются стек, системные и пользовательские области данных. Обращение к ячейкам памяти данных возможно двумя способами. Первый способ — прямая адресация ячейки памяти. В этом случае адрес ячейки является операндом соответствующей команды. Второй способ — косвенная адресация с помощью регистров R0 или R1: перед выполнением соответствующей команды в один из них должен быть занесен адрес ячейки, к которой необходимо обратиться.
Часть памяти данных представляет собой так называемую битовую область, в ней имеется возможность при помощи специальных битовых команд адресоваться к каждому разряду ячеек памяти. Адрес прямо адресуемых битов может быть записан либо в виде (Адрес Байта).(Разряд), например выражение 21.3 означает третий разряд ячейки памяти с адресом 21H, либо в виде абсолютного битового адреса. Соответствие этих двух способов адресации можно определить по табл. 3.1.
Для регистров специальных функций адрес прямо адресуемых битов может быть записан либо в виде выражения (Название Регистра).(Разряд), например, выражение SCON.3 означает адрес третьего разряда регистра SCON, либо в виде абсолютного битового адреса, который для данного бита равен (табл.3.1) 9B. Кроме того, некоторые биты управляющих регистров имеют собственные названия, так например данный бит имеет название TB8.
Адресация битов регистров специальных функций
Таблица 3.1.
Прямой адрес байта−− | Адреса битов по разрядам | Имя рег-ра | |||||||
(D7) | (D0) | ||||||||
0FFH | |||||||||
0F8H | FF | FE | FD | FC | FB | FA | F9 | F8 | P5 |
0F7H | - | - | - | - | - | SEPFWR | SEPFRD | SEPIF | SEPSTAT |
0F0H | F7 | F6 | F5 | F4 | F3 | F2 | F1 | F0 | B |
0E8H | EF | EE | ED | EC | EB | EA | E9 | E8 | CICON |
0E0H | E7 | E6 | E5 | E4 | E3 | E2 | E1 | E0 | ACC |
0DEH | - | ECOM4 | CAPP4 | CAPN4 | MAT4 | TOG4 | PWM4 | ECCF4 | CCAPM4 |
0DDH | - | ECOM3 | CAPP3 | CAPN3 | MAT3 | TOG3 | PWM3 | ECCF3 | CCAPM3 |
0DCH | - | ECOM2 | CAPP2 | CAPN2 | MAT2 | TOG2 | PWM2 | ECCF2 | CCAPM2 |
0DBH | - | ECOM1 | CAPP1 | CAPN1 | MAT1 | TOG1 | PWM1 | ECCF1 | CCAPM1 |
0DAH | - | ECOM0 | CAPP0 | CAPN0 | MAT0 | TOG0 | PWM0 | ECCF0 | CCAPM0 |
0D9H | CIDL | WDTE | - | - | - | CPS1 | CPS0 | ECF | CMOD |
0D8H | CF | CR | - | CCF4 | CCF3 | CCF2 | CCF1 | CCF0 | CCON |
0D7H | - | - | SEPE | SEPREN | CLKPOL | CLKPH | SEPSI | SEPSO | SEPCON |
0D0H | CY | AC | FO | RS1 | RS0 | V | - | P | PSW |
0C9H | - | - | - | - | - | - | T2OE | DCEN | T2MOD |
0C8H | TF2 | EXF2 | RCLK | TCLK | EXEN2 | TR2 | C/T2 | CP/RL2 | T2CON |
0C7H | CMP0 | CMP1 | CMP2 | CMP3 | CMP4 | CMP5 | CMP6 | CMP7 | ACMP |
0C6H | - | IE6 | IE5 | IE4 | IE3 | IE2 | IT3 | IT2 | EXICON |
0C0H | C7 | C6 | C5 | C4 | C3 | C2 | C1 | C0 | P4 |
0B8H | - | PPC | PT2 | PS | РT1 | РХ1 | РТ0 | РХ0 | IP |
0B7H | - | PPCH | PT2H | PSH | PT1H | PX1H | PT0H | PX0H | IPH |
0B6H | PAD | PX6 | PX5 | PX4 | PX3 | PX2 | PC1 | PSEP | IPA |
0B5H | PADH | PX6H | PX5H | PX4H | PX3H | PX2H | PC1H | PSEPH | IPAH |
0B0H | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | P3 |
0A8H | EA | EC | ET2 | ES | ET1 | EX1 | ET0 | EX0 | IE |
0A7H | EAD | EX6 | EX5 | EX4 | EX3 | EX2 | EC1 | ESEP | IEA |
0A0H | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | P2 |
98H | FE | SM1 | SM2 | REN | TB8 | RB8 | T1 | R1 | SCON |
97H | - | - | AIF | ACE | ACS1 | ACS0 | AIM | ATM | ACON |
90H | P1 | ||||||||
89H | GATE1 | C/T1 | M11 | M01 | GATE0 | C/T0 | M10 | TM00 | TMOD |
88H | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | TCON |
87H | SMOD1 | SMOD0 | - | POF | GF1 | GF0 | PD | IDL | PCON |
80H | P0 |
`-` − бит не используется
` IE0` − бит устанавливается/сбрасывается аппаратно
Для обращения к внешней памяти данных используется только косвенная адресация с помощью регистров R0 и R1 или с помощью 16-разрядного регистра-указателя DPTR. Последний относится к группе регистров специальных функций и с его помощью можно адресовать все 64 Кбайта внешней памяти.
Дата добавления: 2015-10-09; просмотров: 811;