- •Структурная схема алгоритма
- •1.Введение
- •2.Постановка задачи
- •3.Структура входных и выходных данных
- •Блок переключения передач
- •Датчик оборотов
- •Включение мпс
- •4.2 Структурная схема всех программных модулей
- •4.3.Функциональные схемы всех программных модулей
- •4.Программное спо
- •4.1 Структурные схемы алгоритма
- •4.4. Распределение памяти в условных адресатах
- •4.5. Принципиальные схемы всех программных модулей в условных адресатах
- •4.6.Распределение памяти в действительных адресатах
- •4.7.Принципиальные схемы всех программных модулей в действительных адресатах
- •5.Разработка и описание структурной схемы мпс
- •6.Разработка и описание функциональной схемы мпс
- •7. Временные диаграммы для команд
4.4. Распределение памяти в условных адресатах
СТЭК |
0000 ÷ 0009 |
ПЗУ |
ТК+0…1 |
ГПМ |
ГПМ+0…59 |
ПМ1 |
ПМ1+0…23 |
ПМVk |
ПМVk+0…18 |
ПМDt |
ПМDt+0…2 |
ПМ2 |
ПМ2+0…47 |
ПМ3 |
ПМ3+0…82 |
ПМ4 |
ПМ4+0…82 |
ПМZd |
ПМZd+0…48 |
4.5. Принципиальные схемы всех программных модулей в условных адресатах
ТК
ТК+0 |
20 |
Равняется 2т об./мин |
1 |
30 |
Равняется 3т об./мин |
ГПМ
ГПМ
ГПМ+0 |
OUT 998 |
Задание режима интерфейса 1 |
1 |
|
|
2 |
OUT A48 |
Задание режима интерфейса 2 |
3 |
|
|
4 |
CALL ПМ1+0 |
Вызов ПМ1 |
5 |
|
|
6 |
|
|
7 |
CALL ПМZd+0 |
Вызов задержки |
8 |
|
|
9 |
|
|
ГПМ+10 |
CALL ПМ2+0 |
Вызов ПМ2 |
1 |
|
|
2 |
|
|
3 |
MOV A, D |
Запись в аккумулятор RG D |
4 |
CPI 018 |
Сравнение с 1 |
5 |
|
|
6 |
JZ ГПМ+22 |
Переход по «равно нулю» |
7 |
|
|
8 |
|
|
9 |
CPI 018 |
Сравнение с 1 |
ГПМ+20 |
|
|
1 |
JNZ ГПМ+59 |
Переход по «не равно нулю» |
2 |
|
|
3 |
|
|
4 |
CALL ПМZd+0 |
Вызова ПМZd |
5 |
|
|
6 |
|
|
7 |
CALL ПМ3+0 |
Вызов ПМ3 |
8 |
|
|
9 |
|
|
ГПМ+30 |
MOV A,C |
Запись в аккумулятор значения RG C |
1 |
CPI 018 |
Сравнение с 1 |
2 |
|
|
3 |
NOP |
|
4 |
JZ ГПM+40 |
Переход по «равно нулю» |
5 |
|
|
6 |
|
|
7 |
CPI 018 |
Сравнение с 1 |
8 |
|
|
9 |
JNZ ГПМ+3 |
Переход по «не равно нулю» |
ГПМ+40 |
|
|
1 |
|
|
2 |
CALL ПМZd+0 |
Вызов ПМZd |
3 |
|
|
4 |
|
|
5 |
CALL ПМ4+0 |
Вызов ПМ4 |
6 |
|
|
7 |
|
|
8 |
MOV A,C |
Запись в аккумулятор значения RG C |
9 |
CPI 018 |
Сравнение с 1 |
ГПМ+50 |
|
|
1 |
JZ ГПМ+40 |
Переход «по равно нулю» |
2 |
|
|
3 |
|
|
4 |
CPI 018 |
Сравнение с 1 |
5 |
|
|
6 |
JNZ ГПМ +22 |
Переход по «не равному нулю» |
7 |
|
|
8 |
|
|
9 |
HTL |
Конец |
ПМ1
ПМ1+0 |
IN PORT C1 |
Сигнал с порта С1 |
1 |
CPI 018 |
Сравнение с 1 |
2 |
|
|
3 |
JZ ПМ1+21 |
Переход по «равно нулю» |
4 |
|
|
5 |
|
|
6 |
CPI 018 |
Сравнение с 1 |
7 |
|
|
8 |
JNZ ПМ1+11 |
Переход по «не равно нулю» |
9 |
|
|
ПМ1+10 |
|
|
1 |
MVI D, 008 |
Записываем в RGD 0 |
2 |
|
|
3 |
CALL ПМZd+0 |
Вызов ПМZd |
4 |
|
|
5 |
|
|
6 |
NOP |
|
7 |
NOP |
|
8 |
JMP ПМ1+0 |
Безусловный переход |
9 |
|
|
ПМ1+20 |
|
|
1 |
MVI D, 018 |
Записываем в RGD 1 |
2 |
|
|
3 |
RET |
Возврат к ГПМ |
ПМVk
ПМVK+0 |
IN PORT C1 |
Сигнал с порта С1 |
1 |
CPI 018 |
Сравнение с 1 |
2 |
|
|
3 |
JZ ПМVk+11 |
Переход по «равно нулю» |
4 |
|
|
5 |
|
|
6 |
CPI 018 |
Сравнение с 1 |
7 |
|
|
8 |
JNZ ПМVk+16 |
Переход по «не равно нулю» |
9 |
|
|
ПМVK+10 |
|
|
1 |
MVI D, 018 |
Запись в RGD 1 |
2 |
|
|
3 |
JMP ПМVk+19 |
Безусловный переход |
4 |
|
|
5 |
|
|
6 |
MVI D, 008 |
Запись в RGD 0 |
7 |
|
|
8 |
RET |
Возврат к ПМ2 (вышестоящему ПМ) |
ПМDt
ПМDt+0 |
IN PORT A1 |
Данные с порта А1 |
1 |
MOV B, A |
Запись в аккумулятор RGB |
2 |
RET |
Возврат к ГПМ (или вышестоящему ПМ) |
ПМ2
ПМ2+0 |
CALL ПМVK+0 |
Вызов ПМVK |
1 |
MOV A, D |
Запись в аккумулятор RGD |
2 |
CPI 018 |
Сравнение с 1 |
3 |
|
|
4 |
JZ ПМ2+14 |
Переход по «равно нулю» |
5 |
|
|
6 |
|
|
7 |
CPI 018 |
Сравнение с 1 |
8 |
|
|
9 |
JNZ ПМ2+ 49 |
Переход по «не равно нулю» |
ПМ2+10 |
|
|
1 |
|
|
2 |
NOP |
|
3 |
NOP |
|
4 |
CALL ПМDt+0 |
Вызов ПМDt |
5 |
LXI HL ТК+1 |
Вызываем число 30 |
6 |
|
|
7 |
|
|
8 |
MOV A, m |
Запись в аккумулятор из памяти |
9 |
CMP B |
Сравнение с RGB |
ПМ2+20 |
JZ ПМ2+28 |
Переход по «равно нулю» |
1 |
|
|
2 |
|
|
3 |
CMP B |
Сравнение с RGB |
4 |
JNZ ПМ2+32 |
Переход по «не равно нулю» |
5 |
|
|
6 |
|
|
7 |
NOP |
|
8 |
CALL ПМZd+0 |
Вызов ПМZd |
9 |
JMP+0 |
Безусловный переход |
ПМ2+30 |
|
|
1 |
|
|
2 |
CMP B |
Сравнение с RGB |
3 |
JM ПМ2+44 |
Переход по «меньше нуля» |
4 |
|
|
5 |
|
|
6 |
CMP B |
Сравнение с B |
7 |
JP ПМ2+40 |
Переход по «больше нуля» |
8 |
|
|
9 |
|
|
ПМ2+40 |
CALL ПМZd+0 |
Вызов ПМZd |
1 |
JMP ПМ2+0 |
Безусловный переход |
2 |
|
|
3 |
|
|
4 |
MVI B1, 018 |
Запись в В1 1 |
5 |
|
|
6 |
OUT PORT B1 |
Вывезти с В1 |
7 |
RET |
Возврат к ГПМ |
ПМ3
ПМ3+0 |
CALL ПМDt |
Вызов ПМDt |
1 |
|
|
2 |
|
|
3 |
LXI LH, ТК+0 |
Вызываем число 20 |
4 |
|
|
5 |
|
|
6 |
MOV A, m |
Запись в аккумулятор из памяти |
7 |
CMP B |
Сравнение с RGB |
8 |
JZ ПМ3+15 |
Переход по «равно нулю» |
9 |
|
|
ПМ3+10 |
|
|
1 |
CMP B |
Сравнение с RGB |
2 |
JNZ ПМ3+24 |
Переход по «не равно нулю» |
3 |
|
|
4 |
|
|
5 |
CALL ПМZd |
Вызов ПМZd |
6 |
|
|
7 |
|
|
8 |
JMP ПМ3+0 |
Безусловный переход |
9 |
|
|
ПМ3+20 |
|
|
1 |
NOP |
|
2 |
NOP |
|
3 |
NOP |
|
4 |
CMP B |
Сравнить с RGB |
5 |
JM ПМ3+43 |
Переход по «меньше нулю» |
6 |
|
|
7 |
|
|
8 |
CMP B |
Сравнение с RGB |
9 |
JP ПМ3+32 |
Переход по «больше нулю» |
ПМ3+30 |
|
|
1 |
|
|
2 |
MVI A2, 0 |
Запись в порт А2 0 |
3 |
|
|
4 |
OUT A2 |
Вывезти А2 |
5 |
MVI C, 0 |
Запись в RGC 0 |
6 |
|
|
7 |
JMP ПМ3+89 |
Безусловный переход |
8 |
|
|
9 |
|
|
ПМ3+40 |
NOP |
|
1 |
NOP |
|
2 |
NOP |
|
3 |
LXI HL, ТК+1 |
Вызываем число 30 |
4 |
|
|
5 |
|
|
6 |
MOV A, m |
Запись в аккумулятор из памяти |
7 |
CMP B |
Сравнение с RGB |
8 |
JZ ПМ3+55 |
Переход по «равно нулю» |
9 |
|
|
ПМ3+50 |
|
|
1 |
CMP B |
Сравнение с RGB |
2 |
JNZ ПМ3+61 |
Переход по «не равно нулю» |
3 |
|
|
4 |
|
|
5 |
CALL ПМZd |
Вызов ПМZd |
6 |
|
|
7 |
|
|
8 |
JMP ПМ3+0 |
Безусловный переход |
9 |
|
|
ПМ3+60 |
|
|
1 |
CMP B |
Сравнение с RGB |
2 |
JM ПМ3+78 |
Переход по «меньше нуля» |
3 |
|
|
4 |
|
|
5 |
CMP B |
Сравнение с RGB |
6 |
JP ПМ3+72 |
Переход по «больше нуля» |
7 |
|
|
8 |
|
|
9 |
NOP |
|
ПМ3+70 |
NOP |
|
1 |
NOP |
|
2 |
CALL ПМZd |
Вызов ПМZd |
3 |
|
|
4 |
|
|
5 |
JMP ПМ3+0 |
Безусловный переход |
6 |
|
|
7 |
|
|
8 |
MVI A2, 1 |
Запись в порт A2 1 |
9 |
|
|
ПМ3+80 |
OUT A2 |
Вывезти А2 |
1 |
MVI C, 1 |
Запись в RGC 1 |
2 |
RET |
|
ПМ4
ПМ4+0 |
CALL ПМDt |
Вызов ПМDt |
1 |
|
|
2 |
|
|
3 |
LXI LH, ТК+0 |
Вызываем число 20 |
4 |
|
|
5 |
|
|
6 |
MOV A, m |
Запись в аккумулятор из памяти |
7 |
CMP B |
Сравнение с RGB |
8 |
JZ ПМ3+15 |
Переход по «равно нулю» |
9 |
|
|
ПМ4+10 |
|
|
1 |
CMP B |
Сравнение с RGB |
2 |
JNZ ПМ3+24 |
Переход по «не равно нулю» |
3 |
|
|
4 |
|
|
5 |
CALL ПМZd |
Вызов ПМZd |
6 |
|
|
7 |
|
|
8 |
JMP ПМ3+0 |
Безусловный переход |
9 |
|
|
ПМ4+20 |
|
|
1 |
NOP |
|
2 |
NOP |
|
3 |
NOP |
|
4 |
CMP B |
Сравнить с RGB |
5 |
JM ПМ3+43 |
Переход по «меньше нулю» |
6 |
|
|
7 |
|
|
8 |
CMP B |
Сравнение с RGB |
9 |
JP ПМ3+32 |
Переход по «больше нулю» |
ПМ4+30 |
|
|
1 |
|
|
2 |
MVI B2, 0 |
Запись в порт B2 0 |
3 |
|
|
4 |
OUT B2 |
Вывезти B2 |
5 |
MVI C, 0 |
Запись в RGC 0 |
6 |
|
|
7 |
JMP ПМ3+89 |
Безусловный переход |
8 |
|
|
9 |
|
|
ПМ3+40 |
NOP |
|
1 |
NOP |
|
2 |
NOP |
|
3 |
LXI HL, ТК+1 |
Вызываем число 30 |
4 |
|
|
5 |
|
|
6 |
MOV A, m |
Запись в аккумулятор из памяти |
7 |
CMP B |
Сравнение с RGB |
8 |
JZ ПМ3+55 |
Переход по «равно нулю» |
9 |
|
|
ПМ3+50 |
|
|
1 |
CMP B |
Сравнение с RGB |
2 |
JNZ ПМ3+61 |
Переход по «не равно нулю» |
3 |
|
|
4 |
|
|
5 |
CALL ПМZd |
Вызов ПМZd |
6 |
|
|
7 |
|
|
8 |
JMP ПМ3+0 |
Безусловный переход |
9 |
|
|
ПМ3+60 |
|
|
1 |
CMP B |
Сравнение с RGB |
2 |
JM ПМ3+78 |
Переход по «меньше нуля» |
3 |
|
|
4 |
|
|
5 |
CMP B |
Сравнение с RGB |
6 |
JP ПМ3+72 |
Переход по «больше нуля» |
7 |
|
|
8 |
|
|
9 |
NOP |
|
ПМ3+70 |
NOP |
|
1 |
NOP |
|
2 |
CALL ПМZd |
Вызов ПМZd |
3 |
|
|
4 |
|
|
5 |
JMP ПМ3+0 |
Безусловный переход |
6 |
|
|
7 |
|
|
8 |
MVI B2, 1 |
Запись в порт B2 1 |
9 |
|
|
ПМ3+80 |
OUT B2 |
Вывезти B2 |
1 |
MVI C, 1 |
Запись в RGC 1 |
2 |
RET |
|
ПМZd
ПМZd+0 |
MVI E, 008 |
Обнуление RGE |
1 |
|
|
2 |
INR E |
Прибавление к RGE 1 |
3 |
MOV A, E |
Запись в аккумулятор RGE |
4 |
CPI FF8 |
Сравнение с 255 |
5 |
|
|
6 |
JP ПМZd+20 |
Переход по «больше нулю» |
7 |
|
|
8 |
|
|
9 |
CPI FF8 |
Сравнение с 255 |
ПМZd+10 |
|
|
1 |
JM ПМZd+17 |
Переход по «меньше нулю» |
2 |
|
|
3 |
|
|
4 |
NOP |
|
5 |
NOP |
|
6 |
NOP |
|
7 |
MVI E, 008 |
Обнуление RGE |
8 |
|
|
9 |
INR E |
Прибавление к RGE1 |
ПМZd+20 |
MOV A, E |
Запись в аккумулятор RGE |
1 |
CPI FF8 |
Сравнение с 255 |
2 |
|
|
3 |
JP ПМZd+34 |
Переход по «больше нулю» |
4 |
|
|
5 |
|
|
6 |
CPI FF8 |
Сравнение с 255 |
7 |
|
|
8 |
JM ПМZd+19 |
Переход по «меньше нулю» |
9 |
|
|
ПМZd+30 |
|
|
1 |
NOP |
|
2 |
NOP |
|
3 |
NOP |
|
4 |
MVI E, 008 |
Обнуление RGE |
5 |
|
|
6 |
INR E |
Прибавление к RGE 1 |
7 |
MOV A, E |
Запись в аккумулятор RGE |
8 |
CPI FF8 |
Сравнение с 255 |
9 |
|
|
ПМZd+40 |
JP ПМZd+49 |
Переход по «больше нулю» |
1 |
|
|
2 |
|
|
3 |
CPI FF8 |
Сравнение с 255 |
4 |
|
|
5 |
JM ПМZd+36 |
Переход по «меньше нулю» |
6 |
|
|
7 |
|
|
8 |
RET |
|
