Forum: Mikrocontroller und Digitale Elektronik ATmega8-16PU - Standard INT0 - Alles Mist


von Tiefkuehlpizza (Gast)


Lesenswert?

Hallo zusammen,

habe eine kleine Schaltung zusammengebaut und wollte im ersten Schritt 
einfach mal eine Diode durch einen Interrupt leuchten lassen. Schalter 
gedrückt - Diode für 20ms an. In MAINLOOP klappt es auch, als externer 
Interrupt nicht - was mache ich falsch?
1
;Reset and Interrupt vector
2
rjmp  main          ;1     SB    POWER ON RESET
3
rjmp  isr_int_0  ;2     SB    Int0-Interrupt (EXT INT 0)
4
...
...
1
sbi  DDRD,DDD3  ;Port D (INT0) auf IN
2
sbi  DDRB,0x0  ;Port B (Pin0) auf OUT
...
1
ldi  r16,MCUCR
2
ldi  r17,0b11111100
3
and  r16,r17
4
ldi  r17,0b00000000
5
or  r16,r17
6
out  MCUCR,r16       ;00 LOW löst INT aus - müßte ständig ausgelöst werden; andere Kombis auch schon probiert
...
1
;GIMSK bzw. GICR [0..7] Bit 6 auf 1 (Ext.INT0 on)
2
ldi  r16,GICR
3
ldi  r17,0b00111111
4
and     r16,r17
5
ldi     r17,0b11000000
6
or  r16,r17
7
;out  GIMSK, r16 
8
out     GICR, r16
...
1
sei
...
1
isr_int_0:
2
3
push    r16  
4
;funktioniert in MAINLOP
5
pop  r16
6
reti

Pin4 hat gemessene 4,8V bei Schalter gedrückt.

Die Diode flackert ab und an mal - ohne erkenntlichen Grund. Schalter 
gedrückt ohne Reaktion der Diode.

Was mach ich hier falsch?

Danke für den ein oder anderen Tipp!

Gruß
Pizza

von Peter D. (peda)


Lesenswert?

Tiefkuehlpizza wrote:
> Pin4 hat gemessene 4,8V bei Schalter gedrückt.

Merkwürdig, was ist denn Deine VCC?

Taster sollten niederohmig sein, also VCC = 5,0V meßbar.

Aber die Preisfrage ist, welchen Pulldown verwendest Du?

Hint:
Man schaltet Taster üblicher Weise gegen GND, damit man den internen 
Pullup verwenden kann (spart 3 Eurocent).


Peter

von Tiefkuehlpizza (Gast)


Lesenswert?

Klar, den PullDown vergessen - Mist und Danke!

Interner PullUp?! Als einfach VCC draufgeben und gg. GND schalten! 
Danke!

Gruß
Pizza

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.