Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $INCLUDE (REG52.INC)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; VARIABLES
- BTN1 EQU P1.4
- BTN2 EQU P1.5
- BTN3 EQU P1.6
- BTN4 EQU P1.7
- LED1 EQU P3.7
- LED2 EQU P3.6
- LED3 EQU P3.5
- LED4 EQU P3.4
- SDA EQU P3.0
- SCL EQU P3.1
- LOAD EQU P3.2
- OFF EQU P3.3
- ORG 0
- MOV R5 ,#0
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MAIN
- _MAIN_:
- JNB BTN1 ,CALL_BTN1
- SJMP SKIP_BTN1
- CALL_BTN1: ACALL BTN1_FUNCTION
- SKIP_BTN1:
- JNB BTN2 ,CALL_BTN2
- SJMP SKIP_BTN2
- CALL_BTN2: ACALL BTN2_FUNCTION
- SKIP_BTN2:
- JNB BTN3 ,CALL_BTN3
- SJMP SKIP_BTN3
- CALL_BTN3: ACALL BTN3_FUNCTION
- SKIP_BTN3:
- JNB BTN4 ,CALL_BTN4
- SJMP SKIP_BTN4
- CALL_BTN4: ACALL BTN4_FUNCTION
- SKIP_BTN4:
- SJMP _MAIN_
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MAIN END
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BTN 1 EVENT REFRESH
- BTN1_FUNCTION:
- CPL LED1
- MOV A, R5
- ACALL WPIS
- MOV A, #20
- ACALL WPIS
- MOV A, #20
- ACALL WPIS
- MOV A, #20
- ACALL WPIS
- CLR LOAD
- SETB LOAD
- CLR OFF
- LOOP_CALL_BTN1: JNB BTN1 ,LOOP_CALL_BTN1
- CPL LED1
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BTN 2 EVENT UP
- BTN2_FUNCTION:
- CPL LED2
- INC R5
- LOOP_CALL_BTN2: JNB BTN2 ,LOOP_CALL_BTN2
- CPL LED2
- SJMP BTN1_FUNCTION
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BTN 3 EVENT DOWN
- BTN3_FUNCTION:
- CPL LED3
- DEC R5
- LOOP_CALL_BTN3: JNB BTN3 ,LOOP_CALL_BTN3
- CPL LED3
- SJMP BTN1_FUNCTION
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BTN 4 EVENT
- BTN4_FUNCTION:
- CPL LED4
- LOOP_CALL_BTN4: JNB BTN4 ,LOOP_CALL_BTN4
- CPL LED4
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BIT STARTU
- BIT_STARTU:
- SETB SDA
- SETB SCL
- CLR SDA
- CLR SCL
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BIT STOPU
- BIT_STOPU:
- CLR SCL
- CLR SDA
- SETB SCL
- SETB SDA
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WYSLIJ BAJT
- WYSLIJ_BAJT:
- MOV R0,#8
- SEND_BYTE_LOOP:
- RLC A
- MOV SDA ,C
- SETB SCL
- CLR SCL
- DJNZ R0 ,SEND_BYTE_LOOP
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ODBIERZ BAJT
- ODBIERZ_BAJT:
- SETB SDA
- MOV R0,#8
- RCV_BYTE_LOOP:
- MOV C,SDA
- RLC A
- SETB SCL
- CLR SCL
- DJNZ R0 ,RCV_BYTE_LOOP
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ACK
- ACK:
- SETB SDA
- ACK_LOOP: JB SDA ,ACK_LOOP
- SETB SCL
- CLR SCL
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PROC ACK
- PROC_ACK:
- CLR SDA
- SETB SCL
- CLR SCL
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BEZ ACK
- NOACK:
- SETB SDA
- SETB SCL
- CLR SCL
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WYSWIETLANIE
- WPIS:
- MOV DPTR,#TABLICA
- MOVC A@A+DPTR
- MOV R0, #8
- WPIS_LOOP:
- RLC A
- MOV SDA,C
- CLR SCL
- SETB SCL
- DJNZ R0,WPIS_LOOP
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; TABLICA
- TABLICA:
- DB 03H ; 0
- DB 9FH ; 1
- DB 25H ; 2
- DB 0DH ; 3
- DB 99H ; 4
- DB 49H ; 5
- DB 41H ; 6
- DB 1FH ; 7
- DB 01H ; 8
- DB 09H ; 9
- DB 02H ; 0.
- DB 9EH ; 1.
- DB 24H ; 2.
- DB 0CH ; 3.
- DB 98H ; 4.
- DB 48H ; 5.
- DB 40H ; 6.
- DB 1EH ; 7.
- DB 00H ; 8.
- DB 08H ; 9.
- DB 0FFH ; END ;20
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement