Forum: Mikrocontroller und Digitale Elektronik Bascom 2 Pineingänge an 1 Ausgang


von Reinhard S. (reini)


Lesenswert?

Hallo

Ich komm da nicht weiter.
Ich will ne Fernbedienungsempfänger bauen.
es Funst alles bestens, bis auf folgendes Problem ich muß 2 Leitungen 
(Pinc.5 + Pinc.4) zur selben Zeit an 1 Ausgang (Portc.1) schalten mein 
Code haut irgentwie nicht hin.

 Case 8
      Portc.1 = Pinc.5
      Portc.1 = Pinc.4
      Waitms 200
      Portc.0 = 0
      Locate 1 , 10
      Lcd "P9"

Kann mir da jemand helfen?

mfg
reini

von crazy horse (Gast)


Lesenswert?

schreib mal genaum, was du willst...
Wenn eine H und eine L ist, können irgendwie nicht beide auf den Ausgang 
gehen :-)
In deinem Code bestimmt ausserdem nur PINC.4 den Zustand (ganz kurz auch 
mal PINC.5)

von Reinhard S. (reini)


Lesenswert?

Hallo

Also PinC.5 und PinC.4 sind High, PinC.1 ist Low. Am Gerät sind 2 
Taster, die ich durch den Atmega 8 ersetzen will. Das Kabel C.5 kommt 
vom Gerät, geht zu Taster 1 und am Kabel C.1 zurück. Das Kabel C.4 kommt 
vom Gerät, geht zu Taster 2 und am Kabel C.1 zurück. Das Gerät erkennt 
mit Hilfe der 2 Taster nun 3 verschiedene Befehle, nämlich Taste 1 
gedrücht, Taste 2 gedrückt und Taste 1 + 2 gleichzeitig gedrückt! Da ich 
nun beide Tasten ersetzen will habe ich eben Kabel C.5 an PinC.5, Kabel 
C.4 an PinC.4 und Kabel C.1 An PinC.1 des Atmega angeschlossen und 
wollte die 3 Schaltzustände mit dem Atmega machen. Es funst mit Befehl 1 
oder 2 bestens, nur eben nicht mit 3 (also beide gedrückt).

mfg
reini

von Moi (Gast)


Lesenswert?

Ich kenne mich mit Bascom nicht aus, aber müsste es nicht so heißen:

 Case 8
      Portc.1 = Pinc.5 + Pinc.4
      Waitms 200
      Portc.0 = 0
      Locate 1 , 10
      Lcd "P9"

von Moi (Gast)


Lesenswert?

Vergiss, was ich geschrieben habe!!!

von Moi (Gast)


Lesenswert?

Tatsache ist, dass es so nicht funktionieren ist. Und Tatsache ist, das 
wohl keiner versteht, was Du wirklich willst.

Eine Skizze wäre da sehr hilfrei.

von jo (Gast)


Lesenswert?

jo, mal mal ein Bild.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

1
Also PinC.5 und PinC.4 sind High, PinC.1 ist Low. Am Gerät sind 2
2
Taster, die ich durch den Atmega 8 ersetzen will. Das Kabel C.5 kommt
3
vom Gerät, geht zu Taster 1 und am Kabel C.1 zurück. Das Kabel C.4 kommt
4
vom Gerät, geht zu Taster 2 und am Kabel C.1 zurück. Das Gerät erkennt
5
mit Hilfe der 2 Taster nun 3 verschiedene Befehle, nämlich Taste 1
6
gedrücht, Taste 2 gedrückt und Taste 1 + 2 gleichzeitig gedrückt! Da ich
7
nun beide Tasten ersetzen will habe ich eben Kabel C.5 an PinC.5, Kabel
8
C.4 an PinC.4 und Kabel C.1 An PinC.1 des Atmega angeschlossen und
9
wollte die 3 Schaltzustände mit dem Atmega machen. Es funst mit Befehl 1
10
oder 2 bestens, nur eben nicht mit 3 (also beide gedrückt).

Mein Text2Schematic Konverter ist gerade abgestürzt... :(

Auf dieselbe Fläche passt locker ein Bild mit dem Schaltplan.
Das ist das anerkannte Kommunikationmittel unter Elektronikern.

Mein Vorschlag: Mal ein Bild, mach ein Foto und poste das.
Dann wird dir geholfen.

von JHeidi (Gast)


Lesenswert?

Ich denke Du betrachtest die Schaltung verkehrt herum. Meiner Meinung 
nach kommt der High-Pegel (oder Low, je nachdem) vom Kabel C.1 und wird 
über die Taster an die Kabel C.4 und C.5 gegeben. Nur auf diese Weise 
können 3 Schaltzustände erkannt werden.
Nach Deiner Ansicht, dass das Kabel C.1 der Eingang (am Gerät) ist, hast 
Du die beiden Tasten einfach ODER-verknüpft.
Die ATmega-Pins C4 und C5 müssen also Ausgänge sein und nicht Eingänge. 
Also in etwa so sollte es funktionieren:
1
Ddrc = &B11111100  
2
'PortC.0 = Eingang , PortC.1 = Eingang , PortC.2 - PortC.7 = Ausgänge
3
4
5
Portc = &B00000011
6
'Pullup-Widerstände an den Eingängen aktivieren für Taster die nach Masse schalten
7
'Ausgänge auf L setzen
8
9
   Main:
10
11
      If Pinc.0 = 0 Then
12
      Set Portc.4
13
      Else
14
      Reset Portc.4
15
      End If
16
17
      If Pinc.1 = 0 Then
18
      Set Portc.5
19
      Else
20
      Reset Portb.1
21
      End If
22
23
24
   Goto Main

Auf diese Weise sind die Ausgänge High solange die Taster gedrückt sind. 
Um den dritten Schaltzustand musst Du Dir auch keine Gedanken machen. 
Das funktioniert quasi nebenbei.

Jürgen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.