Forum: Mikrocontroller und Digitale Elektronik Analogschalter mit 8 Ein-und Ausgänge


von Moudi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich bin noch Anfänger beim Programmieren und habe folgendes Problem:

ich habe 2 Analogschalter der Analog Device ADG714 mit 8 Eingänge D1 bis 
D8 und 8 Ausgänge S1 bis S8(siehe Datenblatt).

Beim ersten Schalter habe ich alle 8 Eingäne (D1 bis D2) zusammen 
geschlossen und an 2 V Spannung angeschlossen( siehe Bild)
Und beim zweiten Schalter habe ich genau so gemacht aber an 4 V Spannung 
angeschlossen(siehe Bild).

also ich möchte die Schalter (S1 bis S8)bei beide Analogschalter einzeln 
öffnen und schließen ( z.B S1_1 öffnen und alle andere Aus usw.) damit 
Spannung an die Stecker fliessen.

als µC habe ich Motorola MC9S08DZ60 mit 32 Pins.

mit Hilfe einen Freund konte ich folgende Funktion Schreiben :
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Funktion für die Analogschalter ADG714
void ADG_714 (uint Schalter, uint IC)

{
    int i;
    //Chip Select

    //IC3 an , IC4 aus
    if ( IC == 0 ){
  PTDD_PTDD1 = 0;
  PTED_PTED4 = 1;

  for(i=0;i<8;i++) {

    //Bit Senden
    PTDD_PTDD2 = Schalter >> 7;
    Schalter = (Schalter<<1);


    //CLK 1 setzen
    PTDD_PTDD3 = 1;

    // CLK 0 setzen
    PTDD_PTDD3 = 0;
                      }
    //Chip De-Select
          PTDD_PTDD1 =1;
    }

  //IC4 an, IC3 aus
          if (IC ==1){
  PTDD_PTDD1 = 1;
  PTED_PTED4 = 0;

  for(i=0;i<8;i++) {

    //Bit Senden
    PTED_PTED2 = Schalter >> 7;
    Schalter = (Schalter<<1);

    //CLK 1 setzen
    PTED_PTED3 = 1;

    // CLK 0 setzen
    PTED_PTED3 = 0;
                       }

  //Chip De-Select
          PTED_PTED4 =1;

}
  return ;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
im Hauptprogram ich schreibe einfach
ADG_714( welche S, welche analogschalter );


ich möchte jetzt aber mit Schleife machen dass im Hauptprogramm alleine 
alle Schalter S1 bis S8 bei beide analogschalter öffnen und schliessen 
.. aber es darf nicht z.B S1 beim ersten Analogschalter geschlossen und 
S1 beim zweiten auch geschlossen sein, es passiert Kurzschluss (siehe 
Bild)



mit meiner Function es wird nur geschlossen was ich eintippe z.B ich 
schreibe ADG_714( 255 , 1 ) in hauptprogramm dann alle Schalter S1...S8 
werden beim zweiten analogschalter geschlossen und es kommt 2 V spannung 
an die Stecker.


ich bin wirklich Dankbar wenn jemand mir hilft.

viele Grüße
Moudi

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.