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

                            jnz     reset1                 ; нет, что-то нажато

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

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

                            jnz     povt1                   ; дребезг еще не окончен                                                             

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

;

;!!!-------------------------------------анализ нажатой клавиши--------------!!!

                            cpi     kodkl4        ; нажата клавиша 4?

                            jnz     dalee           ; если клавиша 4 не нажата, то dalee               

                            jmp   moika                  ; 4 нажата, включаем или отключаем стеклоомыватель

dalee:                   cpi     kodkl0        ; нажата клавиша 0?

                            jnz     set              ; если клавиша 0 не нажата, то 2

;

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

;

                            jmp   circl           ; Останов - новая программа

;

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

;

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

reti:                      in      portc          ; опрос клавиатуры

                            ani     kodkl4        ; нажато 4?

                            jz       dvigai                   ; если нет, то выполнение программы в обычном режиме

;

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

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

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

                            jnz     povt7                   ;        дребезг еще не окончен

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

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

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

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

reset7:                  mvi   c,povdr       ;       ожидание отпускания клавиши    

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

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

                            jnz     reset7                 ;          нет, что-то нажато

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

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

                            jnz     povt8                   ;        дребезг еще не окончен                                                      

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

;

;

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

                            mvi   a,0dh         

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

                            call    sec             

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

                            out    porta

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