Bascom 2 Pineingänge an 1 Ausgang

OP #962385
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
Gast #962399
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)
OP #962571
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
Moderator (Firma: Titel) Persönliche Seite #962616
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.
Gast #963607
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren