Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; =-------------------------
- ; this's my task:
- ; =-------------------------
- ; f = !Y * Z + !X
- ; =-------------------------
- ; 1200 : 400 : INT0 : T/C1
- ; =-------------------------
- ORG 00h
- AJMP START
- ORG 03h
- AJMP IINT0
- ORG 1Bh
- AJMP ITC1
- ORG 30h
- ; there i'll set up my external memory.
- START:
- MOV DPTR, #10h
- MOV A, #00000000b
- MOVX @DPTR, A
- INC DPTR
- MOV A, #00000001b
- MOVX @DPTR, A
- INC DPTR
- MOV A, #00000010b
- MOVX @DPTR, A
- INC DPTR
- MOV A, #00000011b
- MOVX @DPTR, A
- INC DPTR
- MOV A, #00000100b
- MOVX @DPTR, A
- INC DPTR
- MOV A, #00000101b
- MOVX @DPTR, A
- INC DPTR
- MOV A, #00000110b
- MOVX @DPTR, A
- INC DPTR
- MOV A, #00000111b
- MOVX @DPTR, A
- ; Some setups for interruptions
- MOV IE, #00001001b
- MOV TCON, #01000001b
- MOV TMOD, #01100000b
- MOV TL1, #11111111b
- MOV TH1, #11111111b
- MOV R0, #10h
- MOV R1, #008d
- MOV R2, #006d
- MOV R3, #006d
- MOV DPL, R0
- MOV P1, #00000000b
- MOV P3, #00100100b
- SETB EA
- ; end of memory setups
- LOOP:
- MOVX A, @DPTR
- MOV 20H, A
- ACALL FFUNC
- ACALL FSEND
- INC DPTR
- MOV R2, #006d
- MOV R3, #006d
- ACALL FSLEEP
- DJNZ R1, LOOP
- AJMP START
- FSEND:
- MOV P1, 20h
- MOV R6, #10d
- FSL2:
- MOV R5, #100d
- FSL1:
- MOV R4, #200d
- DJNZ R4, $
- DJNZ R5, FSL1
- DJNZ R6, FSL2
- NOP
- MOV P1, #00000000b
- RET
- FFUNC:
- MOV C, 01
- CPL C
- ANL C, 00
- ORL C, /02
- MOV 03, C
- XRL A, 20H
- ORL 20h, A
- RET
- FSLEEP:
- MOV R6, #20d
- FSLL2:
- MOV R5, #100d
- FSLL1:
- MOV R4, #195d
- MOV R7, #4
- DJNZ R4, $
- DJNZ R7, $
- DJNZ R5, FSLL1
- DJNZ R6, FSLL2
- NOP
- RET
- IINT0:
- DJNZ R2, OUT0
- CLR IE.0
- OUT0:
- CLR 04
- MOV A, 20H
- MOVX @DPTR, A
- RETI
- ITC1:
- DJNZ R3, OUT1
- CLR IE.3
- OUT1:
- SETB 04
- MOV A, 20H
- MOVX @DPTR, A
- RETI
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement