www.mikrocontroller.net

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


Autor: Tiefkuehlpizza (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?
;Reset and Interrupt vector
rjmp  main          ;1     SB    POWER ON RESET
rjmp  isr_int_0  ;2     SB    Int0-Interrupt (EXT INT 0)
...
...
sbi  DDRD,DDD3  ;Port D (INT0) auf IN
sbi  DDRB,0x0  ;Port B (Pin0) auf OUT
...
ldi  r16,MCUCR
ldi  r17,0b11111100
and  r16,r17
ldi  r17,0b00000000
or  r16,r17
out  MCUCR,r16       ;00 LOW löst INT aus - müßte ständig ausgelöst werden; andere Kombis auch schon probiert
...
;GIMSK bzw. GICR [0..7] Bit 6 auf 1 (Ext.INT0 on)
ldi  r16,GICR
ldi  r17,0b00111111
and     r16,r17
ldi     r17,0b11000000
or  r16,r17
;out  GIMSK, r16 
out     GICR, r16
...
sei
...
isr_int_0:

push    r16  
;funktioniert in MAINLOP
pop  r16
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tiefkuehlpizza (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar, den PullDown vergessen - Mist und Danke!

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

Gruß
Pizza

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.