Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бродин В.Б., Калинин А.Б. Схемы на микроконтроллерах и БИС программируемой логики, 2002

.pdf
Скачиваний:
260
Добавлен:
11.03.2016
Размер:
9.1 Mб
Скачать

ГЛАВА 2. АРХИТЕКТУРА MCS-51

99

T2M0D I -

I -

|

|

|

|

| T20E | DCEN I

Имя

Номер

 

 

 

Функция

 

бита

бита

 

 

 

 

 

 

Т20Е

T2MOD.1

Бит разрешения выдачи сигнала программируемой частоты от

DCEN

T2MOD.O

Таймера 2 на внешний вывод Р1.0.

 

 

Бит разрешения счета Таймера 2 в режиме автоперезагрузки. При

 

 

Т20Е=1

счет разрешен в прямом или обратном направлении, в за­

 

 

висимости от значения сигнала на входе Т2ЕХ. При Т20Е = 0 (значе­

 

 

ние после сброса) счет разрешен в прямом

направлении.

Бит DCEN этого регистра после сброса очищен. При этом Таймер 2 в режиме автоперезагрузки считает в прямом направлении. Если бит DCEN установлен, направление счета определяется значением внешнего сигнала на входе Т2ЕХ. Бит EXF2 при этом не является флагом прерывания и может служить в качестве индикатора переполнения при счете в прямом и обратном направлениях. При Т2ЕХ = 1 счет идет в прямом направлении, при переполнении устанавливается флаг прерывания TF2 и осуществляет­ ся перезагрузка счетных регистров ТН2, TL2 заранее запрограммирован­ ными значениями из регистров RCAP2H, RCAP2L. При Т2ЕХ = 0 счет идет в обратном направлении, при достижении значения, занесенного в регистры RCAP2H, RCAP2L, устанавливается флаг прерывания TF2 и осуществляется перезагрузка счетных регистров ТН2, TL2 16-разрядным значением 0FFFFH.

Таймер 2 имеет два флага запросов прерывания, TF2 и EXF2. Оба за­ проса обслуживаются с использованием одного вектора 2ВН. Идентифи­ кацию запроса производит процедура обслуживания прерывания. Флаг TF2 устанавливается при переполнении счетного регистра Таймера 2 (RCLK = TCLK = 0), а флаг EXF2 устанавливается по перепаду «1» - «0» на входе Т2ЕХ, если EXEN2 = 1.

В режиме задающего генератора (RCLK = 1 или TCLK = 1 ) приемник или передатчик последовательного порта тактируются синхроимпульсами, формируемыми при переполнении счетного 16-разрядного регистра Тайме­ ра 2. При C /T 2# = 0 скорость работы последовательного порта определя­ ется формулой:

Скорость = Fosc/[32*(65536 - (RCAP2H, RCAP2L))].

Значение регистров RCAP2H,RCAP2L для нужной скорости обмена можно получить по формуле:

RCAP2H, RCAP2L = 65536 - Fosc/(3 2 - Скорость).

Fout = F o s c / [4*(65536 - (R C A P 2H , R C A P 2L ))].

100

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

Последовательный порт. У микроконтроллеров 8хС52 последователь­ ный порт имеет функции определения ошибки кадра и автоматического распознавания адреса.

Определение ошибки кадра. Эта функция реализуется через про­ верку уровня сигнала во время интервала времени, когда на линии должен проходить стоп-бит. Проверка выполняется при работе в ре­ жимах 1, 2, 3. Если стоп-бит в определенное время не обнаружен, ус­ танавливается флаг ошибки кадра FE. Этот флаг делит с битом управления SM0 один и тот же разряд SCON.7. Бит SMODO (PCON.6) указывает при обращении на бит управления или на флаг ошибки кадра (см. выше формат регистра PCON). Флаг FE может проверяться после каждой операции приема. Сбрасываться этот флаг должен программно, прием правильного кадра не сбрасывает ранее установленного флага FE.

Автоматическое распознавание адреса. При работе нескольких микропроцессоров по одному последовательному каналу ведущий мо­ жет обратиться к ведомому по индивидуальному адресу, либо к группе ведомых по широковещательному адресу. Для хранения индивидуального адреса введен регистр спецфункций SADDR (адрес

0А9Н), а для хранения маски - регистр SADEN (адрес 0В9Н). Именно маска дает возможность адресовать в каждый момент одно или несколько устройств. Например:

ведомый 1

 

SADDR

11110001

SADEN

11111010

Адрес отклика

11110Х0Х

вед омый 2

 

SADDR

11110011

SADEN

11111001

Адрес отклика

11110ХХ1

В приведенном примере в адресе первого ведомого замаскирован бит О, в то время как для выбора второго ведомого этот бит должен быть ра­ вен 1. Следовательно, для обращения к ведомому1 младший бит адреса должен быть равен 0 (например 11110000). Аналогично, 6ит1 = 0 для ве­ домого! и замаскирован у ведомого2. Для обращения к ведомому2 6ит1 адреса должен быть равен 1 (например 11110111). Для обращения к обоим ведомым одновременно могут быть использованы адреса, где битО - 1 и бит1 = 0 (широковещательными являются адреса 11110001 и 11110101).

Система прерываний. Включает шесть источников запросов - к ис­ ходной системе добавлено прерывание от Таймера 2, который имеет два флага (TF2 и Т2ЕХ). Это прерывание с вектором 002ВН. Таблица при­ оритетов прерываний при внутреннем иоллинге следующая:

ГЛАВА 2 АРХИТЕКТУРА MCS-51

101

Приоритеты прерываний 8052 при поллинге

Источник

Приоритет внутри уровня

Вход INTO#

Высший

Таймер 0

 

Вход I NT 1 #

 

Таймер 1

 

Последовательный порт

 

Таймер 2, флаг TF2

 

Таймер 2, флаг Т2ЕХ

Низший

Число уровней приоритетов увеличено до трех. Система прерываний 8хС52 обслуживается регистрами IE, IP и IPH:

IE

ЕА

-

ЕТ2

ES

ET1

EX1

ЕТО

ЕХО

IP

-

-

РТ2

PS

PT1

PX1

PTO

РХО

IPH

-

-

РТ2Н

PSH

PT1H

PX1H

PTOH

РХОН

Имя

Номер

Функция

бита

бита

Запрещение запросов от всех источников, имеет место при ЕА = 0.

ЕА

IE.7

 

IE.6

Зарезервирован.

ЕТ2

IE.5

Запрещение запроса от Таймера 2, имеет место при ЕТ2 = 0.

ES

IE.4

Запрещение запроса от последовательного порта, имеет место при

 

 

ES = 0.

ЕТ1

IE.3

Запрещение запроса от Таймера 1, имеет место при ЕТ1 = 0.

ЕХ1

IE.2

Запрещение запроса по входу INT1 #, имеет место при ЕХ1 = 0.

ЕТО

IE.1

Запрещение запроса от Таймера 0, имеет место при ЕТО = 0.

ЕХО

IE.0

Запрещение запроса по входу INTO#, имеет место при ЕХО = 0.

 

IP.7

Зарезервирован.

 

IP.6

Зарезервирован.

РТ2

IP.5

Определяет приоритет Таймера 2.

PS

IP.4

Определяет приоритет последовательного порта.

РТ1

IP.3

Определяет приоритет Таймера 1.

РХ1

IP.2

Определяет приоритет входа INT1#.

РТО

IP.1

Определяет приоритет Таймера 0.

РХО

IP.O

Определяет приоритет входа INTO#.

-

IPH.7

Зарезервирован.

-IPH.6 Зарезервирован.

РТ2Н

IPH.5

Определяет приоритет Таймера 2, старший бит.

PSH

IPH.4

Определяет приоритет последовательного порта, старший бит.

РТ1Н

IPH.3

Определяет приоритет Таймера 1, старший бит.

РХ1Н

IPH.2

Определяет приоритет входа INT1, старший бит #.

РТОН

IPH.1

Определяет приоритет Таймера 0, старший бит.

РХОН

IPH.O

Определяет приоритет входа INTO#, старший бит.

Уровень приоритета конкретного источника определяется значением комбинации битов IPH.x и IP.x (х = 0..6) следующим образом:

102

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

IPH.x

IP.X

Приоритет

0

0

Уровень 0 (низший)

0

1

Уровень 1

1

0

Уровень 2

1

1

Уровень 3( высший)

Режим ONCE. Отладочный режим ONCE позволяет производить от­ ладку и тестирование платы без удаления микроконтроллера (при запаян­ ной микросхеме). Для перевода микроконтроллера в этот режим необхо­ димо подать на вывод ALE сигнал логического «О» в процессе сброса и ийициализации (сигнал PSEN# при этом имеет пассивный уровень «1») и удерживать его до снятия сигнала RESET.

В режиме ONCE линии порта РО находятся в третьем состоянии. Ли­ нии других портов, а также сигналы ALE и PSEN находятся в состоянии логической «1». Это позволяет внешнему активному устройству управлять магистралью микропроцессорной системы.

Выход из режима ONCE производится посредством общего сброса.

2 .12 . Микроконтроллеры семейства АТ89 фирмы Atmel

Микроконтроллеры с архитектурой MCS-51 фирмы Atmel - одно из первых семейств, все представители которого имеют версию с flashпамятью программ. Такой подход обеспечил популярность продукции фирмы Atmel среди разработчиков. Последовавшее снижение стоимости микроконтроллеров и выпуск семейства AVR, все представители которого также имеют flash-память и возможность внутрисистемного программиро­ вания, заставили такие фирмы, как Motorola, Philips, Texas Instruments, Microchip активизировать программы выпуска flash-микроконтроллеров.

Семейство микроконтроллеров фирмы Atmel с flash-памятью программ и ядром MCS-51 имеет маркировку «89». Это правило поддерживается другими производителями аналогичных микроконтроллеров - Philips, Temic, SST, ISSI, за исключением фирмы Winbond, выпускающей семей­ ства W77 и W78. Номенклатура семейства АТ89 приведена в следующей таблице.

В последней строке приведены параметры микроконтроллера, выпус­ каемого подразделением полупроводников фирмы Temic. Но, так как это подразделение в настоящее время приобретено фирмой Atmel и называется теперь Atmel Wireless and Microcontrollers, то можно включить микрокон­ троллер «51RD2» в семейство АТ89.

ГЛАВА 2 АРХИТЕКТУРА MCS-51

103

Микроконтроллеры фирмы Atmel семейства АТ89

Тип

Flas

RAM

 

h

 

AT89C1051U

128

АТ89С2051

128

АТ89С4051

256

АТ89С51

128

AT89LV51

128

АТ89С52

256

AT89LV52

256

AT89C55WD

20К

256

AT89LV55

20К

256

AT89S8252

256

AT89LS8252

256

AT89S53

12К

256

AT89LS53

12К

256

AT89S4D12

128

AT89C51RC

32К

256

T89C51RD2

64К

256

Питание

Частота,

Корпус

Комментарии

ЗВ, 5В

МГц

DIP20.SOIC20

 

12, 24

lout, low = 20 mA

ЗВ, 5В

12, 24

DIP20.SOIC20,

lout,low = 20 mA

ЗВ, 5В

12, 24

DIP20.SOIC20

lout,low = 20 mA

24,33

DIP40, PLCC44,

 

 

 

TQFP44

 

ЗВ, 5В

12

DIP40, PLCC44,

 

 

TQFP44

 

24,33

DIP40, PLCC44,

 

 

 

TQFP44

 

ЗВ, 5В

12

DIP40, PLCC44,

 

 

TQFP44

WD, 2 DPTR

24,33

DIP40, PLCC44,

ЗВ, 5В

 

TQFP44

 

12

PLCC44, TQFP44

 

24

DIP40, PLCC44,

ISP, SPI, WD,

 

 

TQFP44

2K EEPROM,

 

 

 

2 DPTR

ЗВ, 5В

12

DIP40, PLCC44,

ISP, SPI,

 

 

TQFP44

2K EEPROM,

 

 

2 DPTR

24

DIP40, PLCC44,

ISP, SPI,

ЗВ, 5В

 

TQFP44

2 DPTR

12

DIP40, PLCC44,

ISP, SPI,

 

 

TQFP44

2 DPTR

ЗВ

12

SOIC32

128K DataFlash,

 

 

 

ISP, SPI

24,33

DIP40, PLCC44,

256 bytes XRAM,

ЗВ, 5В

 

TQFP44

2 DPTR

40

DIP40, PLCC44,

ISP, Boot Flash,

 

 

VQFP44, VQFP64,

1К XRAM,

 

 

PLCC68

2K EEPROM,

 

 

 

2 DPTR, PCA

В таблице использованы следующие обозначения:

lout,low - нагрузочная способность выходов в состоянии логического

•«нуля».

ISP (In-System Programmability) - возможность программирования в сис­ теме.

Boot Flash - наличие области flash-памяти для размещения пользователь­ ского монитора-загрузчика памяти.

XRAM - дополнительная RAM на кристалле, доступная как внешняя па­ мять данных с использованием команд MOVX.

WD - Watchdog, сторожевой таймер.

РСА (Programmable Counter Array) - многорежимный программируемый таймер.

104 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

Количество циклов перепрограммирования для микроконтроллеров семейства АТ89 составляет не менее 1000.

По маркировке микроконтроллеров семейства АТ89 можно определить ряд параметров кристалла.

Буква «С» после имени семейства (АТ89С) указывает, что кристалл выполнен по CMOS технологии и параметры соответствуют аналогичным микросхемам других фирм (Intel 80С51, Philips 87С52 и т.д.).

Обозначение AT89LV отличает версии кристаллов с пониженным на­ пряжением питания (2.7В).

Маркировку AT89S имеют микроконтроллеры, имеющие режим внут­ рисистемного программирования (ISP) через интерфейс SPI.

Микроконтроллеры AT89LS аналогичны AT89S, но имеют пониженное напряжение питания (2.7В).

Существует два основных ядра микроконтроллеров семейств MCS-51:

С51, «родоначальник», стандартное ядро, включающее 128 байт RAM, 2 таймера-счетчика;

С52, модифицированное ядро, имеет 256 байт RAM и 3 таймера-

счетчика.

Маркировка С55 (или С54, С58 у других фирм) указывает на увели­ ченный объем памяти программ - от 16 до 32К.

Микроконтроллеры AT89C51RC и T89C51RD2 являются представите­ лями серии «C51Rx», введенной фирмами Intel и Philips. Отличительные особенности этой серии - наличие дополнительной памяти данных на кри­ сталле и второго указателя данных DPTR.

Рассмотрим подробнее особенности микроконтроллеров семейства АТ89.

2.12.1. Программирование flash-памяти программ

В микроконтроллерах АТ89С предусмотрен параллельный режим про­ граммирования flash-памяти. Для записи информации требуется подать напряжение программирования +12В, а для управления используются поч­ ти все линии портов. Поэтому процесс программирования flash-памяти вы­ полняется на специализированных программаторах ПЗУ.

В микроконтроллерах AT89S кроме параллельного режима програм­ мирования имеется последовательный режим, через интерфейс SPI. При использовании последовательного режима не требуется внешнего напряже­ ния программирования +12В, так как на кристалле предусмотрен преобра­ зователь напряжения. Для загрузки flash-памяти необходимо управлять четырьмя линиями - RESET, SCK (Р1.7), MOSI (Р1.5), MISO (Р1.6).

Если при разработке проекта на базе микроконтроллеров AT89Sxx преду­ смотреть возможность подключения к перечисленным линиям внешнего программирующего устройства, то легко обеспечивается возм ож н ость об­

ГЛАВА 2 АРХИТЕКТУРА MCS-51

105

 

новления встроенного программного обеспечения (upgrade). Этот меха­ низм называется внутрисистемным программированием - ISP (in-system programmability). Простой способ реализации цепей ISP в схеме показан на рис. 2.17.

4-6 в

AT89Sxx

 

 

Vcc

ХР1

 

MOSI/P1.5

MOSI

Разъем для

MISO/P1 6

MISO

внутрисистемного

SCK/P1 7

STK

программирования

RST

RST

 

4 - 2 4 МГц

 

 

XTAL2

Gnd

 

XTAL1

 

 

Gnd

R1-R4

 

 

Reset

 

 

к периферийным

 

 

цепям

 

Рис. 2.17. Способ реализации цепей ISP

Программирующее устройство подключается непосредственно к мик­ роконтроллеру через соединитель ХР1. Для устранения конфликтов меж­ ду сигналами программирования и периферийными устройствами, под­ ключенными к тем же портам, установлены резисторы R1-R4. Алгоритм внутрисистемного программирования описан в параграфе 2.12.7.

Так как в интерфейсе типа SPI импульсы синхронизации формирует ведущее устройство (в нашем случае это внешнее программирующее уст­ ройство), а частота импульсов не ограничена снизу, то для программиро­ вания можно использовать, например, порт LPT компьютера. При этом временная диаграмма обмена формируется программно. В лаборатории «Микропроцессорные системы» МИФИ для этой цели используется ка­ бель ByteBlaster, специфицированный фирмой Altera для внутрисистемной загрузки конфигурации ПЛИС.

2.12.2. Микроконтроллеры AT89S

Отличительными особенностями этой серии являются:

• EEPROM память данных (только у AT89S8252);

106

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

последовательный интерфейс SPI;

сторожевой таймер (Watchdog);

два регистра-указателя данных DPTR.

Карта адресного пространства регистров специальных функций микро­ контроллеров AT89S приведена на рис. 2.18.

FB

 

 

 

 

 

 

FF

F0

В

 

 

 

 

 

F7

Е8

00000000

 

 

 

 

 

EF

 

 

 

 

 

 

ЕО

АСС

 

 

 

 

 

E7

D8

00000000

 

 

 

 

 

DF

 

 

 

 

 

 

00

PSW

 

 

 

 

 

D7

 

00000000

 

 

 

 

£

 

С8

T2CON

T2MOD

RCAP2L

RCAP2H

TL2

ТН2

CF

СО

00000000

00000000

00000000

00000000

00000000

00000000

C7

 

 

 

 

 

 

В8

IP

 

 

 

 

 

BF

ВО

ХООООООО

 

 

 

 

 

B7

РЗ

 

 

 

 

 

 

11111111

 

 

 

 

 

 

А8

IE

 

 

 

 

 

AF

 

00000000

 

 

 

 

 

A7

АО

Р2

 

 

 

 

 

 

1111111

 

 

 

 

 

 

98

SCON

SBUF

 

 

 

 

9F

 

00000000

хххххххх

 

 

 

Vtotoo#

 

90

Р1

 

 

 

 

97

 

11111111

 

 

 

 

,'V M W w V i4 tf:

 

88

TCON

TMOD

TL0

TL1

ТНО

ТН1

8F

80

00000000

00000000

00000000

00000000

00000000

00000000

87

Р0

SP

DPL

DPH

 

PCON

 

11111111

00000111

00000000

00000000

 

ш ш ш 00x0000

 

Рис. 2.18. Регистры специальных функций микроконтроллеров AT89Sxx

Управление доступом к EEPROM, сторожевым таймером и переклю­ чение указателей DPTR производится через регистр WMCON (адрес 096h). Биты этого регистра не входят в битовое адресное пространство микроконтроллера. Для установки битов можно использовать инструкцию

ORL WMCON, #OrMask.

Если имя WMCON не поддерживается используемым компилятором, то можно объявить его как константу:

WMCON .equ 096h,

где OrMask - это константа, содержащая «1» в тех битах, которые нужно установить.

ГЛАВА 2. АРХИТЕКТУРА MCS-51

107

Аналогично, для сброса битов можно использовать инструкцию

ANLWMCON, # AndMask,

где And Mask - это константа, содержащая «О» в тех битах, которые нужно сбросить.

WMCON | PS21 PS1 | PSO | EEMWE | EEMEN | DPS | WDTRST | WDTEn ]

