Anfänger, ASM, Taster toggel Port

Gast #2255694
Lesenswert?
• ▲
▼
Hallo,
ich versuche einen einzelnen PinB jedes mal wenn ein Taster an PortD 
betätigt wurde ein bzw. aus zu schalten.
Beim Testen im AvrStudio5 läuft alles wie geplant (vorausgesetzt der 
PinD 4 wird manuell bedient).
Am ATMega168 wird an PB1 jedoch 2,5V angezeigt.
Meine Überlegung ging dahin das PB1 evtl. in schneller Folge 1|0 
geschaltet wird, was bedeuten würde das der Taster\PortD4 nach dem 
ersten Aufruf aktiv bleibt ?
1
include "m168def.inc"
2

3
 ldi  r16, 0xFF
4
 out  DDRB, r16      ;PortB Ausgang
5

6
 ldi  r16, 0x00 
7
 out  DDRD, r16      ;PortD Eingang
8

9
 ldi  r16, 0xFF
10
 out  PORTB, r16     ;PortB 0 (alle aus)
11

12
 sbi  PORTD, 4       ;PortD 4 auf eins, Interner Pullup aktiviert ?
13

14
 loop:  
15
 
16
    sbic PinD, 4     ; Naechsten Befehl ueberspringen wenn PinD4=0
17
                
18
    sbi PinB, 1      ; Bit PinB 1 toggeln ?
19

20
    rjmp loop        ; Endlosschleife in Loop

Danke im Voraus für eure Mühe.
Gast #2255813
Lesenswert?
• ▲
▼
Ja Uwe, ich habe das Datenblatt gelesen (s.73) aber wenig verstanden da 
ich wirklich ein Anfänger bin. Ob der 168 diese Funktion bietet war aber 
auch nicht die Frage.
Ich werde mich nun erstmal mit Entprellung und Flags beschäftigen und 
danke euch für die zahlreichen Antworten sowie den kompakten Code.

Antwort schreiben

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.

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.