- •Структурная схема алгоритма
- •1.Введение
- •2.Постановка задачи
- •3.Структура входных и выходных данных
- •Блок переключения передач
- •Датчик оборотов
- •Включение мпс
- •4.2 Структурная схема всех программных модулей
- •4.3.Функциональные схемы всех программных модулей
- •4.Программное спо
- •4.1 Структурные схемы алгоритма
- •4.4. Распределение памяти в условных адресатах
- •4.5. Принципиальные схемы всех программных модулей в условных адресатах
- •4.6.Распределение памяти в действительных адресатах
- •4.7.Принципиальные схемы всех программных модулей в действительных адресатах
- •5.Разработка и описание структурной схемы мпс
- •6.Разработка и описание функциональной схемы мпс
- •7. Временные диаграммы для команд
4.6.Распределение памяти в действительных адресатах
СТЭК |
0000 ÷ 0009 |
ПЗУ |
0010 ÷ 0019 |
ГПМ |
0020 ÷ 0079 |
ПМ1 |
0080 ÷ 0109 |
ПМVk |
0110 ÷ 0129 |
ПМDt |
0130 ÷ 139 |
ПМ2 |
0140 ÷ 0189 |
ПМ3 |
0190 ÷ 0279 |
ПМ4 |
0280 ÷ 0369 |
ПМZd |
0369 ÷ 0419 |
4.7.Принципиальные схемы всех программных модулей в действительных адресатах
СТЭК
0000 |
|
|
0001 |
|
|
0002 |
|
|
0003 |
|
|
0004 |
|
|
0005 |
|
|
0006 |
|
|
0007 |
|
|
0008 |
|
|
0009 |
|
|
ТК
0010 |
20 |
Равняется 2т об/мин |
0011 |
30 |
Равняется 2т об/мин |
0012 |
NOP |
|
0013 |
NOP |
|
0014 |
NOP |
|
0015 |
NOP |
|
0016 |
NOP |
|
0017 |
NOP |
|
0018 |
NOP |
|
0019 |
NOP |
|
ГПМ
0020 |
OUT 998 |
Задание режима интерфейсу 1 |
0021 |
|
|
0022 |
OUT A48 |
Задание режима интерфейсу 2 |
0023 |
|
|
0024 |
CALL ПМ1+0 |
Вызов ПМ1 |
0025 |
|
|
0026 |
|
|
0027 |
CALL ПМZd+0 |
Вызов задержки |
0028 |
|
|
0029 |
|
|
0030 |
CALL ПМ2+0 |
Вызов ПМ2 |
0031 |
|
|
0032 |
|
|
0033 |
MOV A, D |
Запись в аккумулятор RG D |
0034 |
CPI 018 |
Сравнение с 1 |
0035 |
|
|
0036 |
JZ ГПМ+22 |
Переход по «равно нулю» |
0037 |
|
|
0038 |
|
|
0039 |
CPI 018 |
Сравнение с 1 |
0040 |
|
|
0041 |
JNZ ГПМ+59 |
Переход по «не равно нулю» |
0042 |
|
|
0043 |
|
|
0044 |
CALL ПМZd+0 |
Вызова ПМZd |
0045 |
|
|
0046 |
|
|
0047 |
CALL ПМ3+0 |
Вызов ПМ3 |
0048 |
|
|
0049 |
|
|
0050 |
MOV A,C |
Запись в аккумулятор значения RG C |
0051 |
CPI 018 |
Сравнение с 1 |
0052 |
|
|
0053 |
NOP |
|
0054 |
JZ ГПM+40 |
Переход по «равно нулю» |
0055 |
|
|
0056 |
|
|
0057 |
CPI 018 |
Сравнение с 1 |
0058 |
|
|
0059 |
JNZ ГПМ+3 |
Переход по «не равно нулю» |
0060 |
|
|
0061 |
|
|
0062 |
CALL ПМZd+0 |
Вызов ПМZd |
0063 |
|
|
0064 |
|
|
0065 |
CALL ПМ4+0 |
Вызов ПМ4 |
0066 |
|
|
0067 |
|
|
0068 |
MOV A,C |
Запись в аккумулятор значения RG C |
0069 |
CPI 018 |
Сравнение с 1 |
0070 |
|
|
0071 |
JZ ГПМ+40 |
Переход «по равно нулю» |
0072 |
|
|
0073 |
|
|
0074 |
CPI 018 |
Сравнение с 1 |
0075 |
|
|
0076 |
JNZ ГПМ +22 |
Переход по «не равному нулю» |
0077 |
|
|
0078 |
|
|
0079 |
HTL |
Конец |
ПМ1
0080 |
IN PORT C1 |
Сигнал с порта С1 |
0081 |
CPI 018 |
Сравнение с 1 |
0082 |
|
|
0083 |
JZ ПМ1+21 |
Переход по «равно нулю» |
0084 |
|
|
0085 |
|
|
0086 |
CPI 018 |
Сравнение с 1 |
0087 |
|
|
0088 |
JNZ ПМ1+11 |
Переход по «не равно нулю» |
0089 |
|
|
0090 |
|
|
0091 |
MVI D, 008 |
Записываем в RGD 0 |
0092 |
|
|
0093 |
CALL ПМZd+0 |
Вызов ПМZd |
0094 |
|
|
0095 |
|
|
0096 |
NOP |
|
0097 |
NOP |
|
0098 |
JMP ПМ1+0 |
Безусловный переход |
0099 |
|
|
0100 |
|
|
0101 |
MVI D, 018 |
Записываем в RGD 1 |
0102 |
|
|
0103 |
NOP |
|
0104 |
NOP |
|
0105 |
NOP |
|
0106 |
NOP |
|
0107 |
NOP |
|
0108 |
NOP |
|
0109 |
RET |
Возврат к ГПМ |
ПМVk
0110 |
IN PORT C1 |
Сигнал с порта С1 |
0111 |
CPI 018 |
Сравнение с 1 |
0112 |
|
|
0113 |
JZ ПМVk+11 |
Переход по «равно нулю» |
0114 |
|
|
0115 |
|
|
0116 |
CPI 018 |
Сравнение с 1 |
0117 |
|
|
0118 |
JNZ ПМVk+16 |
Переход по «не равно нулю» |
0119 |
|
|
0120 |
|
|
0121 |
MVI D, 018 |
Запись в RGD 1 |
0122 |
|
|
0123 |
JMP ПМVk+19 |
Безусловный переход |
0124 |
|
|
0125 |
|
|
0126 |
MVI D, 008 |
Запись в RGD 0 |
0127 |
|
|
0128 |
NOP |
|
0129 |
RET |
Возврат к ПМ2 (вышестоящему ПМ) |
ПМDt
0130 |
IN PORT A1 |
Данные с порта А1 |
0131 |
MOV B, A |
Запись в аккумулятор RGB |
0132 |
NOP |
|
0133 |
NOP |
|
0134 |
NOP |
|
0135 |
NOP |
|
0136 |
NOP |
|
0137 |
NOP |
|
0138 |
NOP |
|
0139 |
RET |
Возврат к ГПМ (или вышестоящей ПМ) |
ПМ2
0140 |
CALL ПМVK+0 |
Вызов ПМVK |
0141 |
MOV A, D |
Запись в аккумулятор RGD |
0142 |
CPI 018 |
Сравнение с 1 |
0143 |
|
|
0144 |
JZ ПМ2+14 |
Переход по «равно нулю» |
0145 |
|
|
0146 |
|
|
0147 |
CPI 018 |
Сравнение с 1 |
0148 |
|
|
0149 |
JNZ ПМ2+ 49 |
Переход по «не равно нулю» |
0150 |
|
|
0151 |
|
|
0152 |
NOP |
|
0153 |
NOP |
|
0154 |
CALL ПМDt+0 |
Вызов ПМDt |
0155 |
LXI HL ТК+1 |
Вызываем число 30 |
0156 |
|
|
0157 |
|
|
0158 |
MOV A, m |
Запись в аккумулятор из памяти |
0159 |
CMP B |
Сравнение с RGB |
0160 |
JZ ПМ2+28 |
Переход по «равно нулю» |
0161 |
|
|
0162 |
|
|
0163 |
CMP B |
Сравнение с RGB |
0164 |
JNZ ПМ2+32 |
Переход по «не равно нулю» |
0165 |
|
|
0166 |
|
|
0167 |
NOP |
|
0168 |
CALL ПМZd+0 |
Вызов ПМZd |
0169 |
JMP+0 |
Безусловный переход |
0170 |
|
|
0171 |
|
|
0172 |
CMP B |
Сравнение с RGB |
0173 |
JM ПМ2+44 |
Переход по «меньше нуля» |
0174 |
|
|
0175 |
|
|
0176 |
CMP B |
Сравнение с B |
0177 |
JP ПМ2+40 |
Переход по «больше нуля» |
0178 |
|
|
0179 |
|
|
0180 |
CALL ПМZd+0 |
Вызов ПМZd |
0181 |
JMP ПМ2+0 |
Безусловный переход |
0182 |
|
|
0183 |
|
|
0184 |
MVI B1, 018 |
Запись в В1 1 |
0185 |
|
|
0186 |
OUT PORT B1 |
Вывезти с В1 |
0187 |
NOP |
|
0188 |
NOP |
|
0189 |
RET |
Возврат к ГПМ |
ПМ3
0190 |
CALL ПМDt |
Вызов ПМDt |
0191 |
|
|
0192 |
|
|
0193 |
LXI LH, ТК+0 |
Вызываем число 20 |
0194 |
|
|
0195 |
|
|
0196 |
MOV A, m |
Запись в аккумулятор из памяти |
0197 |
CMP B |
Сравнение с RGB |
0198 |
JZ ПМ3+15 |
Переход по «равно нулю» |
0199 |
|
|
0200 |
|
|
0201 |
CMP B |
Сравнение с RGB |
0202 |
JNZ ПМ3+24 |
Переход по «не равно нулю» |
0203 |
|
|
0204 |
|
|
0205 |
CALL ПМZd |
Вызов ПМZd |
0206 |
|
|
0207 |
|
|
0208 |
JMP ПМ3+0 |
Безусловный переход |
0209 |
|
|
0210 |
|
|
0211 |
NOP |
|
0212 |
NOP |
|
0213 |
NOP |
|
0214 |
CMP B |
Сравнить с RGB |
0215 |
JM ПМ3+43 |
Переход по «меньше нулю» |
0216 |
|
|
0217 |
|
|
0218 |
CMP B |
Сравнение с RGB |
0219 |
JP ПМ3+32 |
Переход по «больше нулю» |
0220 |
|
|
0221 |
|
|
0222 |
MVI A2, 0 |
Запись в порт А2 0 |
0223 |
|
|
0224 |
OUT A2 |
Вывезти А2 |
0225 |
MVI C, 0 |
Запись в RGC 0 |
0226 |
|
|
0227 |
JMP ПМ3+89 |
Безусловный переход |
0228 |
|
|
0229 |
|
|
0230 |
NOP |
|
0231 |
NOP |
|
0232 |
NOP |
|
0233 |
LXI HL, ТК+1 |
Вызываем число 30 |
0234 |
|
|
0235 |
|
|
0236 |
MOV A, m |
Запись в аккумулятор из памяти |
0237 |
CMP B |
Сравнение с RGB |
0238 |
JZ ПМ3+55 |
Переход по «равно нулю» |
0239 |
|
|
0240 |
|
|
0241 |
CMP B |
Сравнение с RGB |
0242 |
JNZ ПМ3+61 |
Переход по «не равно нулю» |
0243 |
|
|
0244 |
|
|
0245 |
CALL ПМZd |
Вызов ПМZd |
0246 |
|
|
0247 |
|
|
0248 |
JMP ПМ3+0 |
Безусловный переход |
0249 |
|
|
0250 |
|
|
0251 |
CMP B |
Сравнение с RGB |
0252 |
JM ПМ3+78 |
Переход по «меньше нуля» |
0253 |
|
|
0254 |
|
|
0255 |
CMP B |
Сравнение с RGB |
0256 |
JP ПМ3+72 |
Переход по «больше нуля» |
0257 |
|
|
0258 |
|
|
0259 |
NOP |
|
0260 |
NOP |
|
0261 |
NOP |
|
0262 |
CALL ПМZd |
Вызов ПМZd |
0263 |
|
|
0264 |
|
|
0265 |
JMP ПМ3+0 |
Безусловный переход |
0266 |
|
|
0267 |
|
|
0268 |
MVI A2, 1 |
Запись в порт A2 1 |
0269 |
|
|
0270 |
OUT A2 |
Вывезти А2 |
0271 |
MVI C, 1 |
Запись в RGC 1 |
0272 |
|
|
0273 |
NOP |
|
0274 |
NOP |
|
0275 |
NOP |
|
0276 |
NOP |
|
0277 |
NOP |
|
0278 |
NOP |
|
0279 |
RET |
|
ПМ4
0280 |
CALL ПМDt |
Вызов ПМDt |
0281 |
|
|
0282 |
|
|
0283 |
LXI LH, ТК+0 |
Вызываем число 20 |
0284 |
|
|
0285 |
|
|
0286 |
MOV A, m |
Запись в аккумулятор из памяти |
0287 |
CMP B |
Сравнение с RGB |
0288 |
JZ ПМ3+15 |
Переход по «равно нулю» |
0289 |
|
|
0290 |
|
|
0291 |
CMP B |
Сравнение с RGB |
0292 |
JNZ ПМ3+24 |
Переход по «не равно нулю» |
0293 |
|
|
0294 |
|
|
0295 |
CALL ПМZd |
Вызов ПМZd |
0296 |
|
|
0297 |
|
|
0298 |
JMP ПМ3+0 |
Безусловный переход |
0299 |
|
|
0300 |
|
|
0301 |
NOP |
|
0302 |
NOP |
|
0303 |
NOP |
|
0304 |
CMP B |
Сравнить с RGB |
0305 |
JM ПМ3+43 |
Переход по «меньше нулю» |
0306 |
|
|
0307 |
|
|
0308 |
CMP B |
Сравнение с RGB |
0309 |
JP ПМ3+32 |
Переход по «больше нулю» |
0310 |
|
|
0311 |
|
|
0312 |
MVI B2, 0 |
Запись в порт B2 0 |
0313 |
|
|
0314 |
OUT B2 |
Вывезти B2 |
0315 |
MVI C, 0 |
Запись в RGC 0 |
0316 |
|
|
0317 |
JMP ПМ3+89 |
Безусловный переход |
0318 |
|
|
0319 |
|
|
0320 |
NOP |
|
0321 |
NOP |
|
0322 |
NOP |
|
0323 |
LXI HL, ТК+1 |
Вызываем число 30 |
0324 |
|
|
0325 |
|
|
0326 |
MOV A, m |
Запись в аккумулятор из памяти |
0327 |
CMP B |
Сравнение с RGB |
0328 |
JZ ПМ3+55 |
Переход по «равно нулю» |
0329 |
|
|
0330 |
|
|
0331 |
CMP B |
Сравнение с RGB |
0332 |
JNZ ПМ3+61 |
Переход по «не равно нулю» |
0333 |
|
|
0334 |
|
|
0335 |
CALL ПМZd |
Вызов ПМZd |
0336 |
|
|
0337 |
|
|
0338 |
JMP ПМ3+0 |
Безусловный переход |
0339 |
|
|
0340 |
|
|
0341 |
CMP B |
Сравнение с RGB |
0342 |
JM ПМ3+78 |
Переход по «меньше нуля» |
0343 |
|
|
0344 |
|
|
0345 |
CMP B |
Сравнение с RGB |
0346 |
JP ПМ3+72 |
Переход по «больше нуля» |
0347 |
|
|
0348 |
|
|
0349 |
NOP |
|
0350 |
NOP |
|
0351 |
NOP |
|
0352 |
CALL ПМZd |
Вызов ПМZd |
0353 |
|
|
0354 |
|
|
0355 |
JMP ПМ3+0 |
Безусловный переход |
0356 |
|
|
0357 |
|
|
0358 |
MVI B2, 1 |
Запись в порт B2 1 |
0359 |
|
|
0360 |
OUT B2 |
Вывезти B2 |
0361 |
MVI C, 1 |
Запись в RGC 1 |
0362 |
|
|
0363 |
NOP |
|
0364 |
NOP |
|
0365 |
NOP |
|
0366 |
NOP |
|
0367 |
NOP |
|
0368 |
NOP |
|
0369 |
RET |
|
ПМZd
0370 |
MVI E, 008 |
Обнуление RGE |
0372 |
|
|
0373 |
INR E |
Прибавление к RGE 1 |
0374 |
MOV A, E |
Запись в аккумулятор RGE |
0375 |
CPI FF8 |
Сравнение с 255 |
0376 |
|
|
0377 |
JP ПМZd+20 |
Переход по «больше нулю» |
0378 |
|
|
0379 |
|
|
0380 |
CPI FF8 |
Сравнение с 255 |
0381 |
|
|
0382 |
JM ПМZd+17 |
Переход по «меньше нулю» |
0383 |
|
|
0384 |
|
|
0385 |
NOP |
|
0386 |
NOP |
|
0387 |
NOP |
|
0388 |
MVI E, 008 |
Обнуление RGE |
0389 |
|
|
0390 |
INR E |
Прибавление к RGE1 |
0391 |
MOV A, E |
Запись в аккумулятор RGE |
0392 |
CPI FF8 |
Сравнение с 255 |
0393 |
|
|
0394 |
JP ПМZd+34 |
Переход по «больше нулю» |
0395 |
|
|
0396 |
|
|
0397 |
CPI FF8 |
Сравнение с 255 |
0398 |
|
|
0399 |
JM ПМZd+19 |
Переход по «меньше нулю» |
0400 |
|
|
0401 |
|
|
0402 |
NOP |
|
0403 |
NOP |
|
0404 |
NOP |
|
0405 |
MVI E, 008 |
Обнуление RGE |
0405 |
|
|
0406 |
INR E |
Прибавление к RGE 1 |
0407 |
MOV A, E |
Запись в аккумулятор RGE |
0408 |
CPI FF8 |
Сравнение с 255 |
0409 |
|
|
0410 |
JP ПМZd+49 |
Переход по «больше нулю» |
0411 |
|
|
0412 |
|
|
0413 |
CPI FF8 |
Сравнение с 255 |
0414 |
|
|
0415 |
JM ПМZd+36 |
Переход по «меньше нулю» |
0416 |
|
|
0417 |
|
|
0418 |
NOP |
|
0419 |
RET |
|
