ATTiny13 und Inputs

Gast #1380740
Lesenswert?
• ▲
▼
Hallo allerseits,
ich versuche gerade mich in die AVR-Assembler-Programmierung 
einzuarbeiten. Dafür wollte ich folgende Testanwendung schreiben:
- Pin3 als Output; es ist eine Led plus Widerstand angeschlossen
- Pin4 als Input; es ist ein Schalter angeschlossen
- Wenn auf Pin4 ein High-Signal anliegt, soll Pin3 auch auf High gehen, 
bzw. die Led soll angehen

Als erstes mal eine ganz einfache Frage:
Wie muss ich den Schalter an den Pin4 anschliessen? Muss ich den 
Schalter an Masse oder VCC anschliessen? Einen zusätzlichen Widerstand 
brauche ich eigentlich nicht, wenn ich den Pullup aktiviere, oder?

Bezüglich der Konfiguration bin ich folgendermaßen vorgegangen:
PORTB = 0b00101111
PINB  = 0b00010000

Wie kann ich in AVR-Studio den Input "simulieren"? Muss ich dafür den 
PINB (bzw. nur den Pin4) per Hand setzen (im Debug-Fenster)?

Tschoe, Hansi.
Persönliche Seite #1380789
Lesenswert?
• ▲
▼
Hansi schrieb:

> Hallo allerseits,
> ich versuche gerade mich in die AVR-Assembler-Programmierung
> einzuarbeiten.

Gerade mit dem Attiny13 könnte das Franzis-Paket dazu interessant sein:
http://www.elo-web.de/elo/mikrocontroller-und-programmierung/avr-grundlagen/experimente-mit-dem-attiny13

> Dafür wollte ich folgende Testanwendung schreiben:
> - Pin3 als Output; es ist eine Led plus Widerstand angeschlossen
> - Pin4 als Input; es ist ein Schalter angeschlossen
> - Wenn auf Pin4 ein High-Signal anliegt, soll Pin3 auch auf High gehen,
> bzw. die Led soll angehen

Lobenswert einfache Anfangsaufgabe!

> Als erstes mal eine ganz einfache Frage:
> Wie muss ich den Schalter an den Pin4 anschliessen? Muss ich den
> Schalter an Masse oder VCC anschliessen? Einen zusätzlichen Widerstand
> brauche ich eigentlich nicht, wenn ich den Pullup aktiviere, oder?

Du willst einen Active-High Schalter (Taster) haben. Im Nichtaktiven 
Zustand (Ruhezustand) soll der Schalter LOW liefern. Beim Drücken 
(Aktion), soll der Schalter den Pegel HIGH liefern. Da hilft ein 
interner Pullup-Widerstand nicht weiter 
(http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Tasten_und_Schalter).

> Bezüglich der Konfiguration bin ich folgendermaßen vorgegangen:
> PORTB = 0b00101111
> PINB  = 0b00010000

Schau dir die Bedeutung von DDRB an. Mit PORTB setzt du bei Ausgängen 
den Ausgangspegel und bei Eingängen den internen Pullup-Widerstand. Mit 
PINB fragst du Eingänge ab, ein Setzen von PINB macht man i.d.R. nicht.

> Wie kann ich in AVR-Studio den Input "simulieren"? Muss ich dafür den
> PINB (bzw. nur den Pin4) per Hand setzen (im Debug-Fenster)?

Yes.
Gast #1381770
Lesenswert?
• ▲
▼
Hallo Stefan,
danke für die Hinweise.

Bzgl. des Pullups:
Im grunde genommen kann ich auch einen Active-Low Schalter einsetzen. 
Das entspricht zwar nicht den Anforderungen, ist aber nicht tragisch, 
schließlich ist es nur eine selbstgestellte Anfangsaufgabe.

Bzgl. Franzis-Paket:
Ist eine gute Sache, keine Frage. Ich war aber etwas geizig und habe mir 
einen eigenen Parallel-Programmer gebaut (auf Basis eines HC 244). Es 
läuft soweit ganz gut. Beim Eval-Board habe ich ebenfalls was eigenes 
gebaut, daher auch die Fragen mit dem Schalter. Der Link ist 
diesbezüglich sehr hilfreich. Beim eigenen Rumstöbern bin ich leider 
nicht auf diese Seite gestossen.

Bzgl. PORTB und PINB:
Da habe ich mich vertippt. Ich meinte eigentlich:
DDRB  = 0b00101111
PORTB = 0b00010000
(Das kommt davon, wenn man nicht den "echten" Code postet).

Ich werde es mal anpassen und schauen, ob es klappt.

Tschoe, Hansi.

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.