mikrocontroller.net

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


Autor: Moudi (Gast)
Datum:
Angehängte Dateien:

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

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.