SET_8255 EQU 10010011B
INFRANRED EQU 11101111B
LJMP START
ORG 13H
PUSH PSW
PUSH ACC
LCALL PRZERWANIE
POP ACC
POP PSW
RETI
ORG 100H
START:
MOV R0,#CS55D
MOV A,#SET_8255
MOVX @R0,A
MOV R0,#CS55C
MOV A,#INFRANRED
MOVX @R0,A
MOV R3,#0
MOV R4,#0
MOV R5,#1
MOV R6,#0
WYSWIETLACZ:
LCALL LCD_CLR
MOV DPTR,#TEXTO
LCALL WRITE_TEXT
MOV R1,#CSAD
MOVX A,@R1
CLR A
MOV R1,#CSIC
MOVX @R1,A
INC A
MOV R1,#CSIC
MOVX @R1,A
INC A
MOV R1,#CSIC
MOVX @R1,A
INC A
MOV R1,#CSIC
MOVX @R1,A
CLR A
SETB EA
SETB EX1
CLR P1.1
PETLA:
LJMP PETLA
PRZERWANIE:
LCALL LCD_CLR
MOV R1,#CSIC
MOVX A,@R1
ANL A,#03H
MOVX @R1,A
STAN1:
CJNE R5,#1,STAN2
CJNE A,#03H, DIODA1
CJNE A,#02H, DIODA2
DIODA1:
LCALL LCD_CLR
MOV DPTR,#TEXT1
LCALL WRITE_TEXT
INC R3
MOV A,R3
CALL WRITE_HEX
INC R5
RET
DIODA2:
LCALL LCD_CLR
MOV DPTR,#TEXT2
LCALL WRITE_TEXT
INC R4
MOV A,R4
CALL WRITE_HEX
MOV R5,#7
RET
STAN2:
CJNE R5,#2, STAN3
CJNE A,#03H, DIODA3
CJNE A,#02H, DIODA4
DIODA3:
LCALL LCD_CLR
MOV DPTR,#TEXT1
LCALL WRITE_TEXT
INC R3
MOV A,R3
CALL WRITE_HEX
DEC R5
RET
DIODA4:
LCALL LCD_CLR
MOV DPTR,#TEXT2
LCALL WRITE_TEXT
INC R4
MOV A,R4
CALL WRITE_HEX
INC R5
RET
STAN3:
CJNE R5,#3, STAN4
CJNE A,#03H, DIODA5
CJNE A,#02H, DIODA6
DIODA5:
LCALL LCD_CLR
MOV DPTR,#TEXT1
LCALL WRITE_TEXT
INC R3
MOV A,R3
CALL WRITE_HEX
INC R5
RET
DIODA6:
LCALL LCD_CLR
MOV DPTR,#TEXT2
LCALL WRITE_TEXT
INC R4
MOV A,R4
CALL WRITE_HEX
DEC R5
RET
STAN4:
CJNE R5,#4, STAN22
CJNE A,#03H, DIODA7
CJNE A,#02H, DIODA8
DIODA7:
LCALL LCD_CLR
MOV DPTR,#TEXT1
LCALL WRITE_TEXT
INC R3
MOV A,R3
CALL WRITE_HEX
DEC R5
RET
DIODA8:
LCALL LCD_CLR
MOV DPTR,#TEXT2
LCALL WRITE_TEXT
INC R4
MOV A,R4
CALL WRITE_HEX
MOV R5,#1
INC R6
MOV A,R6
CALL WRITE_HEX
RET
STAN22:
CJNE R5,#5, STAN33
CJNE A,#03H, DIODA9
CJNE A,#02H, DIODA10
DIODA9:
LCALL LCD_CLR
MOV DPTR,#TEXT1
LCALL WRITE_TEXT
INC R3
MOV A,R3
CALL WRITE_HEX
MOV R5,#1
DEC R6
MOV A,R6
CALL WRITE_HEX
RET
DIODA10:
LCALL LCD_CLR
MOV DPTR,#TEXT2
LCALL WRITE_TEXT
INC R4
MOV A,R4
CALL WRITE_HEX
INC R5
RET
STAN33:
CJNE R5,#6, STAN44
CJNE A,#03H, DIODA11
CJNE A,#02H, DIODA12
DIODA11:
LCALL LCD_CLR
MOV DPTR,#TEXT1
LCALL WRITE_TEXT
INC R3
MOV A,R3
CALL WRITE_HEX
INC R5
RET
DIODA12:
LCALL LCD_CLR
MOV DPTR,#TEXT2
LCALL WRITE_TEXT
INC R4
MOV A,R4
CALL WRITE_HEX
DEC R5
RET
STAN44:
CJNE R5,#7, BLAD
CJNE A,#03H, DIODA13
CJNE A,#02H, DIODA14
DIODA13:
LCALL LCD_CLR
MOV DPTR,#TEXT1
LCALL WRITE_TEXT
INC R3
MOV A,R3
CALL WRITE_HEX
DEC R5
RET
DIODA14:
LCALL LCD_CLR
MOV DPTR,#TEXT2
LCALL WRITE_TEXT
INC R4
MOV A,R4
CALL WRITE_HEX
MOV R5,#1
RET
BLAD:
LCALL LCD_CLR
MOV DPTR,#TEXTBLEDU
LCALL WRITE_TEXT
RET
; -------------------------------------- TEKSTY
TEXTO:
DB 'WELCOME',0
TEXT1:
DB 'L. Pasazerow',0
TEXT2:
DB 'L. Pasazerow',0
TEXTBLEDU:
DB 'BLAD',0