Ich schau mal was isch machen kann.
Habe etwas Geduld.
Also nochmal von Vorn:
Mein Projekt
Mit einem puls an einem pin soll der timer1 starten.
mit einem weiteren soll der timer stoppen.
Ich lese den timer aus und erhalte dadurch eine Zahl ( 6 stellen ).
diese zahl möchte ich mit einer Multiplex-7 Segmentanzeige anzeigen.
Noch fragen?
Gut.
also das Problem:
Das mit dem timer klappt einwandfrei aber wie zeige ich die Variable mit
einer Multiplex an, davon hab ich keine Peilung, helft mir bitte.
Danke
Ich schau mal was isch machen kann.
Habe etwas Geduld.
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Ich hoffe das Dir das so passt.
Ein bisschen darfst Du auch noch machen
Code:' Bascom ' 7-Segment Multiplexer ' by darwin.nuernberg (roboternetz.de) ' Nicht vergessen entweder die Compiler Direktiven oder den Chip und Oszillatorfequenz einstellen. Const Dekaden = 4 ' Anzahl der Anzeigen (dekaden) Const Pulsdauer = 10000 ' Dauer eines Impulses Declare Function Segmentdecoder(byval C As String) As Byte Declare Sub Selector(byval Wert As Integer) Dim Segment(dekaden) As Byte ' Array für die Fertig berecheten Segmente Dim Demo As Byte ' Hauptprogramm ' ----------------------------------------------------------------------------- Call Selector(1234) ' Berechnet die Segmente der einzelnen Dekaden ' und legt diese im Array Segment() ab. ' Die folgenden Zeilen Zeigen Dir was rauskommt und können gelöscht werden. For Demo = 1 To Dekaden Print Bin(segment(demo)) Next Demo ' Ein bisschen darfst Du auch naoch was tun... ' Jetzt muß noch die Ausgabe erfolgen. ' Frage das Array ab, weise dem Port den Wert Zu ' z.B. Portb = segment(1) ' pulseout portd, 1 pulsdauer ' Portb = segment(2) ' pulseout portd, 2 pulsdauer ' usw. End 'end program ' ----------------------------------------------------------------------------- ' ----------------------------------------------------------------------------- Sub Selector(byval Wert As Integer) Dim S As String * Dekaden ' Stringvariable Länge = Anzeige Dim L As Byte ' Variable für Länge des Strings Dim X As Byte ' Zählervariable Dim Pos As Byte ' Variable für MID Funktion Dim Z As String * 1 Dim Segcode As Byte S = Str(wert) ' Wandle Wert in String L = Len(s) ' ermittle Länge des Strings If L > Dekaden Then L = Dekaden ' Verhindern dass mehr Anzeigen berechent werden ' als definiert und vorhanden sind. For X = 1 To L Pos = L - X Pos = Pos + 1 ' Beginne mit den Einer Stellen (rechts) Z = Mid(s , Pos , 1) ' Picke eine einzelnes Zeichen heraus Segcode = Segmentdecoder(z) ' Ermittle den Portcode für die Segmente Segment(x) = Segmentdecoder(z) Next X End Sub ' ----------------------------------------------------------------------------- Function Segmentdecoder(byval C As String) As Byte Select Case C Case "0" : Segmentdecoder = &B00111111 ' Bit 0 = Segment A Case "1" : Segmentdecoder = &B00000110 ' Bit 1 = Segment B Case "2" : Segmentdecoder = &B01011011 ' Bit 2 = Segment C Case "3" : Segmentdecoder = &B01001111 ' Bit 3 = Segment D Case "4" : Segmentdecoder = &B01100110 ' Bit 4 = Segment E Case "5" : Segmentdecoder = &B01101101 ' Bit 5 = Segment F Case "6" : Segmentdecoder = &B01111101 ' Bit 6 = Segment G Case "7" : Segmentdecoder = &B00000111 ' Bit 7 = Segment dp Case "8" : Segmentdecoder = &B01111111 Case "9" : Segmentdecoder = &B01101111 Case "." : Segmentdecoder = &B10000000 Case Else : Segmentdecoder = &B000000000 ' unerwartes Zeichen keine Ausgabe End Select 'Bit Segmente ' || G | F | E | D | C | B | A | ' --||---+---+---+---+---+---+---| ' 0 || 0 | 1 | 1 | 1 | 1 | 1 | 1 | ' 1 || 0 | 0 | 0 | 0 | 1 | 1 | 0 | ' 2 || 1 | 0 | 1 | 1 | 0 | 1 | 1 | ' 3 || 1 | 0 | 0 | 1 | 1 | 1 | 1 | ' 4 || 1 | 1 | 0 | 0 | 1 | 1 | 0 | ' 5 || 1 | 1 | 0 | 1 | 1 | 0 | 1 | ' 6 || 1 | 1 | 1 | 1 | 1 | 0 | 1 | ' 7 || 0 | 0 | 0 | 0 | 1 | 1 | 1 | ' 8 || 0 | 1 | 1 | 1 | 1 | 1 | 1 | ' 9 || 1 | 1 | 0 | 1 | 1 | 1 | 1 | End Function ' ----------------------------------------------------------------------------- End
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Das war das Was mir gefehlt hatte:
Vielen Dank [-o<Code:S = Str(wert) ' Wandle Wert in String L = Len(s) ' ermittle Länge des Strings If L > Dekaden Then L = Dekaden ' Verhindern dass mehr Anzeigen berechent werden ' als definiert und vorhanden sind. For X = 1 To L Pos = L - X Pos = Pos + 1 ' Beginne mit den Einer Stellen (rechts) Z = Mid(s , Pos , 1)
Grüßle
Schön, dass ich Dir helfen konnte,
ABER
Mit Deiner Fragestellung hättest Du noch lange auf die richtige Antwort warten dürfen.
Das meine Lösung gerade getroffen hat dürfte wohl eher ein Glückstreffer sein.
Überleg mal anhand dieses Beispiels:
Kommt ein Mann zum Arzt.
Mann: "Mir tut was weh."
Arzt: "Was tut ihnen denn weh?"
Mann: "Sind Sie der Arzt oder ich?!"
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
hi an alle,
ich hab da 'n problem, und zwar soll ich so'n elo-projekt fertig stellen, und hab NULL ahnung von elektronik!!! bitte kann mir jmd helfen...
und darum geht es...
durch eine 2 oder 3stellige 7segm.Anzeige auf einer platine wird die vergangene Zeit angezeigt, welche seit dem start eines
programms (z.B: C++) vergangen ist. Das Startsignal erfolgt über die Druckerschnittstelle.
also eine arbeitszeiterfassung.
BITTE um hilfe, wie sieht der Schaltplan aus und welche bauteile brauche ich alle dafür ?? muss nämlich bald bestellen und löten...
thx thx thx
hmm die sache ist wojhl etwas schwieriger als Eltrik-Noop.
Also das ist der schaltplan meines Frequenz zählers, den müsste man etwas abändern:
http://teslanikola.te.funpic.de/Bild...quenzcount.png
Du musst nur deinen Druckerport mit PinD.5 Verbinden und das ganze was am PinD.5 sonst hängt weglassen.
Tut mir leid aber fürs Programmen von µC habe ich leider keine Zeit sonst hätte ich dir gerne geholfen.
danke für den schaltplan teslanikola,
hmm, dieser plan ist ja mit nem microcontroller realisiert worden..
so wirklich weiter bringt mir das nicht, sry.
der schaltplan sollte zähler,timer und optokoppler(3x) beinhalten, hatte ich vergessen zu sagen, mein fehler.
ich hab mal ne skizze in paint angefertigt, wie ich mir das vorgestellt hatte...würd sie dir (teslanikola) schicken wenn ich email hätte..
meine mail: Christopher.85@hotmail.de
wäre echt nett wenn du oder irgendjmd. mir so einen schaltplan schicken würde (kann auch ne skizze sein, hauptsache man erkennt die einzellnen leitungen+bauteile)
und/oder mir bitte sagen könnte welche hardware-teile ich alles bestellen muss (ich denke mal zumindest: 3x optokoppler,1x centronic,
3x 7segmentanzeige,21+3x widerstäne,3xkondensatoren...........???...
rufe hiermit noch mal um dringende hilfe auf!!!!
PLEASE HELP ELO_NOOB (or GAST)
lehrer will am FR schon erste ansätze sehen....
Lesezeichen