Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- POSR DATA 02Fh
- F1 BIT POSR.0
- F2 BIT POSR.1
- F3 BIT POSR.2
- F4 BIT POSR.3
- OK BIT POSR.4
- ER BIT POSR.5
- LICZNIK1 EQU 0FFh
- LICZNIK2 EQU 0FFh
- CSDS EQU 0FF30h
- CSDB EQU 0FF38h
- ORG 0000H
- _RESET:
- LJMP _INIT
- ORG 0100H
- _INIT:
- CLR C
- CALL _7SEG_INIT
- _LOOP:
- ; przesuwanie w prawo rotate right
- MOV A, POSR
- RR A
- MOV POSR, A
- CALL _7SEG_UPDATE
- ; CALL _7SEG_SET_F2_ON
- ; CALL _WAIT
- ; CALL _7SEG_SET_F2_OFF
- CALL _WAIT
- LJMP _LOOP
- _WAIT:
- MOV R3, LICZNIK1
- MOV R4, LICZNIK2
- _WHILE2:
- _WHILE1:
- NOP
- DJNZ R3, _WHILE1
- NOP
- DJNZ R4, _WHILE2
- RET
- _7SEG_UPDATE:
- SETB P1.6
- MOV A, POSR
- MOV DPTR, #CSDB
- MOVX @DPTR, A
- CLR P1.6
- RET
- _7SEG_INIT:
- ;wprowadzmy do bufora wyboru wskaznik led
- MOV DPTR, #CSDS
- MOV A, #01000000b
- MOVX @DPTR, A
- ;uruchamiamy diode ok
- MOV POSR, #00010000b
- CALL _7SEG_UPDATE
- RET
- ; Funkcje do wlaczania i wylaczania poszczegolnych bitow
- _7SEG_SET_OK_ON:
- SETB OK
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_OK_OFF:
- CLR OK
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_F1_ON:
- SETB F1
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_F1_OFF:
- CLR F1
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_F2_ON:
- SETB F2
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_F2_OFF:
- CLR F2
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_F3_ON:
- SETB F3
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_F3_OFF:
- CLR F3
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_F4_ON:
- SETB F4
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_F4_OFF:
- CLR F4
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_ER_ON:
- SETB ER
- CALL _7SEG_UPDATE
- RET
- _7SEG_SET_ER_OFF:
- CLR ER
- CALL _7SEG_UPDATE
- RET
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement