           ;CYKLOVAC STERACU VERZE1    18.00.28.01.2000 
POMOC1: DS      01H             ;STAV CHODUCYKLOVACE 
POMOC2: DS      01H             ;NASTAVOVACI SEKVENCE 
POMOC3: DS      01H             ;CITAC 
POMOC4: DS      01H             ;ODECET CYKLU
TIME1:  DS      01H             ;CASOVA ZAKLADNA 
TIME2:  DS      01H             ;CASOVA ZAKLADNA 
MEZERA: DS      01H             ;CAS MEZERY 
SEPNUT: DS      01H             ;CAS SEPNUTI 
VSTUP   BIT     P3.0            ;VSTUP 
        RELE    BIT     P3.1            ;VYSTUP 
        LED1    BIT     P3.2            ;SIGNALKA SET
		LED2    BIT     P3.3            ;SIGNALKA CHOD 
        I01     BIT     P3.5            ;INTERVAL 01 
        I02     BIT     P3.7            ;INTERVAL 02 
        I03     BIT     P3.4            ;INTERVAL 03 
        I04     BIT     P0.0            ;INTERVAL 04 
        I05     BIT     P0.1            ;INTERVAL 05 
        I06     BIT     P0.2            ;INTERVAL 06 
        I07     BIT     P0.3            ;INTERVAL 07 
        I08     BIT     P0.4            ;INTERVAL 08 
        I09     BIT     P0.5            ;INTERVAL 09 
        I10     BIT     P0.6            ;INTERVAL 10 
        I11     BIT     P0.7            ;INTERVAL 11 
   
        & nbsp;   ORG     0000H 
RESET:  MOV     R0,#07FH 
X:      MOV     @R0,#0 
        DJNZ    R0,X 
		JMP     START 
        & nbsp;   ORG     000BH 
        LJMP    PRERUSE 
   
START:  MOV     TMOD,#02H 
        SETB    EA 
        SETB    ET0 
        SETB    TR0 
        MOV     MEZERA,#12D     ;PREDNASTAVENO 6S 
        MOV     SEPNUT,#3D      ;PREDNASTAVENO 1.5S 
        CLR     RELE 
        CLR     LED1 
        CLR     LED2 
        MOV     PSW,#18H 
START1: MOV     SP,#07H 
   
            ;IDIKACE STAVU LED VYSTUPY 
   
        MOV     A,POMOC2 
        CJNE    A,#1D,L0 
        SETB    LED1 
        JMP     L00 
L0:     CLR     LED1 
L00:    MOV     A,POMOC1 
        CJNE    A,#3D,L1 
        SETB    LED2 
        JMP     L3 
L1:     CJNE    A,#4D,L2 
        SETB    LED2  
        JMP     L3 
L2:     CLR     LED2 

          ;TEST POLOHY SPIN PREDNASTAVENYCH INTERVALU 
  
L3:     JNB     VSTUP,LL 
        CLR     RELE 
        JMP     C0 
LL:     LJMP    L 
C0:     JB      I01,C1 
        MOV     POMOC1,#7D  
        MOV     MEZERA,#6D      ;3s 
        MOV     SEPNUT,#3D      ;1.5s 
        JMP     START1 
C1:     JB      I02,C2 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#18D     ;9s  
        MOV     SEPNUT,#3D      ;1.5s 
        JMP     START1 
C2:     JB      I03,C3 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#36D     ;18s 
        MOV     SEPNUT,#3D      ;1.5s 
        JMP     START1 
C3:     JB      I04,C4 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#18D     ;9s 
        MOV     SEPNUT,#6D      ;3s 
        JMP     START1 
C4:     JB      I05,C5 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#30D     ;15s 
        MOV     SEPNUT,#6D      ;3s 
        JMP     START1 
C5:     JB      I06,C6 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#50D     ;25s 
        MOV     SEPNUT,#6D      ;3s 
        JMP     START1 
C6:     JB      I07,C7 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#4D      ;2s 
        MOV     SEPNUT,#12D     ;6s 
        JMP     START1 
C7:     JB      I08,C8 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#8D      ;4s 
        MOV     SEPNUT,#12D     ;6s 
        JMP     START1 
C8:     JB      I09,C9 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#16D     ;8s 
        MOV     SEPNUT,#12D     ;6s 
        JMP     START1 
C9:     JB      I10,C10 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#6D      ;3s 
        MOV     SEPNUT,#16D     ;8s 
        JMP     START1 
C10:    JB      I11,L 
        MOV     POMOC1,#7D 
        MOV     MEZERA,#18D     ;9s 
        MOV     SEPNUT,#16D     ;8s 
        JMP     START1 
   
            ;NASTAVENI CYKLOVACE 
   
L:      CJNE    A,#0D,CY1 
        JB      VSTUP,K2 
        MOV     POMOC1,#1D 
        MOV     POMOC2,#1D 
        JMP     START1 
CY1:    CJNE    A,#1D,CY2  
        JB      VSTUP,CYY1 
        SETB    RELE 
        MOV     A,POMOC3 
        CJNE    A,#20D,K2       ;OMEZENI DOBY SEPNUTI NA 10S MAX 
        MOV     POMOC1,#5D 
        MOV     POMOC3,#0D 
        MOV     POMOC2,#0D 
        JMP     START1 
CYY1:   MOV     SEPNUT,POMOC3   ;VYHODNOCENI DELKY SEPNUT A ULOZENI 
        MOV     POMOC3,#0D 
        MOV     POMOC1,#2D 
        CLR     RELE 
        JMP     START1 
CY2:    CJNE    A,#2D,CY3 
        JB      VSTUP,CYY2 
        MOV     MEZERA,POMOC3   ;VYHDNOCENI DELKY MEYERY A ULOZENI 
        MOV     POMOC3,#0D 
        MOV     POMOC2,#0D 
        MOV     POMOC1,#6D 
        JMP     START1 
CYY2:   MOV     A,POMOC3 
        CJNE    A,#120D,K2      ;OMEZENI ZAPISU MEZERY DELSI 60S 
        MOV     POMOC3,#0D 
        MOV     POMOC2,#0D 
        JMP     K1 
CY3:    CJNE    A,#3D,CY4       ;CASOVANI MEZERY 
        JB      VSTUP,K1 
        MOV     A,POMOC4 
        CJNE    A,#0D,CYY31 
        MOV     POMOC1,#6D 
K2:     JMP     START1 
CYY31:  CLR     RELE 
        JMP     START1 
CY4:    CJNE    A,#4D,CY5       ;CASOVANI SEPNUT 
        JB      VSTUP,K1 
        MOV     A,POMOC4 
        CJNE    A,#0D,CYY41 
        MOV     POMOC1,#5D 
        JMP     START1  
CYY41:  SETB    RELE 
        JMP     START1 
CY5:    CJNE    A,#5D,CY6       ;NACTENI CASU MEZERY Z PAMETI A START MEZERY 
        JB      VSTUP,K1 
        
		MOV     POMOC4,MEZERA 
        MOV     POMOC1,#3D 
        JMP     START1 
CY6:    CJNE    A,#6D,CY7       ;NACTENI CASU SEPNUT Z PAMETI A START SEPNUT 
        JB      VSTUP,K1 
        MOV     POMOC4,SEPNUT 
        MOV     POMOC1,#4D 
        JMP     START1 
CY7:    CJNE    A,#7D,CY8       ;START ATOMATIKY DOPLE PREDNASTAVENI 1 AZ 11 
        MOV     POMOC1,#6D 
        JMP     START1 
K1:     MOV     POMOC1,#0D 
   
        LJMP    START1 
CY8:    LJMP    RESET           ;CHYBNY UDAJ RESET PROGRAMU 
   
            ;PRERUSENI CASOVA ZAKLADNA CYKLOVACE XTAL=6.144MHz 
   
PRERUSE:PUSH    ACC 
        PUSH    PSW 
        INC     TIME1 
        MOV     A,TIME1 
        CJNE    A,#20D,PR1      ;0.01S 
        INC     TIME2 
        MOV     TIME1,#0D 
        MOV     A,TIME2 
        CJNE    A,#50D,PR1      ;0.5S 
        MOV     TIME2,#0D 
   
            ;PRAC CASOVANI S PERIODOU 0.5 SEKUNDY 
 
        MOV     A,POMOC2    ;CASOVAC PRO MNERENI PRI NASTAVOVANI CASU 
        CJNE    A,#1D,PR2 
        INC     POMOC3 
PR2:    MOV     A,POMOC1        ;CASOVAC MEZERY 
        CJNE    A,#3D,PR3 
        JMP     PR4 
PR3:    CJNE    A,#4D,PR1       ;CASOVAC SEPNUT 
PR4:    DEC     POMOC4     
PR1:    POP     PS 
        POP     ACC 
        RETI                  
		&nbs p; ;KONEC PRERUSENI 
        & nbsp;   END  
 
