Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[8]

Для обращения к РПД и ВПД используют различные команды:

-MOVX-пересылка данных ВПД;

-MOV-пересылка данных РПД. Общая структура РПД имеет вид:

Ячейки с адресами 0H-1FH РПД размещают банки регистров общего назначения (РОН). Всего банков четыре, и каждый из них содержит по восемь регистров: R0, R1,...,R7. Текущий банк регистров, с которым работает процессор задается программно.

В адресном пространстве 20H-2FH РПД размещается область прямоадресуемых бит, в этой области каждый из 128 битов имеет свой адрес и к каждому из них возможно отдельное обращение с помощью команд.

В области с адресами 30H-7FH могут размещаться любые данные пользователя (байты).

Непосредственно РПД в адресном пространстве примыкает область регистра специальных функций (РСФ) с адресами от 80H-0FFH.

Вся работа основных узлов ОМК управляется с помощью РСФ. Перечислим основные РСФ:

1)A -основной регистр контроллера-аккумулятор(его адрес 0E0H).

Замечание: «*» означает, что данный РСФ позволяет прямо адресовать свои отдельные биты. Например, для обращения к первому биту аккумулятора в команде записывают АСС.1.

2)В - регистр расширитель аккумулятора может использоваться как обычная ячейка памяти с адресом 0F0H, а также используется для хранения старшего байта результата в операциях умножения и деления.

*

3)PSW (Program Status Word)-слово состояния программы. Его формат:

где

С-признак переноса;

АС-признак дополнительного переноса;

F0-признак пользователя, который устанавливается программно по

усмотрению пользователя; RS1, RSo-биты, определяющие номер текущего регистрового банка (00-нулевой банк РОН,..11-третий банк РОН);

V-признак переполнения, т.е. переноса в старший знаковый разряд;

Р- признак паритета (нечетности).

4)SP - регистр указатель стека в РПД.

Перед записью информации в стек, значение SP увеличивается на единицу (SP<-SP+1), после чтения информации из стека значение

70

C

AC

F0

RS1

RS0

V

-

P

адрес 0D0H

уменьшается на единицу (SP-SP-1).


Такой режим работы со стеком называется «преинкрементный / постдекрементный».

После сигнала «сброс» SP=07H, т.е. стек располагается в первом регистровом банке.

5)DPTR-16-разрядный регистр указатель данных. В DPTR хранится адрес ячейки при косвенном обращении к внешней ПП или данных. DPTR состоит из двух 8-разрядных регистров:

-DPH-старший байт; -DPL-младший байт.

ФФФФ

6)Р0 , Р1 ,Р2 ,Р3 -8-разрядные регистры данных портов ввода/вывода

ОМК.

7)IP , IE -регистр управления приоритетами прерываний и регистр маскирования прерываний (запрещений).

8)TCON , TMOD-регистр состояния и регистр управления внутренними таймерами-счетчиками ОМК Т1, Т0.

9)TH0, TL0 старший и младший байт данных соответственно TH1, TL1 таймера счетчика Т0 и Т1.

*

10)SCON , SBUF-регистр управления и регистр данных встроенного последовательного интерфейса.

11)PCON-регистр управления потребляемой мощностью ОМК.

3.4. Система команд ОМК К1816ВЕ51

Система команд включает 111 базовых 1, 2, 3-х байтных команд. Первый байт в команде всегда ход операции, а второй и третий либо адреса операндов, либо непосредственно сам операнд.

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

-регистровая, если операнд находится в регистре;

-косвенная-регистровая, если в регистре адрес операнда;

-прямая, если в команде значением задан адрес операнда;

-непосредственная, если в команде задано значение операнда (число);

-неявная, если операнды закодированы в КОП. Выделяют пять основных групп команд ВЕ51:

-команды пересылки данных;

-команды арифметических операций;

-команды логических операций;

-команды работы с битами;

-команды передачи управления или переходов.

3.4.1. Команды пересылки данных

Все основные пути пересылки данных в контроллере изобразим в виде графа:


ВПП (ПЗУ)

@A+PC

@DPTR

@A+DPTR

РПД

А

ВПД (ОЗУ)

adr

Г м т

А

А

Rn

<-

#data8

@А+РС-ячейка памяти программ, адрес который вычисляется как сумма, содержимого счетчика команд РС и аккумулятора (косвенно регистровая адресация);

@A+DPTR- ячейка памяти программ, адрес вычисляется как сумма 16-разрчдного регистра указателя DPTR и аккумулятора;

@DPTR-ячейка внешней памяти данных, адрес которого находится в DPTR (адрес 16-разрядный);

@Ri-ячейка ВПД, 8-разрядный адрес который находится в Ri (i=0,1);

adr-ячейка, РПД адрес которой прямо указан в команде;

@Ri-ячейкаРПД, 8-разрядный адрес (i=0,1);

Rji-операнд находится в регистре контроллера, текущего регистрового банка (n=0,7);

#data8- 8-разрядное значение (байт). Кроме указанных путей имеются еще два:

т.е. в DPTR можно загружать 16-разрядное значение, а в признак переноса С

DPTR к-

#data16

С

4

bit

%

прямо адресуемый бит.

Можно выделить три типа команд пересылки:

-пересылки данных в РПД;

-пересылки данных в ВПД;

-чтение данных из ВПП.

А) Команды пересылки данных в РПД.

MOV A, src ; A-src (src=img-book-4/Rn, @Ri, adr, #data8) MOV Rn, src ; Rn-src (src=img-book-4/A, adr, #data8) MOV @Ri, src ; @R-src РПД (src=img-book-4/A, adr, #data8) MOV adr, src ; adr-src (src=img-book-4/A, adr, Rn, @Ri, #data8)

Пример: 1)переслать содержимое регистра R1 в R2: MOV R2, R1; такой команды нет MOV 2, 1 ; переслать ячейку с адресом 1 в 2.

2)MOV @R0, A ; из А в ячейку РПД, адрес которой в R0.

3)MOV R3, #8H ; R3=8H.

Команды работы со стеком:

PUSH adr-загрузить прямоадресуемый операнд в стек;



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28]