Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .INCLUDE "M32DEF.inc"
- ; stos
- ldi R16, HIGH(RAMEND)
- out SPH, R16
- ldi R16, LOW(RAMEND)
- out SPL, R16
- LDI R16, 255 ; cały R16
- OUT DDRA, R16 ; ustawienie wszystkich linii portu A na wyjście
- LDI R16, 0b00000001 ; ustawienie wartości dla pierwszej diody w R16
- LDI R17, 0b00000000 ; ustawienie wartości zerowej do gaszenia diód w R17
- loop:
- OUT PORTA, R16 ; zaświeć diodę
- RCALL delay ; opóznienie 500 ms
- OUT PORTA, R17 ; wyłącz diodę
- ROL R16 ; ustaw kolejną diodę
- ; w R16 jest wartość następnej lini do zaświecenia diody
- RJMP loop ; powtórz etykietę loop
- delay:
- LDI R18, 41
- LDI R19, 150
- LDI R20, 128
- delay_loop:
- DEC R20
- BRNE delay_loop ; dopóki R20 nie jest wyzerowany, idź do początku delay_loop
- DEC R19
- BRNE delay_loop ; dopóki R19 nie jest wyzerowany, idź do początku delay_loop
- DEC R18
- BRNE delay_loop ; dopóki R18 nie jest wyzerowany, idź do początku delay_loop
- RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement