habe wieder mal eine frage zu tastern bzw i/o ports.
ich wuerde gerne mit taster an pb0 eine led anschalten, und diese soll auch eingeschaltet bleiben bis taster an pb1 gedrueckt wird.
bei meinem programm wird die led sofort nach loslassen des tasters geloescht.
also mit kurzem druecken von taster eins soll die led aktiviert bleiben bis kurz taster zwei gedrueckt wird.
gibt es eine einfache moeglichkeit die szu realisieren. mein programm haenge ich an.
gruss bernhard.
ich wuerde gerne mit taster an pb0 eine led anschalten, und diese soll auch eingeschaltet bleiben bis taster an pb1 gedrueckt wird.
bei meinem programm wird die led sofort nach loslassen des tasters geloescht.
also mit kurzem druecken von taster eins soll die led aktiviert bleiben bis kurz taster zwei gedrueckt wird.
gibt es eine einfache moeglichkeit die szu realisieren. mein programm haenge ich an.
gruss bernhard.
HTML:
; taster an pbo = pin 5 schaltet led an
; led an pb4 = pin 3 led bleibt an
; taster an pb1 schaltet led aus pin 6
.include "tn13def.inc"
.def ar=r16
.def br=r17
; stackpointer setzen
ldi ar,ramend
out spl,ar
; taster pb0/pb1 als eingang konfigurieren
; sowie pullup an port/pb0
cbi ddrb,0
cbi ddrb,1
sbi portb,0
sbi portb,1
; led pb4 als ausgang fuer led konfigurieren
sbi ddrb,4
; abfrage taster 'ein' pin5 portb0
loop:
in br,pinb
ldi ar,0b00000001 ; pinb0 isolieren
and ar,br
cpi ar,0b00000001
breq led_on
; abfrage taster 'aus' pin6 portb1
in br,pinb
ldi ar,0b00000010 ; pinb1 isolieren
and ar,br
cpi ar,0b00000010
breq led_off
rjmp loop
led_on:
sbi portb,4
rjmp loop
led_off:
cbi portb,4
rjmp loop