PCINT Probleme bei Atmega48

Gast #1081933
Hallo habe folgendes Problem,
möchte mich gerne mit den PCINT versuchen und möchte einfach nur LEDs 
durch einen Interrupt an Pin8 an oder aus schalten. Aber irgendwie 
funktioniert es nicht. Wäre um hilfe sehr dankbar.

µC ist ein Atmega48

.include "m48def.inc"      ;Definitionsdatei laden

.def temp = r16
.def leds = r17

.cseg          ;Beginn eines Code-Segmentes
.org 0          ;Startadresse=0

.org PCINT1addr
        rjmp    interrupt       ; Interrupt Overflow Handler

main:
        ldi     temp, LOW(RAMEND)     ; Stackpointer initialisieren
        out     SPL, temp
        ldi     temp, HIGH(RAMEND)
        out     SPH, temp

  ldi  temp, (1<<PCIE1)
  sts  PCICR,temp
  ldi  temp, (1<<PCIF1)
  sts  PCIFR,temp
  ldi  temp, (1<<PCINT8)
  sts  PCMSK1, temp

  ldi  temp, 0x00        ; Port C Auf Eingang
  out  DDRC, temp
        ldi     temp, 0xFF            ; Port D auf Ausgang
        out     DDRD, temp
  out  PORTC, temp        ; Pull-Up Widerstände Port C einschalten

        ldi     leds, 0x00
  out  PORTD, leds

  sei

loop:  rjmp    loop

interrupt:                        ; Interrupt PCINT8 Overflow Handler

  com  leds          ;1er Komplement bilden von leds
  out  PORTD, leds
        reti

mfG

Sven
Gast
Hab aber noch eine frage, kann ich auslesen und vergleichen, welcher 
Taster grad gedrückt wurde? Wenn ich die Eingänge PCINT 8 - 11 als PCINT 
bestimme?

Vielleicht kennt ja einer dieses Reaktionsspiel, wo man farben sieht und 
die nachdrücken muss. Sowas in der Art möchten wir für nächstes jahr 
weihnachstmarkt bauen. dafür brauch ich nun 4 Taster, wo ich die 
reihenfolge vergleiche und wollte es auf diesem wege versuchen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.