SET_8255 EQU 10000000B
LED EQU P1.7
LJMP START
ORG 0BH
PUSH ACC
CPL LED
DJNZ R2,OPOZNIENIE
MOV R2,#8
LCALL STANY
MOV R1,A
OPOZNIENIE:
POP ACC
POP PSW
RETI
ORG 100H
START:
MOV TCON,#00010000B
MOV TMOD,#00010001B
MOV TH0,#000H
MOV TL0,#000H
SETB EA
SETB ET0
SETB TR0
MOV R0,#CS55D
MOV A,#SET_8255
MOVX @R0,A
MOV R1,#8
MOV R2,#8
GLOWNA:
LJMP GLOWNA
STANY:
CLR TF0
MOV TH0,#000H
MOV TL0,#000H
SETB TR0
MOV A,R1
DEC ACC
DEC ACC
JNZ DALEJ
MOV A,#8
DALEJ:
MOV DPTR,#WYWOLANIA
JMP @A+DPTR
WYWOLANIA:
AJMP STAN4
AJMP STAN3
AJMP STAN2
AJMP STAN1
AJMP STAN4
;POZIOM ZIELONE
STAN1:
PUSH ACC
MOV R0,#CS55A
MOV A,#0F6H
MOVX @R0,A ;wysyła zawartość akumulatora pod adres umieszczony w R0
MOV R0,#CS55B
MOV A,#0F3H
MOVX @R0,A
LJMP STAN_RET
;POZIOM UWAGA
STAN2:
PUSH ACC
MOV R0,#CS55A
MOV A,#0FAH
MOVX @R0,A
MOV R0,#CS55B
MOV A,#0F5H
MOVX @R0,A
LJMP STAN_RET
;PION ZIEL
STAN3:
PUSH ACC
MOV R0,#CS55A
MOV A,#0F9H
MOVX @R0,A
MOV R0,#CS55B
MOV A,#0DEH
MOVX @R0,A
LJMP STAN_RET
;PION UWAGA
STAN4:
PUSH ACC
MOV R0,#CS55A
MOV A,#0FAH
MOVX @R0,A
MOV R0,#CS55B
MOV A,#0EEH
MOVX @R0,A
LJMP STAN_RET
STAN_RET:
POP ACC
RET