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 0h
- AJMP BEGIN
- ORG 03h
- AJMP IN0
- ORG 1Bh
- AJMP DEL
- ORG 30h
- BEGIN:
- 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
- START:
- MOV IE, #00001001b
- MOV R0, #06H
- MOV TH1, #00111100b ;15536
- MOV TL1, #10110000b ;15536
- MOV TMOD, #00010000b
- MOV TCON, #01000001b
- MOV P1, #00000000b
- SETB EA
- RESTART:
- MOV DPTR, #10h
- MOV R1, #008d
- LOOP:
- MOVX A, @DPTR
- MOV 20H, A
- ACALL FUNC
- ACALL SEND
- INC DPTR
- MOV R0, #006d
- DJNZ R1, LOOP
- ACALL RESTART
- SEND:
- MOV TH1, #00111100b ;15536
- MOV TL1, #10110000b ;15536
- MOV TMOD, #00010000b
- MOV TCON, #01000001b
- CLR 18
- MOV R6, #16d
- BK:
- JB 18, PR
- JMP BK
- ;restart count
- PR:
- MOV TCON, #00000001b
- ORL P1, A
- MOV TH1, #00111100b ;15536
- MOV TL1, #10110000b ;15536
- MOV TCON, #01000001b
- CLR 18 ;23h
- MOV R6, #8d
- BK1:
- JB 18, PR1
- JMP BK1
- JMP BK1
- PR1:
- MOV TCON, #00000001b
- MOV P1, #00H
- RET
- DEL:
- DJNZ R6, EXTD
- SETB 18
- RETI
- EXTD:
- MOV TH1, #00111100b ;15536
- MOV TL1, #10110000b ;15536
- RETI
- FUNC:
- MOV C, 01
- CPL C
- ANL C, 00
- ORL C, /02
- MOV 03, C
- XRL A, 20H
- MOV 25h, A
- MOV C, 43
- MOV 07, C
- MOV A, 20H
- RET
- IN0:
- DJNZ R0, OUT0
- CLR IE.0
- OUT0:
- MOV R5, A
- MOV 11, C
- MOVX A, @DPTR
- MOV 25H, A
- MOV C, P2.7
- MOV 43, C
- MOV A, 25H
- MOVX @DPTR, A
- Exm:
- MOV C, 11
- MOVX @DPTR, A
- MOV A, R5
- RETI
- BM:
- RRC A
- MOV C, P2.7
- RLC A
- JMP Exm
- END
Add Comment
Please, Sign In to add comment