Устройство управления шаговым двигателем, страница 2


                                                                                           нет

                                                          да

Блок-схема: данные: Вывод
 


Блок-схема: знак завершения: инициализацияДетализация шаг 2.

 


3. Листинг программы.

; Программа  “Устройство управления каскадом из двух последовательных шлюзов”

; Выполняемые функции:

; нажатие клавиши 0- автоматическая проводка по фиксированной временной программе слева направо,

; нажатие клавиши 3- ручная проводка справа налево.

; Исходное состояние – шлюзы закрыты.

;

porta equ    80h                                ;

portb equ    81h                                ;

portc equ    82h                                ;

porcrl         equ    83h                                ;

pov   equ    9238                              ;кол-во повторов задержки времени

povdr         equ    100                               ;кол-во повторов при дребезге

kodkl equ    9h              

         org    800h                             ;0.1   

          mvi   a,89h                            

         out    porcrl                           

         lxi     sp,900h                        ;0.2

         mvi   b,0

         mvi   e,0

         mvi   d,1

          mvi     a,0ECh                                                   

         out    porta                   

         out    portb

circl:  mvi   c,povdr                         ;ожидание нажатия клавиши

rept:  in      portc                   

         ani     kodkl                  

         jz       circl                     

         dcr    c                          

         jnz     rept                     

         in      portc                   

         lxi     h,klav                           

         mov  m,a                               

reset1: mvi   c,povdr                         ;защита от дребезга    

rept1:  in      portc                            

         ana    a

         jnz     reset1

         dcr    c

         jnz     rept1         

          lxi     h,klav                                              

          mov  a,m                     

         cpi     1h

         jz       pusk0                 

pusk3: lxi      h,flag                           

         mov  a,m                     

          cpi      0h

         jnz     ind

         mvi   a,8ch                             ;откроем ворота

          out    portb

         lxi      h,flag                           

         mvi   m,1h

         jmp   circl

ind:   cpi     1h

         jnz     ind1

         mvi   a,8eh                             ;заходит корабль        

          out    portb

         lxi      h,flag                           

         mvi   m,2h

         jmp   circl

ind1: cpi     2h

         jnz     ind2

         mvi   a,0eeh                                     ;закрываем ворота