mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATTiny13 und Inputs


Autor: Hansi (Gast)
Datum:

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

Autor: gasti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nabend,

http://www.mikrocontroller.net/articles/AVR-Tutorial

ist ein guter Anlaufpunkt.

MfG

Autor: Stefan B. (stefan) Benutzerseite
Datum:

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

> 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-Tu...).

> 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.

Autor: Hansi (Gast)
Datum:

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

Autor: Hansi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat am Ende funktioniert. Wie gesagt waren die Links sehr hilfreich.

Danke für die Hilfe.

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.