NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

.INCLUDE "m32def.inc"
.org 0x000 rjmp reset ;skok do etykiety reset
.org 0x002 rjmp EXT_INT0 ;skok do przerwania INT0





reset:
ldi r16,LOW(RAMEND) ;inicjalizacja stosu
out SPL,r16;inicjalizacja stosu
ldi r16,HIGH(RAMEND);inicjalizacja stosu
out SPH, r16;inicjalizacja stosu
sei ;wlaczenie przerwan


ldi r16,(1<<ISC01) ;ustawienie sygnaly wyzwalajacego przerwanie INT0- jakakolwiek zmiana logiczna wywoluje przerwanie
out MCUCR,r16 ;przsłanie do MCUCR r16
ldi r16,(1<<INT0) ;zezwolenie na przerwanie INT0
out GICR, r16 ;przesłanie do GICR zawartości r16
call config ;wywolanie procedury config

rjmp START


START:
//out PORTC,r25 ; rejest r25 jako wyjscie

ldi r21,0x01 ;wrzucenie wartosci 00000001 na rejestr r21
ldi r22,7 ;wrzucenie wartosci 7 na rejestr r22
call prawo

//out PORTC,r25 ; rejest r25 jako wyjscie
ldi r21,0x80 ;wrzucenie wartosci 00000001 na rejestr r21
ldi r22,7 ;wrzucenie wartosci 7 na rejestr r22
call lewo


rjmp START

EXT_INT0:
cli;wylaczenie przerwan
in r24,SREG ;odczytanie SREG do r24
push r24;zapisanie rejestru r24 na stos

//push r25;

ldi r23,0b10000001;w srodek rejestru r23 wartosc 10000001
OR r23,r21 ;suma logiczna r21 do r23
out PORTA,r23 ; rejest r23 jako wyjscie

call delay2
inc r25 ;zwiekszam o jeden licznik przerwan
out PORTB,r25 ; rejest r25 jako wyjscie



//pop r25
pop r24;odczytanie r24 ze stosu
out SREG,r24;przesłanie rejestru SREG z r24

reti;powrot z procedury z wlaczeniem przerwan

delay:
;cykl trwajacy 150ms
push r18 ;umieszczenie rejestru na stosie
push r19;umieszczenie rejestru na stosie
push r20;umieszczenie rejestru na stosie

ldi r18,3
ldi r19,45
ldi r20,216
L5:dec r20
brne L5
dec r19
brne L5
dec r18
brne L5
rjmp PC+1
pop r18;uwolnienie rejestru ze stosu
pop r19;uwolnienie rejestru ze stosu
pop r20;uwolnienie rejestru ze stosu
ret ;zakonczenie procedury

delay2:
;cykl trwajacy 150ms
push r18 ;umieszczenie rejestru na stosie
push r19;umieszczenie rejestru na stosie
push r20;umieszczenie rejestru na stosie

ldi r18,1
ldi r19,15
ldi r20,116
L6:dec r20
brne L6
dec r19
brne L6
dec r18
brne L6
rjmp PC+1
pop r18;uwolnienie rejestru ze stosu
pop r19;uwolnienie rejestru ze stosu
pop r20;uwolnienie rejestru ze stosu
ret ;zakonczenie procedury





config:
clr r17 ;wypelniam zerami r17
out PORTA,r17 ;wypelniam PORTA zerami
ser r18;wypelniam jedynkami r17
out DDRA,r18; wszystkie linie PORTA jako wyjście
out DDRB,r18; wszystkie linie PORTA jako wyjście
ldi r25,0b00000000 ;w rejsetr r17 daje 1- do liczenia przerwan

cbi DDRD, 2 ;ustawienie 0 linii portuD jako wejscie
sbi PORTD,2 ;dolaczenie rezystora podciagajacego

ret

prawo:


out PORTA,r21 ;ustawienie wartosci rejestru r21 jako wyjscie portuA
lsl r21;przesuniecie bitowe w lewo
call delay;wywolanie opozonienia

dec r22;zmniejszenie wartosci rejstru r22
brne prawo ;powoduje wykonanie petli

ret
lewo:


out PORTA,r21 ;ustawienie wartosci rejestru r21 jako wyjscie portuA
lsr r21;przesuniecie bitowe w prawo
call delay;wywolanie opozonienia

dec r22;zmniejszenie wartosci rejstru r22
brne lewo ;powoduje wykonanie petli

ret





     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.