Модуль СУУ | Вид модуля ОК | Обозначение ОК на схематическом плане |
А0 | Модуль светофора маневрового | М5 |
А1 | Модуль стрелки | 5СП |
А2 | Модуль путевых реле | 5СП, П (5-23УП) |
А3 | Модуль светофора маневрового | М13 |
А4-А7 | Резервные модули |
4. При проектировании использовано 4 модуля. Использованы модули 3 видов. Нарисуем схемы модулей каждого вида и обозначим разряды порта микроконтроллера на их выходах.

|
5.
6. \
7. \С учетом представленной на рис.6 структуры модулей формат слова микроконтроллера, характеризующего состояние ОК, имеет вид:
а) формат слова для модулей изолированных участков
![]() |
Рис.7
б) формат слова для модулей стрелок
![]() |
![]() |
Рис.8
в) формат слова для модулей светофоров маневровых
|
|
|
|
|
|
|
|
|
|
|
|
![]() |
Рис.9
8. Используя таблицу 3 заполним таблицу 7.
Светофор маневровый | ||
Воздействие | Обмотка управляющего реле | Состояние обмотки при реализации воздействия (под током/без тока) |
Включение красного огня | КС | 0 – под током 1 – без тока |
Включение белого огня | БС | 1 – под током 0 – без тока |
Стрелка | ||
Воздействие | Обмотка управляющего реле | Состояние обмотки при реализации воздействия (под током/без тока) |
Перевод в плюсовое положение | ПУ | 1 – под током 0 – без тока |
Перевод в минусовое положение | МУ | 1 – под током 0 – без тока |
9. Распределим объекты управления по модулям D0-D3, для чего заполним таблицу 8.
Модуль СУУ | Вид модуля ОУ | Обозначение ОУ на схематическом плане |
D0 | Модуль светофоров маневровых | М5, М13 |
D1 | Модуль стрелок | 5СП |
D2 | Резерв | |
D3 | Резерв |
10. Конструируем модули

Рис.10
11. С учетом рисунка 10 и принципиальной схемы СУУ (приложение 1) определим форматы слов микроконтроллера для всех видов модулей ОУ.
Формат слова модуля маневровых светофоров (М5 и М13)
![]() |
![]() |
Формат слова модуля стрелки 5СП
![]() |
![]() |
10.Определим кодовые слова требуемого состояния ОК, хранящиеся в памяти данных микроконтроллера.
Ячейка ПД | Модуль | ОК | Кодовое слово требуемого состояния |
R40 | A0 | Светофор М5 (горит белый огонь) | 111010002 (E8h) |
R41 | A1 | Стрелка 5СП (плюсовое положение) | 111010012 (E9h) |
R42 | A2 | Путевые реле П (5-23УП), 5СП (свободно от подв. состава) | 111110102 (FAh) |
R43 | A3 | Светофор М13 (горит красный огонь) | 111100112 (F3h) |
R44 – R48 | - | Не используются |
12. Составление алгоритма реализации маршрута в примере не приводится.
Примечание: В рассмотренном примере использован минимальный набор параметров ОК и управляющих воздействий для них. Студенты при выполнении работы могут использовать резервные разряды для контроля дополнительных параметров (формирования дополнительных управляющих воздействий) по своему усмотрению.
Таблица 10
Система команд микроконтроллера МК48
Мнемоника команды | Код операции | Количество байтов в команде | Время выполнения команды, циклы | Выполняемые действия |
Арифметические операции | ||||
ADD A, Rn | 01101rrr | 1 | 1 |
|
ADD A, @Ri | 0110000i | 1 | 1 |
|
ADD A, #d |
| 2 | 2 |
|
INC A |
| 1 | 1 |
|
INC Rn | 00011rrr | 1 | 1 |
|
INC @Ri | 0001000i | 1 | 1 |
|
DEC A |
| 1 | 1 |
|
DEC Rn | 11001rrr | 1 | 1 |
|
Логические операции | ||||
ANL A, Rn | 01011rrr | 1 | 1 |
|
ANL A, @Ri | 0101000i | 1 | 1 |
|
ANL A, #d |
| 2 | 2 |
|
ORL A, Rn | 01001rrr | 1 | 1 |
|
ORL A, @Ri | 0100000i | 1 | 1 |
|
ORL A, #d |
| 2 | 2 |
|
XRL A, Rn | 11011rrr | 1 | 1 |
|
XLR A, @Ri | 1101100i | 1 | 1 |
|
XLR A, #d |
| 2 | 2 |
|
CLR A |
| 1 | 1 |
|
CPL A |
| 1 | 1 |
|
SWAP A |
| 1 | 1 |
|
RL A |
| 1 | 1 | Циклический сдвиг влево (А) |
RLC A |
| 1 | 1 | Сдвиг влево (А) через перенос |
RR A |
| 1 | 1 | Циклический сдвиг вправо (А) |
RRC A |
| 1 | 1 | Сдвиг вправо (А) через перенос |
ANL Pp, #d | 100110pp | 2 | 2 |
|
ANL BUS, #d |
| 2 | 2 |
|
ORL Pp, #d | 100010pp | 2 | 2 |
|
ORL BUS, #d |
| 2 | 2 |
|
CLR C |
| 1 | 1 |
|
CLR F0 |
| 1 | 1 |
|
CLR F1 |
| 1 | 1 |
|
CPL C | 1010111 | 1 | 1 |
|
CPL F0 |
| 1 | 1 |
|
CPL F1 |
| 1 | 1 |
|
Операции пересылки данных | ||||
MOV A, Rn | 11111rrr | 1 | 1 |
|
MOV A, @Ri | 1111000i | 1 | 1 |
|
MOV A, #d |
| 2 | 2 |
|
MOV Rn, A | 10101rrr | 1 | 1 |
|
MOV Rn, #d | 10111rrr | 2 | 2 |
|
MOV @Ri, A | 1010000i | 1 | 1 |
|
MOV @Ri, #d | 1011000i | 2 | 2 |
|
MOV A, T |
| 1 | 1 |
|
MOV T, A |
| 1 | 1 |
|
XCH A, Rn | 00101rrr | 1 | 1 |
|
XCH A, @Ri | 0010000i | 1 | 1 |
|
IN A, Pp | 000010pp | 1 | 2 |
|
INS A, BUS |
| 1 | 2 |
|
OUTL Pp, A | 001110pp | 1 | 2 |
|
OUTL BUS, A |
| 1 | 2 |
|
Операции передачи управления (условных и безусловных переходов) | ||||
JMP ad 11 | a10a9a800100 | 2 | 2 | Безусловный переход по 11 разрядному адресу |
JMPP @A |
| 1 | 2 |
|
DJNZ Rn, ad | 11101rrr | 2 | 2 | Декремент |
JC ad |
| 2 | 2 | Переход по |
JNC ad |
| 2 | 2 | Переход по |
JZ ad |
| 2 | 2 | Переход по |
JNZ ad |
| 2 | 2 | Переход по |
JT0 ad |
| 2 | 2 | Переход по |
JNT0 ad |
| 2 | 2 | Переход по |
JT1 ad |
| 2 | 2 | Переход по |
JNT1 ad |
| 2 | 2 | Переход по |
JF0 ad |
| 2 | 2 | Переход по |
JF1 ad |
| 2 | 2 | Переход по |
JTF ad |
| 2 | 2 | Переход по |
CALL ad | a10a9a810100 | 2 | 2 | Вызов подпрограммы по |
RET |
| 1 | 2 | Возврат из подпрограммы без восстановления ССП |
RETR |
| 1 | 2 | Возврат из подпрограммы с восстановлением ССП |
Операции управления режимами микроконтроллера | ||||
STRT T |
| 1 | 1 | Запуск таймера |
STRT CNT |
| 1 | 1 | Запуск счетчика |
STOP TCNT |
| 1 | 1 | Останов таймер/счетчика |
EN TCNT |
| 1 | 1 | Разрешение прерывания от таймера/счетчика |
DIS TCNT1 |
| 1 | 1 | Запрещение прерываний от таймера/счетчика |
SEL RB0 |
| 1 | 1 | Выбор банка 0 РПД; |
SEL RB1 |
| 1 | 1 | Выбор банка 1 РПД; |
SEL MB0 |
| 1 | 1 | Выбор банка 0 памяти программ; |
SEL MB1 |
| 1 | 1 | Выбор банка 1 памяти программ; |
NOP |
| 1 | 1 | Холостая команда |
Обозначения, используемые в табл.10
- рабочий регистр;
- адрес в качестве которого используется содержимое регистров
;
- операнд, задаваемый числом;
- регистр-аккумулятор;
- восьмиразрядный адрес памяти программ, в качестве которого используется содержимое аккумулятора;
- порты
;
- порт
;
-флаги;
- 8-разрядный адрес памяти программ, задаваемый в команде;
- 11-разрядный адрес памяти программ, задаваемый в команде;
- таймер в команде STRT, таймер/счетчик в команде MOV;
- таймер/счетчик в команде
;
- таймер/счетчик в командах
;
- нулевой и первый банки регистров соответственно;
- нулевой и первый банки памяти программ соответственно.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |










