Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $INCLUDE (REG51.INC)
- SDA EQU P1.2
- SCL EQU P1.1
- LED1 EQU P3.7
- LED2 EQU P3.6
- LED3 EQU P3.5
- LED4 EQU P3.4
- OFF EQU P3.3
- LOAD EQU P3.2
- CLOCK EQU P3.1
- DANE EQU P3.0
- ENTER EQU P1.7
- DOWN EQU P1.6
- UP EQU P1.5
- ESCAPE EQU P1.4
- START:
- MOV R0, #10
- MOV R1, #10
- MOV R2, #0
- MOV R3, #10
- MOV R4, #0
- MOV R5, #10
- CLR OFF
- ACALL BIT_STARTU
- MOV A, #11010000B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- MOV A, #00000000B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- MOV A, #00000000B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- ACALL BIT_STARTU
- MOV A, #11010000B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- MOV A, #00000001B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- MOV A, #00000000B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- ACALL BIT_STOPU
- SHOW:
- MOV C, ACC.0
- MOV OFF, C
- MOV A, R5
- ACALL WPIS
- MOV A, R1
- ACALL WPIS
- MOV A, R2
- ACALL WPIS
- MOV A, R3
- ACALL WPIS
- CLR LOAD
- SETB LOAD
- JNB DOWN, SHOW
- ACALL POBIERZ
- JNB ESCAPE, ODB_SEK
- JNB ENTER, WYL
- SJMP SHOW
- ODB_SEK:
- MOV R5, #20
- MOV R1, #20
- MOV R2, #20
- MOV R3, #20
- JMP START
- WYL:
- MOV R5, #20
- MOV R1, #20
- MOV R2, #20
- MOV R3, #20
- JMP SHOW
- POBIERZ:
- ACALL BIT_STARTU
- MOV A, #11010000B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- MOV A, #00000000B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- ACALL BIT_STARTU
- MOV A, #11010001B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- ACALL ODB_BAJT
- MOV R4, A
- ANL A, #00001111B
- ADD A, #10
- MOV R5, A
- MOV A, R4
- ANL A, #11110000B
- SWAP A
- ADD A, #10
- MOV R1, A
- ACALL BIT_POTWIERDZENIA
- ACALL BIT_STOPU
- ACALL BIT_STARTU
- MOV A, #11010000B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- MOV A, #00000001B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- ACALL BIT_STARTU
- MOV A, #11010001B
- ACALL WYS_BAJT
- ACALL BIT_POTWIERDZENIA
- ACALL ODB_BAJT
- MOV R4, A
- ANL A, #00001111B
- MOV R2, A
- MOV A, R4
- ANL A, #11110000B
- SWAP A
- ADD A, #10
- MOV R3, A
- ACALL BIT_POTWIERDZENIA
- ACALL BIT_STOPU
- RET
- BIT_STARTU:
- SETB SCL
- SETB SDA
- CLR SDA
- CLR SCL
- RET
- BIT_STOPU:
- CLR SCL
- CLR SDA
- SETB SCL
- SETB SDA
- RET
- WYS_BAJT: MOV R0, #8
- TMP: RLC A
- MOV SDA, C
- SETB SCL
- CLR SCL
- DJNZ R0, TMP
- RET
- BIT_POTWIERDZENIA: SETB SDA
- SETB SCL
- CLR SCL
- RET
- ODB_BAJT:
- SETB SDA
- MOV R0, #8
- TMPZ: MOV C, SDA
- RLC A
- SETB SCL
- CLR SCL
- DJNZ R0, TMPZ
- RET
- WPIS: MOV DPTR, #TABLICA
- MOVC A, @A + DPTR
- MOV R0, #8
- NEXT: RRC A
- MOV DANE, C
- CLR CLOCK
- SETB CLOCK
- DJNZ R0, NEXT
- RET
- TABLICA: DB 040H ;0 "0."
- DB 079H ;1 "1."
- DB 024H ;2 "2."
- DB 030H ;3 "3."
- DB 019H ;4 "4."
- DB 012H ;5 "5."
- DB 002H ;6 "6."
- DB 078H ;7 "7."
- DB 000H ;8 "8."
- DB 010H ;9 "9."
- DB 0C0H ;10 "0"
- DB 0F9H ;11 "1"
- DB 0A4H ;12 "2"
- DB 0B0H ;13 "3"
- DB 099H ;14 "4"
- DB 092H ;15 "5"
- DB 082H ;16 "6"
- DB 0F8H ;17 "7"
- DB 080H ;18 "8"
- DB 090H ;19 "9"
- DB 0FFH ;20 NIC
- DB 0BFH ;21 "-"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement