Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- KEY EQU 0000001B
- LINE EQU P3.5
- LJMP START
- ORG 100H
- START:
- LCALL LCD_INIT
- ; ustawienie wskaznika
- MOV R0,#CSDS
- MOV A, #KEY
- MOVX @R0,A
- MOV R5, #0ffH ;high
- MOV R2, #0 ; 0-normal modes, 1-mode3
- LCALL WAIT_KEY
- MOV B, #2
- DIV AB
- JZ MODES_0X
- MOV A, B
- JZ MODE_10
- MODE_11: ;tryb 3
- MOV TMOD, #01110000B
- MOV R6, #0faH
- MOV R2, #1
- SJMP AFTER_SETUP
- MODE_10: ;tryb 2
- MOV TMOD, #01100000B
- MOV R5, #0faH
- MOV R6, #0faH
- SJMP AFTER_SETUP
- MODES_0X:
- MOV A, B
- JZ MODE_10
- MODE_01: ;tryb 1
- MOV TMOD, #01010000B
- MOV R6, #0faH
- SJMP AFTER_SETUP
- MODE_00: ; tryb 0
- MOV TMOD, #01000000B
- MOV R6, #01aH
- AFTER_SETUP:
- LCALL LCD_CLR
- MOV A, #00
- LCALL WRITE_HEX
- MOV A, R6
- MOV R1, A
- MOV TH1, R5
- MOV TL1, R6
- SETB TR1 ; start timera
- LOOP:
- MOV A, R2
- JZ NORMAL
- MODE3:
- JNB LINE, MODE3
- MOV A, #10
- LCALL DELAY_MS
- JNB LINE, MODE3
- WAITFORIT:
- JB LINE, WAITFORIT
- MOV A, #10
- LCALL DELAY_MS
- JB LINE, WAITFORIT
- INC TL1
- MOV A, TL1
- JZ PRZEP
- ;end of mode3
- NORMAL:
- JB TF1, PRZEP
- MOV A, TL1
- CLR C
- SUBB A, R1
- JZ LOOP
- AFTER_PRZEP:
- LCALL LCD_CLR
- MOV R1, TL1
- MOV A, R1
- CLR C
- SUBB A, R6
- LCALL WRITE_HEX
- MOV A, #10
- LCALL DELAY_100MS
- SJMP LOOP
- PRZEP:
- CLR TF1
- MOV TH1, R5
- MOV TL1, R6
- INC TL1
- SJMP AFTER_PRZEP
- NOP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement