Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $INCLUDE (REG52.INC)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DEFINY
- LED1 EQU P3.7 ; Taki #define
- LED2 EQU P3.6
- ;LED3 EQU P3.5
- ;LED4 EQU P3.4
- ENT EQU P1.7
- ESC EQU P1.4
- UP EQU P1.5
- DOWN EQU P1.6
- LOAD EQU P3.2
- OFF EQU P3.3
- CLOCK EQU P3.1
- DANE EQU P3.0
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MAIN
- ORG 0
- MOV R1,#0
- MOV R2,#10
- SHOW:
- MOV A ,R1
- ACALL WPISZ
- MOV A ,R2
- ACALL WPISZ
- MOV A ,#10
- ACALL WPISZ
- MOV A ,#10
- ACALL WPISZ
- CLR LOAD
- SETB LOAD
- CLR OFF
- STOP:
- JNB UP,ZWIEKSZ ; Zwieksz licznik jesli klikniety
- JNB DOWN,ZMIEJSZ ; Zmniejsz licznik jesli klikniety
- SJMP STOP
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ZWIEKSZENIE LICZNIKA 7 -SEGMENT
- ZWIEKSZ:
- CJNE R1,#9, DALEJ1
- SJMP SHOW
- DALEJ1:
- INC R1
- LOOP1: JNB UP,LOOP1
- SJMP SHOW
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ZMNIEJSZENIE LICZNIK 7-SEGMET
- ZMIEJSZ:
- CJNE R1,#0, DALEJ2
- SJMP SHOW
- DALEJ2:
- DEC R1
- LOOP2: JNB DOWN,LOOP2
- SJMP SHOW
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ZAPALENIE LED
- ;TAM: CPL LED1 ; no nie ';' komentarzem ; Zapelenie LED 3.7
- ; CPL LED2
- ;STOP: DJNZ R0,STOP
- ; JNB ESC ,KONIEC ; Jesli klikniety
- ; DJNZ R1,STOP
- ; JB ESC ,TAM
- ;KONIEC:
- ; SETB LED1
- ; SETB LED2
- ; SJMP PO ; Skok do 'TAM'
- ;END ; Na koniec!
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WPISANIE NA 7-SEGMENT
- WPISZ:
- MOV DPTR ,#TABLICA
- MOVC A,@A+DPTR
- MOV R0 ,#8
- NEXT:
- RLC A
- MOV DANE ,C
- CLR CLOCK
- SETB CLOCK
- DJNZ R0 ,NEXT
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BIT STARTU
- BIT_STARTU:
- SETB SCL
- SETB SDA
- CLR SCL
- CLR SDA
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BIT STOPY
- BIT_STOPU:
- CLR SDA
- CLR SCL
- SETB SDA
- SETB SCL
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WYSLIJ_BAJ
- WYSLIJ_BAJT:
- MOV R0,#8
- TMP: RLC A
- MOV SDA,C
- SETB SCL
- CLR SCL
- DJNZ R0,TMP
- SETB SDA
- L2: JB SDA,L2
- SETB SCL
- CLR SCL
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ODBIERZ BAJT
- ODBIERZ_BAJT:
- SETB SDA
- MOV R0,#8
- TMP2: MOV C,SDA
- RLC A
- SETB SCL
- CLR SCL
- DJNZ R0,TMP2
- CLR SDA
- SETB SCL
- CLR SCL
- RET
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; TABLICA LICZB
- TABLICA:
- DB 03H
- DB 9FH
- DB 25H
- DB 0DH
- DB 99H
- DB 49H
- DB 41H
- DB 1FH
- DB 01H
- DB 09H
- DB 0FFH
Add Comment
Please, Sign In to add comment