Vielen Dank, jetzt weis ich das auch
Jetzt habe ich aber wieder mal eine Frage:
Mit folgendem Code möchte ich bei Tastendruck (Pina.0) eine Led an Portc.0 toggeln.
Allerdings wird diese nicht getoggelt, sondern sie leuchtet nur solange, solange ich den Taster drücke.
Hier der Code:
Warum wird die Led immer wieder ausgeschaltet (also 0 = ein und 1 = aus)??Code:$regfile = "m32def.dat" $crystal = 16000000 $framesize = 30 $hwstack = 30 $swstack = 30 $asm .def Null = R20 .def Eins = R21 .def K = R22 .def I = R23 .def J = R24 ldi null, &b00000000 ldi eins, &b11111111 ldi r16, &b11111111 Out Ddrc , R16 ldi r16, &b00000000 Out Ddra , R16 ldi r16, &b11111111 Out Portc , R16 ldi r16, &b11111111 Out Porta , R16 Lop: sbis pina , 0 rjmp taster_an rjmp lop Taster_an: ldi r16, &b00000000 sbis pinc , 0 ldi r16, &b11111111 cpi r16 , &b00000000 breq led_ein sbi portc,0 rjmp ende_taster_an Led_ein: cbi portc,0 Ende_taster_an: 'rcall wait ret Wait: ldi k,10 loop_k: nop nop dec k cpi k,0xFF brne loop_k dec j cpi j,0xFF brne Wait dec i cpi i,0xFF brne Wait ret $end Asm End
Gruß
Chris







Zitieren

Lesezeichen