Назначение битов регистра слово - состояние программы PSW
Обозначение Мнемоника Назначение бита
PSW.7 CY флаг переноса (Carry Flag, CY);
PSW.6 AC флаг вспомогательного переноса (Auxiliary Carry Flag); используется в операциях двоично-десятичной арифметики;
PSW.5 F0 пользовательский флаг (General Purpose Status Flag);
PSW.4 RS1 бит 1 выбора регистрового банка (Register Bank Select Bits); устанавливается / сбрасывается программно для определения рабочего банка регистров;
PSW.3 RS0 бит 0 выбора регистрового банка (Register Bank Select Bits); устанавливается / сбрасывается программно для определения рабочего банка регистров;
PSW.2 OV флаг переполнения (Overflow Flag);
PSW.1 зарезервирован (Reserved); флаг, определяемый пользователем;
PSW.0 P бит четности (Parity Flag); устанавливается / сбрасывается аппаратно каждый цикл команды для указания нечетного / четного количества бит, содержащих “1”, в аккумуляторе, то есть, для проверки на четность;

 

Битами RS1, RS0 выбираются ячейки памяти, которые будут служить активным регистровым банком (регистры R0+R7), как показано в таблице 10.2.

Таблица 10.2

Выбор регистрового банка

RS 1 RS 0 Банк Адрес
0 0 0 00Н+07Н
0 1 1 08Н+0FH
1 0 2 10H+17H
1 1 3 18H+1FH

 

Указатель стека ( Stack Pointer – SP ). Регистр указателя стека имеет ширину 8 бит. Используется для указания на вершину стека в операциях записи в стек и чтения из него.

Он инкрементируется на единицу перед сохранением данных при выполнении команд PUSH и CALL. Неявно используется такими командами, как RET, RETI, POP.

Стек может находиться в любом месте внутренней памяти данных, однако указатель стека после сброса инициализируется с адреса 07Н (область стека в этом случае начинается с адреса 08Н).

Указатель данных ( Data Pointer – DPTR ). Регистр указателя данных DPTR состоит из старшего байта (DPH) и младшего байта (DPL). Его основная функция состоит в хранении 16-разрядного адреса. К нему можно обращаться, как к 16-разрядному регистру или как к двум независимыми 8-разрядным регистрам.

Порты P 0 – P 3.  Функционально любой порт состоит из буфера и SFR - защелки. Соответственно P0, P1, P2, и P3 являются SFR - защелками портов 0, 1, 2, и 3.

Запись логической единицы в любой бит SFR - защелки порта (P0, P1, P2, или P3) вызывает появление высокого состояния на соответствующем выводе порта. Запись нуля вызывает появление низкого состояния.

Когда порт используется как вход, то внешнее состояние вывода порта сохраняется в SFR - защелке порта. То есть, если внешнее состояние вывода порта низкое, соответствующий бит SFR - защелки порта будет содержать 0; если внешнее состояние высокое, то бит будет содержать 1).

Буфер данных последовательного интерфейса ( Serial Data Buffer – SDB ). Последовательный буфер фактически состоит из двух отдельных регистров: буфера передачи и буфера приема.

При записи данных в SBUF они помещаются в буфер передатчика последовательного порта и сохраняются для последующей передачи. Запись байта в буфер передатчика приводит к автоматической инициализации начала передачи этого байта.

При чтении SBUF считывается содержимое буфера приемника последовательного порта. Наличие буферного регистра приемника позволяет совмещать операцию чтения из SBUF ранее принятого байта с приемом очередного. Если к моменту окончания приема очередного байта предыдущий не был считан из SBUF, то он будет потерян.

    Основные регистры таймеров в 80C51. Регистровые пары (TH0, TL0) и (TH1, TL1) образуют 16 - разрядные счетные регистры для таймеров / счетчиков 0 и 1, соответственно.

    Регистр управления в 80C51. Регистры специальных функций IP, IE, TMOD, TCON, SCON, и PCON содержат биты управления и состояния для системы прерываний, таймеров / счетчиков, и последовательного порта.

Микроконтроллер 80С51 имеет в своем составе четыре двунаправленных порта ввода-вывода P0, P1, P2 и P3. Каждый порт включает в себя защелку (Port Latch) порта (регистры специальных функций SFR от P0 до P3), выходной формирователь (Output Driver) и входной буфер порта (Input Buffer).

Выходные формирователи портов P0 и P2 и входные буферы порта P0 используются в обращениях к внешней памяти. В этом случае порт P0 служит как мультиплексируемая по времени шина адреса/данных. Он выставляет на шину младший байт адреса внешней памяти, а порт P2 выводит старший байт адреса внешней памяти (в том случае, если адрес 16-разрядный). В противном случае, на выводах порта P2 постоянно выводится содержимое регистра P2 из области SFR.

Все выводы порта P3 многофункциональны. Они являются не только выводами порта, но и имеют альтернативные функции, сведенные в таблицу 10.3.

Таблица 10.3

Дата: 2019-03-05, просмотров: 23.