Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rjmp seadistamine
- tabel:
- .db 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0
- .equ portd = 0x0B
- .equ portb = 0x05
- seadistamine:
- ;Seadistame port C, saadame nulli
- ldi r16, 0x30
- out 0x07, r16
- ldi r16, 0x00
- out 0x08, r16
- ;Seadistame port D, saadame nulli
- ldi r16, 0xFF
- out 0X0A, r16
- ldi r16, 0xFF
- out portd, r16
- ;Seadistame port B
- ldi r16, 0xC7
- out 0x04, r16
- ldi r16, 0xFF
- out portb, r16
- ;Sättime kolm registrit tabelit hoidma
- ;Kümneliste tabel, x (r28 + r29)
- ldi r28, low(tabel<<1)
- ldi r29, high(tabel<<1)
- ;Üheliste tabel, y(r30+31)
- ldi r30, low(tabel<<1)
- ldi r31, high(tabel<<1)
- reset:
- ;Lahutame tabelitest 11 kohta, ehk siis 0xC0 oleks praegune number - ehk siis umbes nagu uuesti tabeli algusesse
- sbiw x, 0xB
- sbiw y, 0xB
- algus:
- ;Alustame LED1 näitamist, y register ühtedele
- lpm r16, y
- adiw y, 1
- ;Kas võrdub nulliga, kui võrdub, hüppa LED2'le
- cpi r16, 0
- call LED2Suurendamine
- ;Numbri saatmine, alguses saadame port b'le info, et vilgutada esimest led'i, ja siis saata port d'le, kus on segmendid
- ldi r25, 0x02
- out portb, r25
- out portd, r16
- ;Saadame lubava koodi, segmendile
- ldi r16, 0x00
- out portb, r16
- ;Kutsu 0.3 sekundit viidet
- call kolmsadams
- rjmp algus
- LED2Suurendamine:
- ;Led2 numbri lisamine
- lpm r17, x
- adiw x, 1
- ;Kui x registri, järgmine number on 0, siis vii tagasi resetti
- cpi r17, 0
- breq reset
- ;
Add Comment
Please, Sign In to add comment