www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega 8 wie schalter auf pegel halten


Autor: Thomas St. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich arbeite derzeit an einem projekt und wíll wenn ich eine tasteter am 
PB0 drücke das sich der pegel High hält bis ich den taster wieder 
betätige.Will das gerne software mäsig machen

Danke im vorraus

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

was möchtest Du genau - doch nicht, dass der Pegel am Schalter auf "1" 
bleibt - oder ?

Otto

Autor: Thomas St. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich betätige den taster an PB0 dann soll der Atmega am ausgang PC0 
auf High schalten und erst wenn ich den taster am PB0 wieder betätige 
soll der pegel am PC0 wieder auf Low gehn

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. aktuellen Tasterzustand abfragen (Entprellen nicht vergessen).
2. wurde der Taster gedrückt, Zustand des PC0 ändern.
3. warten, solange der Taster gedrückt wurde
4. Zurück zu 1.

Da keine Angaben zur Programmiersprache gemacht wurden, sollte das 
reichen...

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Taster mit "pinb" abfragen und merken und abhängig vom gemerkten 
Ergebnis Portpin c setzen oder löschen

Otto

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>abhängig vom gemerkten Ergebnis Portpin c setzen oder löschen

Kann man per EXOR machen...

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder ne Drahtbruecke... duck

Autor: Thomas St. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich schreibe in Basic

regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000

Config Portc.0 = Output        'Ein Pin wird als Ausgang konfiguriert 
PC0
Config Pind.0 = Input          'Ein Pin (PA0) wird als Eingang definier
Porta.7 = 1                    'Interner Pullup Widerstand ein


Do
  If Pina.0 = 1 Then

Was dann

Autor: Vorschlag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Do
Debounce Pina.0 , 0 , Tgl , Sub
Loop

Tgl:
Toggle Portc.0
Return

Autor: Thomas St. (Firma: RF-I) (rasieel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich will jetzt damit aber mehrere  ausgäne so schalten wie muss ich das 
dann machen

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du toggelst den Port einfach jedes mal, wenn der Taster gedrueckt wird. 
Das kannst Du, indem Du den Portpin mit dem aktuellen Zustand 
verexklusivoderst. Ob ein Bit oder einen ganzen Port spielt dabei keine 
Rolle, das sind Bit-Operationen.

Michael

Autor: Thomas St. (Firma: RF-I) (rasieel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du ein beispiel code

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas St wrote:
> ich will jetzt damit aber mehrere  ausgäne so schalten wie muss ich das
> dann machen

Dann geh ich mal davon aus, dass der Vorschlag funktioniert hat.

> hast du ein beispiel code

Das ist jetzt aber nicht dein Ernst, oder?


Do
Debounce Pina.0 , 0 , Tgl , Sub
Loop

Tgl:
Toggle Portc.0
Toggle Portc.1
Return


Natürlich muss auch PC1 auf Ausgang geschaltet sein.

Schau dir doch bitte die benutzten Befehle in der BASCOM
Hilfe an.

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.