Расчет постоянной времени задержки.
ОД= 17+7+2×5+2×10+10
МН= 2×(11+10+7+7+10+10+10+7+10+5+5+4+10)
ОД+МН×t = 2×2.22×1000000
t=39214
Объектный файл программы представлен в Приложении.
Листинг программы
Кросс-ассемблер 80/85 ### Файл листинга Kelt.lst
Входной файл > Kelt.asm
Объектный файл > Kelt.obj
1 проход
2 проход
1 porta equ 80h
2 portb equ 81h
3 portc equ 82h
4 portdev equ 83h
5 repdr equ 254
6 keycod equ 18
7 delay equ 39214
8 org 800h ; стартовый адрес программы в ОЗУ стенда
9 0800 31 90 09 lxi sp,990h ; инициализация указателя стека
10 0803 3E 89 mvi a,89h ; загрузка управляющего байта внешних устройств
11 0805 D3 83 out portdev
12 0807 3E 00 mvi a,0
13 0809 D3 80 out porta
14 080B D3 81 out portb
15 080D 16 0A mvi d,10 ;инициализация эталона секунд и
16 080F 06 00 mvi b,0 ;режима счета-0:обычный режим,1-ускоренный
17 0811 0E FE strt: mvi c,repdr
18 0813 DB 82 dreb: in portc ;защита от дребезга при нажатии
19 0815 E6 12 ani keycod
20 0817 CA 11 08 jz strt
21 081A 0D dcr c
22 081B C2 13 08 jnz dreb
23 081E DB 82 in portc
24 0820 21 C5 08 lxi h,key
25 0823 77 mov m,a ;сохранение кода считанной клавиши в памяти
26 0824 0E FE dreb1: mvi c,repdr
27 0826 DB 82 dreb2: in portc ;защита от дребезга при отпускании
28 0828 A7 ana a
29 0829 C2 24 08 jnz dreb1
30 082C 0D dcr c
31 082D C2 26 08 jnz dreb2
32 0830 21 C5 08 lxi h,key
33 0833 7E mov a,m
34 0834 FE 10 cpi 16 ;анализ кода считанной клавиши-смена режима или запуск
35 0836 C2 3F 08 jnz strt1
36 0839 CD 70 08 call regim
37 083C C3 11 08 jmp strt
38 083F 3E 00 strt1: mvi a,0 ;включение первого двигателя
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.