Mam taki programik:
.include "m16def.inc"
.cseg
.org 0x00
rjmp konfiguracja
Konfiguracja:
nop
ldi R16,0b10101010
out DDRA,R16
out DDRB,R16
out DDRC,R16
out DDRD,R16
xxx:
nop
inc r16
out PORTA,R16
out PORTB,R16
out PORTC,R16
out PORTD,R16
rcall polsek
rjmp xxx
polsek:
ldi r24,3
polsek_2:
ldi R23,1
polsek_3:
ldi R22,2
polsek_4:
dec R22
brne polsek_4
dec R23
brne polsek_3
dec R24
brne polsek_2
ret
Nie zwracajcie na to uwage ze ta petla czasowa to "pol sekundy"
Moj problem jest zdecydowanie inny... Mianowicie chodzi mi o to ze przy wywolaniu podprogramu "rcall polsek" to po jego zakonczeniu instrukcja "ret" program zaczyna sie od nowa i tak w kolko
a powinno przejsc dalej i wykonac instrukcje "rjmp xxx". Programuje i symuluje "AVR Studio 4". Czy ktos wie na czym polega moj problem??? Bardzo prosze o pomoc...
Dodano po 1 [minuty]:
Oczywiscie tam powinno byc: Nie zwracajcie na to uwage ze ta petla czasowa to NIE "pol sekundy"
.include "m16def.inc"
.cseg
.org 0x00
rjmp konfiguracja
Konfiguracja:
nop
ldi R16,0b10101010
out DDRA,R16
out DDRB,R16
out DDRC,R16
out DDRD,R16
xxx:
nop
inc r16
out PORTA,R16
out PORTB,R16
out PORTC,R16
out PORTD,R16
rcall polsek
rjmp xxx
polsek:
ldi r24,3
polsek_2:
ldi R23,1
polsek_3:
ldi R22,2
polsek_4:
dec R22
brne polsek_4
dec R23
brne polsek_3
dec R24
brne polsek_2
ret
Nie zwracajcie na to uwage ze ta petla czasowa to "pol sekundy"
Moj problem jest zdecydowanie inny... Mianowicie chodzi mi o to ze przy wywolaniu podprogramu "rcall polsek" to po jego zakonczeniu instrukcja "ret" program zaczyna sie od nowa i tak w kolko
Dodano po 1 [minuty]:
Oczywiscie tam powinno byc: Nie zwracajcie na to uwage ze ta petla czasowa to NIE "pol sekundy"