
- •Введение Структура гибкой производственной системы
- •1. Классификация устройств программного управления
- •2. Принципы построения микропроцессорных систем
- •3. Способы внутрисистемной организации мультимикропроцессорных систем
- •Устройства числового программного управления станками и системы управления промышленными роботами
- •4. 1. Устройство числового программного управления fms-3000
- •4.2. Учпу Маяк600
- •4.3. Система управления рб 242
- •4.4. Су «сфера-36»
- •Микроконтроллеры cisc и risc архитектуры
- •5.1. Выбор микроконтроллера
- •5. 2. Микроконтроллер км1816ве51
- •Устройство управления и синхронизации
- •Порты ввода/вывода информации
- •Таймеры/счётчики
- •Последовательный порт
- •Работа уапп в мультимикроконтроллерных системах
- •Система прерываний
- •Приоритеты прерываний при поллинге
- •Особенности запросов внешних прерываний
- •Программирование мк51 Методы адресации
- •Система команд семейства mк-51
- •Типовая схема построения су на базе мк51
Порты ввода/вывода информации
Все четыре порта МК51 предназначены для ввода или вывода информации. Каждый порт содержит управляемые регистр-защелку, входной буфер и выходной драйвер. Выходные драйверы портов 0 (Р0) и 2 (Р2), а также входной буфер (Р0) используются при обращении к внешней памяти (ВПП и ВПД). При этом через Р0 в режиме временного мультиплексирования сначала выводится младший байт адреса ВП, а затем выдается или принимается байт данных. Через Р2 выводится старший байт адреса в тех случаях, когда разрядность адреса равна 16 бит.
Все выводы порта 3 могут быть использованы для реализации альтернативных функций (табл. 5.4). Выполнение альтернативных функций имеет более высокий приоритет, чем функции ввода/вывода.
Таблица 5.2 Структура внутреннего ОЗУ (РПД)
Операции с ячейками РПД |
Адреса РПД |
Биты в ячейках памяти D7 D6 D5 D4 D3 D2 D1 D0 |
|||||||
Чтение/запись ячеек 30H ÷ 7FH (80 ячеек) |
7FH* …
30H |
|
|||||||
…
|
|||||||||
|
|||||||||
Чтение/запись ячеек 20H ÷ 2FH (16 ячеек), либо установка/сброс бит 0H ÷ 7FH (128 бит) |
2FH |
7F |
7E |
7D |
7C |
7B |
7A |
79 |
78 |
2EH |
77 |
76 |
75 |
74 |
73 |
72 |
71 |
70 |
|
2DH |
6F |
6E |
6D |
6C |
6B |
6A |
69 |
68 |
|
2CH |
67 |
66 |
65 |
64 |
63 |
62 |
61 |
60 |
|
2BH |
5F |
5E |
5D |
5C |
5B |
5A |
59 |
58 |
|
2AH |
57 |
56 |
55 |
54 |
53 |
52 |
51 |
50 |
|
29H |
4F |
4E |
4D |
4C |
4B |
4A |
49 |
48 |
|
28H |
47 |
46 |
45 |
44 |
43 |
42 |
41 |
40 |
|
27H |
3F |
3E |
3D |
3C |
3B |
3A |
39 |
38 |
|
26H |
37 |
36 |
35 |
34 |
33 |
32 |
31 |
30 |
|
25H |
2F |
2E |
2D |
2C |
2B |
2A |
29 |
28 |
|
24H |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
|
23H |
1F |
1E |
1D |
1C |
1B |
1A |
19 |
18 |
|
22H |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
|
21H |
0F |
0E |
0D |
0C |
0B |
0A |
09 |
08 |
|
20H |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
|
Чтение/запись регистров R0 ÷ R7 с выбором банка, либо ячеек 0H ÷ 1FH (32 ячейки) |
1FH … 18H |
R7 Банк3 … R0 |
|||||||
17H … 10H |
R7 Банк2 … R0 |
||||||||
0FH … 08H |
R7 Банк 1 … R0 |
||||||||
07H … 00H |
R7 Банк 0 … R0 |
* Н – шестнадцатеричная форма представления адресов.
Таблица 5.3. Регистры специальных функций
Адрес |
Прямоадресуемые биты (двойная строка содержит: в числителе - наименование бита, а в знаменателе его адрес) |
Обозначение регистра |
Состояние после сброса |
||||||||||
0FFH |
|
|
|
||||||||||
0F0H |
F7 |
F6 |
F5 |
F4 |
F3 |
F2 |
F1 |
F0 |
B |
00H |
|||
0E0H |
E7 |
E6 |
E5 |
E4 |
E3 |
E2 |
E1 |
E0 |
ACC |
00H |
|||
0D0H |
CYD7 |
ACD6 |
F0 D5 |
RS1 D4 |
RS0 D3 |
OV D2 |
- |
P D0 |
PSW (ССП) |
00H |
|||
0B8H |
- |
- |
PT2 BD |
PS BC |
PT1 BB |
PX1 BA |
PT0 B9 |
PX0 B8 |
IP (РП) |
xx000000B* |
|||
0B0H |
B7 |
B6 |
B5 |
B4 |
B3 |
B2 |
B1 |
B0 |
P3 |
FFH |
|||
0A8H |
EA AF |
- |
ET2 AD |
ES AC |
ET1 AB |
EX1 AA |
ET0 A9 |
EX0 A8 |
IE (РМП) |
0x000000B |
|||
0A0H |
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
P2 |
FFH |
|||
99H |
|
SBUF |
xxxxxxxxB |
||||||||||
98H |
SM0 9F |
SM1 9E |
SM2 9D |
REN 9C |
TB8 9B |
RB8 9A |
T1 99 |
R1 98 |
SCON (РУПП) |
00H |
|||
90H |
97 |
96 |
95 |
94 |
93 |
92 |
91 |
90 |
P1 |
FFH |
|||
8DH |
|
TH1 |
00H |
||||||||||
8CH |
|
TH0 |
00H |
||||||||||
8BH |
|
TL1 |
00H |
||||||||||
8AH |
|
TL0 |
00H |
||||||||||
89H |
GATE1 - |
C/T1 - |
M1.1 - |
M0.1 - |
GETE0 - |
C/T0 - |
M1.0 - |
M0.0 - |
TMOD (РРТС) |
00H |
|||
88H |
TF1 8F |
TR1 8E |
TF0 8D |
TR0 8C |
IE1 8B |
IT1 8A |
IE0 89 |
IT0 88 |
TCON (РУСТ) |
00H |
|||
87H |
SMOD - |
- |
- |
- |
GF1 - |
GF0 - |
PD - |
IDL - |
PCON (РУМ) |
00xx0000B |
|||
83H |
|
DPH |
00H |
||||||||||
82H |
|
DPL |
00H |
||||||||||
81H |
|
SP (РУС) |
07H |
||||||||||
80H |
87 |
86 |
85 |
84 |
83 |
82 |
81 |
80 |
P0 |
FFH |
* В – двоичная форма представления чисел.
Порт 0 является двунаправленным, а Р1, Р2 и Р3 квазидвунаправленными. Каждая линия портов может быть использована независимо для ввода или вывода информации. Для того чтобы некоторая линия портов Р1, Р2 или Р3 использовалась для ввода, в D-триггеры регистра-защёлки порта должна быть записана 1, которая закрывает МОП-транзистор выходной цепи.
Нагрузочная способность порта Р0 равна двум ТТЛ входам, а портов Р1, Р2 и Р3 – один ТТЛ вход.
По сигналу СБР в регистры-защёлки всех портов автоматически записываются единицы, настраивая их тем самым на режим ввода.
Обращение к портам ввода/вывода возможно с использованием команд, оперирующих с байтом, отдельным битом и произвольной комбинацией бит.
Таблица 5.4. Альтернативные функции порта 3
Символ |
Позиция |
Наименование и назначение функции |
||
/RD |
P3.7 |
Чтение |
Активный сигнал низкого уровня форматируется аппаратно при обращении к ВПД. |
|
/WR |
P3.6 |
Запись |
||
T1 |
P3.5 |
Вход таймера / счетчика 1 или тест – вход. |
||
T0 |
P3.4 |
Вход таймера / счетчика 0 или тест – вход. |
||
/INT1 |
P3.3 |
Вход запроса прерывания 1. |
Воспринимается сигнал низкого уровня или срез. |
|
/INT0 |
P3.2 |
Вход запроса прерывания 0. |
||
TXD |
P3.1 |
Выход последовательного порта в режиме УАПП. Выход сигнала синхронизации в режиме сдвигающего регистра. |
||
RXD |
P3.0 |
Вход приемника последовательного порта в режиме УАПП. Ввод/вывод данных в режиме сдвигающего регистра. |