Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 0000h
- start1: jnb P0.1,s1
- start2: jnb P0.2,s2
- jmp start1
- s1: jnb P0.2,s3
- lcall blink1
- jmp start1
- s2: lcall blink2
- jmp start1
- s3: lcall blink3
- jmp start1
- ;funkcja opózniajaca
- ;pod adresem "delay"
- ;wywolywana poleceniem "call delay"
- delay: mov R6,#0xFF ;przypisz R6 FF
- a1: mov R7,#0xFF ;przypisz R7 FF
- a2: mov R4,#0x11 ;przypisz R4 22
- a3: djnz R4,a3 ;dekrementuj R4 do 0
- djnz R7,a2 ;dekrementuj R7 o 1, dopóki nie bedzie równe 0 uzupelniaj R4
- djnz R6,a1 ;zmniejsz R6 o 1, rusz sie do A1
- ret ;slowo kluczowe
- ;przesuwa wskaznik do miejsca w którym nastapilo ostatnie wywolanie funkcji
- ;funkcja migania dla 1 przycisku
- blink1: mov A,#0x18
- mov P2,A
- lcall delay
- mov A,#0x3C
- mov P2,A
- lcall delay
- mov A,#0x7E
- mov P2,A
- lcall delay
- mov A,#0xFF
- mov P2,A
- lcall delay
- mov A,#0x7E
- mov P2,A
- lcall delay
- mov A,#0x3C
- mov P2,A
- lcall delay
- mov A,#0x18
- mov P2,A
- lcall delay
- ret
- ;funkcja migania dla drugiego przycisku
- blink2: mov A,#0x80
- mov R3,#0x08
- b2_a1: mov P3,A
- lcall delay
- rr A
- djnz R3,b2_a1
- ret
- ;miganie dla dwóch naraz
- blink3: mov R3,#0x08
- b3_a1: mov A,#0xFF
- mov P1,A
- lcall delay
- mov A,#0x00
- mov P1,A
- lcall delay
- djnz R3,b3_a1
- ret
- end ;koniec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement