loetstelle.net
Lötstelle Userforum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Multiplexer an Port D nutzen und ein NEUERstellt sich vor.

 
Neues Thema eröffnen   Neue Antwort erstellen    loetstelle.net Foren-Übersicht -> BASCOM
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
masterste2000



Anmeldungsdatum: 11.07.2011
Beiträge: 15

BeitragVerfasst am: Mo 11.Jul 2011 07:56:14    Titel: Multiplexer an Port D nutzen und ein NEUERstellt sich vor. Bauteile finden Antworten mit Zitat

Ein wunderschönen guten Morgen,

ich bin 37J alt und habe mir das Entwicklerbord von myAVR + LCD als Bausatz über E B A Y bestellt.
Am Freitag kam dann der Bausatz und war ca. nach 1Std schon betriebsbereit. Laughing
Dann habe ich mir die Demo von BASCOM besorgt und schon die erste kleinen Programme geschrieben.

Ich möchte gerne über vier Datenleitungen den Multiplexer (16bit 4067 bzw. 74HC4067) betreiben.

Welche schönen Lösungen in Bascom gibt es, um die 16 Multiplexerausgänge einfach anzusprechen zu können, ohne das die anderen vier Datenleitungen des Ports mit verändert werden.

Die Lösung über einen Hexwert an dem Port, würde die anderen vier
Datenleitungen mit betrachten.

Hat evtl. jemand eine Programmbeispiel?

Danke!

Gruß
Stephan
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sam



Anmeldungsdatum: 13.10.2008
Beiträge: 401

BeitragVerfasst am: Mo 11.Jul 2011 13:56:52    Titel: Bauteile finden Antworten mit Zitat

Mir fällt gerade nichts besseres als UND und ODER ein:

Code:
'Portx steht auf &b10101010 und soll &b10100101 werden
Portx = Portx AND &b11110000
Portx = Portx OR &b00000101


Ich habe das jetzt nur ganz kurz geschrieben, gebe also keine Garantie, dass dieser Code so stimmt. Aber das Prinzip dürfte korrekt sein.

_________________
„Zwei Dinge sind unendlich, das Universum und
die menschliche Dummheit, aber bei dem
Universum bin ich mir noch nicht ganz sicher.“
Albert Einstein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Alv



Anmeldungsdatum: 23.06.2009
Beiträge: 1145
Wohnort: Braunschweig

BeitragVerfasst am: Mo 11.Jul 2011 14:26:19    Titel: Bauteile finden Antworten mit Zitat

Sam hat folgendes geschrieben:
Mir fällt gerade nichts besseres als UND und ODER ein:

Code:
'Portx steht auf &b10101010 und soll &b10100101 werden
Portx = Portx AND &b11110000
Portx = Portx OR &b00000101


In Assembler würde ich das genauso machen,
oder die nötigen Bits direkt setzen/löschen. Ich weiß aber nicht, ob BASCOM sowas kann.

_________________
bd. Alv
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sam



Anmeldungsdatum: 13.10.2008
Beiträge: 401

BeitragVerfasst am: Mo 11.Jul 2011 15:03:19    Titel: Bauteile finden Antworten mit Zitat

Direkt setzen ginge natürlich auch. Das sähe dann so aus:

Code:
'Portx steht auf &b10101010 und soll &b10100101 werden
Portx.0 = 1
Portx.1 = 0
Portx.2 = 1
Portx.3 = 0

_________________
„Zwei Dinge sind unendlich, das Universum und
die menschliche Dummheit, aber bei dem
Universum bin ich mir noch nicht ganz sicher.“
Albert Einstein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
masterste2000



Anmeldungsdatum: 11.07.2011
Beiträge: 15

BeitragVerfasst am: Di 12.Jul 2011 09:38:55    Titel: Bauteile finden Antworten mit Zitat

Hi Zusammen,

ich habe mal folgende Lösung erstellt. Wie ich schon geschrieben habe, würde ich mich für eine kürzere Lösung interessieren. Kritik ist auch erwünscht!

Gruß
Stephan



'Ausgänge
OutB0 Alias Portb.0
OutB1 Alias Portb.1
OutB2 Alias Portb.2
OutB3 Alias Portb.3
OutB4 Alias Portb.4

Config OutB0 = Output
Config OutB1 = Output
Config OutB2 = Output
Config OutB3 = Output
Config OutB4 = Output


'Prozeduren

Declare Sub Set_MultiplexerPort(Multiplexer_Port As Byte)


Sub Set_MultiplexerPort(Multiplexer_Port As Byte)

Select Case Multiplexer_Port
Case "1"
OutB3 = 0
OutB2 = 0
OutB1 = 0
OutB0 = 0
Case "2"
OutB3 = 0
OutB2 = 0
OutB1 = 0
OutB0 = 1
Case "3"
OutB3 = 0
OutB2 = 0
OutB1 = 1
OutB0 = 0
Case "4"
OutB3 = 0
OutB2 = 0
OutB1 = 1
OutB0 = 1
Case "5"
OutB3 = 0
OutB2 = 1
OutB1 = 0
OutB0 = 0
Case "6"
OutB3 = 0
OutB2 = 1
OutB1 = 0
OutB0 = 1
Case "7"
OutB3 = 0
OutB2 = 1
OutB1 = 1
OutB0 = 0
Case "8"
OutB3 = 0
OutB2 = 1
OutB1 = 1
OutB0 = 1
Case "9"
OutB3 = 1
OutB2 = 0
OutB1 = 0
OutB0 = 0
Case "10"
OutB3 = 1
OutB2 = 0
OutB1 = 0
OutB0 = 1
Case "11"
OutB3 = 1
OutB2 = 0
OutB1 = 1
OutB0 = 0
Case "12"
OutB3 = 1
OutB2 = 0
OutB1 = 1
OutB0 = 1
Case "13"
OutB3 = 1
OutB2 = 1
OutB1 = 0
OutB0 = 0
Case "14"
OutB3 = 1
OutB2 = 1
OutB1 = 0
OutB0 = 1
Case "15"
OutB3 = 1
OutB2 = 1
OutB1 = 1
OutB0 = 0
Case "16"
OutB3 = 1
OutB2 = 1
OutB1 = 1
OutB0 = 1
Case Else
OutB3 = 0
OutB2 = 0
OutB1 = 0
OutB0 = 0
End Select
End Sub
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sam



Anmeldungsdatum: 13.10.2008
Beiträge: 401

BeitragVerfasst am: Di 12.Jul 2011 14:36:02    Titel: Bauteile finden Antworten mit Zitat

So kann man das machen. Aber ich glaube die Anführungszeichen um die Zahlen müssen weg. Sonst fragst du Strings ab.
Und mit ein bisschen Gestaltung sieht das dann so aus:

Code:
'Ausgänge
OutB0 Alias Portb.0
OutB1 Alias Portb.1
OutB2 Alias Portb.2
OutB3 Alias Portb.3
OutB4 Alias Portb.4

Config OutB0 = Output
Config OutB1 = Output
Config OutB2 = Output
Config OutB3 = Output
Config OutB4 = Output


'Prozeduren

Declare Sub Set_MultiplexerPort(Multiplexer_Port As Byte)

Sub Set_MultiplexerPort(Multiplexer_Port As Byte)
   Select Case Multiplexer_Port
      Case 1
         OutB3 = 0 ; OutB2 = 0 ; OutB1 = 0 ; OutB0 = 0
      Case 2
         OutB3 = 0 ; OutB2 = 0 ; OutB1 = 0 ; OutB0 = 1

   [...]

      Case 16
         OutB3 = 1 ; OutB2 = 1 ; OutB1 = 1 ; OutB0 = 1
      Case Else
         OutB3 = 0 ; OutB2 = 0 ; OutB1 = 0 ; OutB0 = 0
   End Select
End Sub

_________________
„Zwei Dinge sind unendlich, das Universum und
die menschliche Dummheit, aber bei dem
Universum bin ich mir noch nicht ganz sicher.“
Albert Einstein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Anzeige






Verfasst am: Heute 05:12:06    Titel: Bauteile finden

Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    loetstelle.net Foren-Übersicht -> BASCOM Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen


Powered by phpBB 2.x © 2001, 2002 phpBB Group

Sie sind Besucher Nr. 1200727
©opyright by Markus Vohburger 2005 All Rights reserved