Устройство для управления системой очистки лобового стекла автомобиля, страница 20

 61                     ;

 62                     ;!!!----------------------------------Останов--------------------------------!!!

 63                     ;

 64  0837   C3 07 08              jmp   circl           ; Останов - новая программа

 65                     ;

 66                     ;!!!-------------включение со скоростью 30 движений в минуту-----------!!!

 67                     ;

 68  083A   16 1E       set:                mvi   d,30            ; запись в регистр d количества движений

 69  083C   DB 82       reti:              in      portc          ; опрос клавиатуры

 70  083E   E6 10                   ani     kodkl4        ; нажато 4?

 71  0840   CA 6B 08                      jz       dvigai                   ; если нет, то выполнение программы в обычном режиме

 72                     ;

 73  0843   0E FA                   mvi   c,povdr               ;          загрузка количества повторов при защите от дребезга

 74                     ;                             защита от дребезга при нажатии

 75  0845   0D          povt7:             dcr    c                 ;        да, нажато, уменьшение счетчика повторов при защите от дребезга

 76  0846   C2 45 08              jnz     povt7                   ;        дребезг еще не окончен

 77                     ;           дребезг при нажатии окончен

 78                     ;       сохранение кода нажатой клавиши

 79  0849   DB 82                   in      portc          ;        чтение кода нажатой клавиши                                 

 80  084B   5F                        mov  e,a              ;        сохранение аккумулятора

 81  084C   0E FA       reset7:          mvi   c,povdr               ;          ожидание отпускания клавиши   

 82  084E   DB 82       povt8:         in        portc           ;       опрос клавиатуры

 83  0850   A7                        ana    a                 ;        ни одна клавиша не нажата ?

 84  0851   C2 4C 08              jnz     reset7                 ;          нет, что-то нажато

 85                     ;                             защита от дребезга при отпускании клавиши

 86  0854   0D                        dcr    c                 ;        ничего не нажато, уменьшение счетчика при защ. от дребезга

 87  0855   C2 4E 08              jnz     povt8                   ;        дребезг еще не окончен                                  

 88  0858   7B                        mov  a,e              ;        сохранение аккумулятора

 89                     ;

 90                     ;

 91  0859   CD 89 08                       call    sec              ; вызов подпрограммы задержки на 1 секунду

 92  085C   3E 0D                  mvi   a,0dh         

 93  085E   D3 80                   out    porta          ; вывод на индикацию левого положения дворника

 94  0860   CD 89 08                       call    sec             

 95  0863   3E 61                    mvi   a,61h          ; вывод на индикацию правого положения дворника

 96  0865   D3 80                   out    porta

 97  0867   15                         dcr    d                 ; уменьшение счетчика количества движений

 98  0868   C2 3C 08              jnz     reti              ; пока d<>0, цикл продолжается, но если кнопка 4 нажата в это время

 99                     ;

100                     ;

101  086B   CD 89 08    dvigai:                call    sec              ; вызов подпрограммы задержки на 1 секунду

102  086E   3E 0C                  mvi   a,0ch         

103  0870   D3 80                  out    porta          ; вывод на индикацию левого положения дворника

104  0872   CD 89 08                      call    sec