Глава 3. Программирование MK 8051GB

3.1. Программная модель (рис. 3.1, рис. 3.2)

Глава 3. Программирование MK 8051GB - student2.ru

Рис. 3.1. Структура внутренней памяти данных и РСФ

Глава 3. Программирование MK 8051GB - student2.ru

Рис. 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 Кбайта внешней памяти.

Типы данных

Микроконтроллер 8051GB работает со следующими типами данных (рис. 3.3):

Бит – элемент памяти, принимающий значение 0 или 1.

Байт– восемь последовательно расположенных битов, пронумерованных от 0 до 7, при этом бит 0 является самым младшим значащим битом.

Слово – последовательность из двух байтов, имеющих последовательные адреса. Размер слова – 16 битов; биты в слове нумеруются от 0 до 15. Байт, содержащий нулевой бит, называется младшим байтом, а байт, содержащий 15-й бит, - старшим.

Двойное слово – последовательность из четырех байтов( 32 бита ), расположенных по последовательным адресам. Нумерация этих битов производится от 0 до 31. Слово, содержащее нулевой бит, называется младшим словом, а слово, содержащее 31-й бит, - старшим словом. Младшее слово хранится по меньшему адресу. Адресом двойного слова считается адрес его младшего слова. Адрес старшего слова может быть использован для доступа к старшей половине двойного слова.

Глава 3. Программирование MK 8051GB - student2.ru

Рис. 3.3. Типы данных

Наши рекомендации