· буфер SBUF и регистр управления SCON последовательного канала;
· таймеры/счетчики T0, T1, их регистр управления TCON и регистр режимов TMOD;
· таймер/счетчик T2, его буферный регистр RCAP2 и регистр управления T2CON;
· регистры управления подсистемой прерываний: регистр приоритетов IP и регистр маски IE;
· регистр управления машиной PCON.
Форматы этих регистров и их размещение в пространствах DSEG и BSEG показаны на Рис. 11.15.
Рис. 11.14. Чтение из внешней памяти данных
Поскольку порты ввода/вывода размещены в пространстве DSEG, любая команда с операндом из DSEG применима к содержимому P0-P3, а совмещение с BSEG позволяет иметь доступ к каждому биту портов.
При обращении к внешней памяти порты P0 и P2 выполняют функцию системных шин A/D[7:0] и A[15:8] соответственно. Линии порта P3 используются для передачи управляющих сигналов.
Характерно, что при отсутствии в системе внешней памяти линии управления можно использовать как обычные программируемые линии порта. С другой стороны, пользователь может программировать интерфейс памяти, подавая на выходы RD\, WR\, PSEN\ импульсы произвольной длительности.
Буферы портов P0..P2 ..ВЕ52 отличаются от соответствующих буферов ..ВЕ48. Структура разрядов порта Р0 и Р3 приведены на Рис. 11.16 и Рис. 11.17. При обращении к внешним объектам содержимое буфера P2 не меняется, а P0 устанавливается в FF. Каждый линия P0..P3 может быть использована в качестве выходной независимо от других. Для перевода линии в режим ввода в соответствующий разряд выходного регистра должна быть записана “1”. Для использования линий P3 для управления соответствующий разряд должен быть установлен в “1” (Рис. 11.17), иначе на выходе всегда будет “0”.
Параллельные
P0
(80)
порты
T2EX
T2
P1
(90)
ввода/вывода
A7
A6
A5
A4
A3
A2
A1
A0
P2
(A0)
RD
B7
WR
B6
T1
B5
T0
B4
INT1
B3
INT0
B2
TxD
B1
RxD
B0
P3
(B0)
Буфер и регистр управления
SBUF
(99)
/состояния
последов. порта
SM0
9F
SM1
9E
SM29D
REN9C
TB89B
RB8
9A
TI
RI
SCON
(98)
T0L
(8A)
T0H
(8B)
T1L
(8C)
T1H
(8D)
Регистр управ-
T1 MOD
T0 MOD
TMOD
ления режимом
GTE
C/T
M1
M0
GTE
C/T
M1
M0
(89)
Регистр управ-
лен. таймерами
TF1
8F
TR1
8E
TF0
8D
TR0
8C
IE1
8B
IT1
8A
IE0
IT0
TCON
(88)
RCAP2L
(CA)
RCAP2H
(CB)
T2L
(CC)
T2H
(CD)
Регистр упр.
таймером Т2
TF2
CF
EXF2
CE
RCLK
CD
TCLK
CC
EXN2
CB
TR2
CA
C/T2
C9
CP/R
C8
T2CON
(C8)
Регистр маски
прерываний
EA
AF
-
AE
ET2
AD
ES
AC
ET1
AB
EX1
AA
ET0
A9
EX0
A8
IE
(A8)
Регистр
приоритетов прерываний
-
BF
-
BE
PT2
BD
PS
BC
PT1
BB
PX1
BA
PT0
B9
PX0
B8
IP
(B8)
Рг.управл.(87)
SMD
-
-
-
GF1
GF0
PD
IDL
PCON
Рис. 11.15. Размещение регистров внешних устройств в DSEG и BSEG и форматы регистров
При сбросе микро-ЭВМ все регистры портов устанавливаются в состояние FF.
Линии порта P0 - с открытым стоком, P1..P3 имеют встроенную нагрузку.
Запись результата операции в порты P0..P3 проходит по фазе S6P2, однако на выходе порта новые значения появляются по S1P1. При записи в порты P1..P3 информации, требующей перехода “0” ® “1”, через выходную цепь в течение S1 пропускается импульс тока, амплитуда которого в 100 раз превышает номинальное значение, что обеспечивает повышение скорости переключения состояния выходных линий. Порт P0 таким свойством не обладает.
Рис. 11.16. Разряд порта Р0
Выходы P1..P3 обеспечивают нагрузку для четырех маломощных ТТЛ-входов (выходной ток - 1,6 мA). Нагрузочная способность выходов P0 - 3,2 мA, однако для их работы требуются внешние нагрузочные резисторы.
Считывание данных, присутствующих на входах P0, P1 выполняется по фазе S5P1 последнего машинного цикла команды, а со входов P2, P3 - по фазе S5P2.