- •Введение
- •Постановка задачи
- •1 Выбор и обоснование структурной схемы
- •Разработка алгоритма функционирования мк
- •Окончание работы? (10)
- •Разработка принципиальных электрических схем блоков
- •3.1 Микропроцессорный блок
- •3.2 Блок памяти
- •3.4 Интерфейсный блок
- •3.3 Блок ввода аналоговых данных
- •3.5 Блок отображения и вывода информации
- •4 Разработка принципиальной электрической схемы мк
- •Разработка программного обеспечения
- •Заключение
- •Список литературы
- •Приложение a.
- •Ввод данных с ацп
- •Mvi a, 00000000b запуск ацп;
- •Mvi a, 00000001b остановить преобразование в ацп;
- •Арифметические вычисления
- •Деление аккумулятора а на значение в l
- •Преобразование к семиразрядному числу
- •Вывод результата на цап и индикаторы
- •Преобразование в двоично-десятичный код
- •Вывод на индикаторы
- •Подпрограмма деления
Вывод результата на цап и индикаторы
out 12h отправить результат в ЦАП
Преобразование в двоично-десятичный код
mvi b, 0 обнулить счётчик сотен;
mov d, b обнулить счётчик десятков;
M100:
sui 100D вычесть из результата 100;
jm Exit100 если результат < 0 – выйти из цикла;
inr b иначе – прибавить 1 к счётчику сотен;
jmp M100 продолжить цикл;
Exit100:
adi 100D
M10:
sui 10D вычесть из результата 10;
jm Exit10 если результат < 0 – выйти из цикла;
inr d иначе – прибавить 1 к счётчику десятков;
jmp M10 продолжить цикл;
Exit10:
adi 10D
ani 00001111B очистить старшие 4 бита аккумулятора;
mov e, a запомнить в Е;
mov a, d загрузить в А счётчик десятков;
rlc
rlc
rlc
rlc сдвинуть влево на 4 бита;
mov d, a вернуть в D ;
mov a, e восстановить единицы;
ora d получить двоично-десятичный результат;
Вывод на индикаторы
out 10h
mov a, b
out 11h
jmp Begin
Подпрограмма деления
Div:
lxi h, 8 счётчик бит;
mvi c, 0 сброс регистра остатков;
Next:
mov a, e сдвиг делимого;
ral влево;
mov e, a на один бит;
mov a, c сдвиг остатка;
ral влево на один бит;
sub d вычитание делителя;
jnc NoAddition остаток положительный;
add d восстановление положительного остатка
NoAddition:
mov c, a запоминание остатка;
cmc образование бита частного;
mov a, h запоминание;
ral очередной;
mov h, a цифры частного;
dcr l декремент счётчика бит;
jnz Next повторять;
mov a, h сохранить результат в аккумуляторе;
ret выйти из подпрограммы;









Изм.
Лист
№ докум.
Подпись
Дата
Лист
ФТФ 6.090804.06 ПЗ