Имя

Номер

Функция

бита

бита

 

PS2

WMCON.7

Установка периода срабатывания сторожевого таймера в диапазо­

PS1

WMCON.6

не от 16 мс (по умолчанию) до 2048 мс.

PS0

WMCON. 5

Бит разрешения записи в EEPROM. Перед записью нужно устано­

EEMWE

WMCON.4

 

 

вить в “1". По окончании записи в EEPROM нужно установить в “0".

EEMEN

WMCON.3

Бит разрешения доступа к EEPROM. Когда бит установлен в “1"

 

 

инструкции MOVX, использующие DPTR, обеспечивают доступ к

 

 

EEPROM. Если бит равен 0”, то производится обращение к внеш­

 

 

ней памяти данных.

DPS

WMCON. 2

Выбор регистра DPTR. При DPS=0 в качестве DPTR используется

WDTRST

 

пара DP0H:DP0L, а при DPS=1 пара DP1H:DP1L.

WMCON. 1

Бит сброса сторожевого таймера и флаг занятости EEPROM. При

RDY/BSY

 

записи "1" в этот бит генерируется импульс сброса Watchdog и

 

 

затем бит автоматически сбрасывается в "0". При чтении обраще­

 

 

ние идет к флагу, отражающему состоние EEPROM: если "0”, то

 

 

процесс записи байта данных не закончен, если "1", то EEPROM

WDTEN

WMCON. 0

готова к записи.

Бит разрешения сторожевого таймера. При WDTEN = 1 таймер

 

 

Watchdog запщен и будет генерировать импульс Reset микро­

 

 

контроллера с периодом, заданным битами PS2 - PS0.

В микроконтроллере AT89S53 память EEPROM отсутствует, поэтому биты 4 и 5 зарезервированы, а регистр называется WCON.

Память EEPROM. Этот вид энергонезависимой памяти отличается от flash-памяти тем, что допускает перезапись одного байта без стирания ин­ формации в остальных. Ячейка EEPROM занимает значительно больше места на кристалле, чем ячейка flash-памяти, поэтому стоимость EEPROM выше. Количество циклов перепрограммирования также выше - не менее

100000.

В микроконтроллерах AT89S8252 блок памяти данных EEPROM дос­ тупен так же, как внешняя память данных, инструкциями MOVX A,@DPTR и MOVX @DPTR,A. Для доступа к памяти EEPROM нужно установить бит EEMEN регистра WMCON. Для записи данных в EEPROM нужно дополнительно установить бит EEMWE регистра WMCON. В процессе записи бит RDY/BSY регистра WMCON находится в состоянии «0», по окончании записи этот бит переходит в состояние «1». Кроме того, окончание записи байта можно проверять циклическим чтени­

108

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

ем байта: пока запись не закончена старший бит данных читается в ин­ версном виде.

Пример процедуры записи байта в EEPROM:

mov A,#data

данные для записи

mov DPTR,#Address

;адрес в памяти

orl WMCON,#18h

установим биты разрешения EEMEN и EEMWE

movx ©DPTR,А

инициируем запись

Loop:

;цикл ожидания конца записи байта

mov A,WMCON

;читаем содержимое регистра управления

jnb ACC. 1, Loop

проверяем бит RDY/BSY

anl WMCON,#E7h

дались закончена, сбросим EEMEN и EEMWE

Watchdog — сторожевой таймер. Watchdog приобретает все боль­ шую популярность у производителей микроконтроллеров. Он предназна­ чен для формирования сброса микроконтроллера на аппаратном уровне, если прикладная программа выполняет неконтролируемые действия, на­ пример, «зависла». Время срабатывания Watchdog устанавливается про­ граммно в пределах 16..2048 мс. В течение заданного времени программа должна выполнить процедуру сброса таймера Watchdog. Управление сто­ рожевым таймером производится через регистр WMCON.

Для запуска Watchdog нужно установить бит WDTEN в «1». Период срабатывания таймера задается битами PS2-PS0:

PS2

PS1

PS0

Период

0

0

0

16 мс

0

0

1

32

мс

0

1

0

64

мс

0

1

1

128

мс

1

0

0

256

мс

1

0

1

512

мс

1

1

0

1024 мс

1

1

1

2048 мс

Для сброса сторожевого таймера следует записать «1» в бит WDTRST. Так как данный бит регистра WMCON разделяет функции с битом занятости EEPROM, то проверять его для оценки состояния Watch­ dog не имеет смысла.

Два регистра-указателя данных DPTR. Стандартное ядро MCS-51 имеет один 16-разрядный указатель данных для доступа к полному про­ странству памяти программ и данных. При использовании памяти данных объемом более 256 байт это единственный указатель, обеспечивающий дос­ туп к памяти. В результате, при обработке сложных структур данных его требуется часто перезагружать и, что еще более неудобно, сохранять те­ кущее состояние перед загрузкой. Введение второго 16-разрядного указа­ теля облегчает программирование и позволяет ускорить обработку данных.

Второй регистр-указатель данных расположен по адресам 84h и 85h. В каждый момент времени доступен только один из двух регистров, поэтому все инструкции, работающие с DPTR, сохраняют свои функции. Бит D P S

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]