Pascal Frage zu Alpfa Anzeigen und code

Thorsten_Sch

Mitglied
31. Okt. 2010
152
0
16
47
HH
Sprachen
  1. BascomAVR
Frage zu Alpfa Anzeigen und zur schaltung code....BITTE UM RAT
Hallo liebes Forum und Bastler
Wünsche Allen noch ein Frohes Neues Jahr und viel gesundheit und was man noch wünscht

Ich würde gern wissen wie es mach bar währ ir diesen code

Code:
$regfile = "ATtiny2313.DAT"
$hwstack = 32
$swstack = 10
$framesize = 40
$lib "mcsbyte.lbx"

Config Portb = Output
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.6 = Input
Portd.6 = 0

Declare Sub Licht
Declare Sub Licht1

' Dim I As Byte
dim Seg1 as byte
dim Seg2 as byte
dim Seg3 as byte
dim Seg4 as byte
dim Bild as  Byte
dim j as  Byte

Do
If Pind.6 = 0 Then Gosub Licht
If Pind.6 = 1 Then Gosub Licht1
Loop

Sub Licht

'---Die 8 möglichen Laufschriftbilder definieren und eines davon auswählen---\
for Bild = 1 to 8
select case Bild
case 1
Seg1=&B00000000  '-
Seg2=&B00000000  '-
Seg3=&B00000000  '-
Seg4=&B01100010  'L

case 2
Seg1=&B00000000  '-
Seg2=&B00000000  '-
Seg3=&B01100010  'L
Seg4=&B11110010  'U

case 3
Seg1=&B00000000  '-
Seg2=&B01100010  'L
Seg3=&B11110010  'U
Seg4=&B10110110  'C

case 4
Seg1=&B01100010  'L
Seg2=&B11110010  'U
Seg3=&B01100011  'C
Seg4=&B10110110  'Y

case 5
Seg1=&B11110010  'U
Seg2=&B01100011  'C
Seg3=&B10110110  'Y
Seg4=&B00000000  '-

case 6
Seg1=&B01100011  'C
Seg2=&B10110110  'Y
Seg3=&B00000000  '-
Seg4=&B00000000  '-

case 7
Seg1=&B10110110  'Y
Seg2=&B00000000  '-
Seg3=&B00000000  '-
Seg4=&B00000000  '-

case 8
Seg1=&B00000000  '-
Seg2=&B00000000  '-
Seg3=&B00000000  '-
Seg4=&B00000000  '-

end select


for j = 1 to 100  'Zeitschleife. Wert verkleinern für schnelleren Durchlauf.
Portd = &B00000001 : Portb = Seg1 : Waitms 1
Portd = &B00000010 : Portb = Seg2 : Waitms 1
Portd = &B00000100 : Portb = Seg3 : Waitms 1
Portd = &B00001000 : Portb = Seg4 : Waitms 1
next j

next Bild
'---Die 8 möglichen Laufschriftbilder definieren und eines davon auswählen---/

End Sub


Sub Licht1

Portd = 1 : Portb = &B0000100
Waitms 200

End Sub

End


eine Alpfa Anzeige anzusteuern......?????
Habe noch nichts mit schiebe Register (74HC595) Gemacht oder ist das hier Sehe Bild ok?
Apfa Anzeige0.JPG

die anschlüsse von der nzeige ( a-DP ) kommen noch 2 anzeigen ran und von anzeige 1-3 gehen an Pin PD5-7 würde das hinhauen????? Ich bete zu euch Bitte um rat oder tipps :adore:


Bitte um rat
Mit Freundlichen Grüßen
Thorsten Sch.
 
Hi Thorsten,

dir auch noch ein schönes neues Jahr.

Also irgendwie paßt das aus deinem Beitrag nicht so ganz zusammen.

Das Programm scheint für eine 4stellige 7-Segment-Anzeige zu sein.

Dein Schaltplan ist aber scheinbar für eine 14-Segment-Anzeige (Alpahnumerische Anzeige).
Außerdem hast du wohl die gemeinsame Kathode vergessen. Im Schaltplan steht da "unbekannt".

Wie es sich anhört willst du eine 3stellige Alphanumerische Anzeige bauen. Also ohne Multiplex-Betrieb wird das nichts. Die gemeinsame Kathode (oder je nach Anzeigetyp auch Anode) kannst du nicht einfach auf einen IO-Pin legen. Der Strom für die ganzen LEDs röstet dir die Ausgangstreiber des Atmels. Da muß auf jeden Fall ein Transistor als Treiber dran. Bei einem Tiny2313 ist dann bis auf eine Logo-Darstellung so wie im angegebenen Programm auch nicht mehr drin. Für Bascom sind die 2k Flash für das Programm schon recht dünne. Tu dir nen Gefallen und nimm nen Mega8. Der hat mehr Luft für ein etwas größeres Programm.

Gruß
Dino
 
frage zur Alpfa anzeige ( Buchstaben anzeige )

hi nein soory bei der schaltung mit Attiny2313 sind 7 segmend anzeigen verbaut worden.....

meine frage gilt zur ALPFA anzeige ob man mit den code Also (7segmend anzeige) das gleiche machen kann oder da was ändern muss.....????
ich würde dafür den ATmega8 Nehmen und diese anzeigen PSC08-11SRWA.... ach ja die anzeigen werden mit einen BC337 Angesteuert....

was kann oder muss ich in den code ändern? oder gibt es noch andere mögöichkeiten.....

ich bitte um rat oder hilfe


Mit Freundlichen Grüßen Thorsten Sch.
 
Frage zu Alpfa Anzeigen und code
Hallo Forum Nutzer und bastler
Ich möchte wie im diesen beitrag eine laufschrieftanzeige dahrstellen mit Alpfa Anzeigen
hier ein foto und die daten

2013-02-10 11.04.14.jpg

1x ATmega8515
es sollen 5 Anzeigen werden (alpfa)
es sollen 5 Trasistoren zum ansteuern der anzeigen



und hier hab ich den code der soweit ja nur halb funktioniert brauch dabei mal ne hilfe ist das soweit ok oder kann man da noch was ändern
ich bitte um rat

hier der code


Quellcode




Code:
$regfile = "8515def.DAT"
$hwstack = 32
$swstack = 10
$framesize = 40
$lib "mcsbyte.lbx"

Config Porta = Output
Config Portb = Output
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.6 = Input
Portc.6 = 0

Declare Sub Licht
Declare Sub Licht1

Dim I As Byte

Do
If Pinc.6 = 0 Then Gosub Licht
If Pinc.6 = 1 Then Gosub Licht1
Loop

Sub Licht
Dim Seg1 As Byte
Dim Seg2 As Byte
Dim Seg3 As Byte
Dim Seg4 As Byte
Dim Seg5 As Byte
Dim Seg6 As Byte
Dim Seg7 As Byte
Dim Seg8 As Byte

Dim Bild As Byte
Dim J As Byte

'---Die 8 möglichen Laufschriftbilder definieren und eines davon auswählen---\
'Der Text Schiebt sich Von Rechts Nach links Rein-----
For Bild = 1 To 6
Select Case Bild
Case 1
Seg1 = &B11111111                                       	'-
Seg2 = &B00000000                                       	'-
Seg3 = &B11111111                                       	'-
Seg4 = &B00000000                                       	'-
Seg5 = &B11111111                                       	'-
Seg6 = &B11110000                                       	'-
Seg7 = &B00001111                                       	'-
Seg8 = &B11110000                                       	'-

Case 2
Seg1 = &B00001111                                       	'-
Seg2 = &B11110000                                       	'-
Seg3 = &B00001111                                       	'-
Seg4 = &B11110000                                       	'-
Seg5 = &B00001111                                       	'-
Seg6 = &B11110000                                       	'-
Seg7 = &B00001111                                       	'-
Seg8 = &B11110000                                       	'-

Case 3
Seg1 = &B00000000                                       	'-
Seg2 = &B11110000                                       	'-
Seg3 = &B00000000                                       	'-
Seg4 = &B00000000                                       	'-
Seg5 = &B00000000                                       	'-
Seg6 = &B00111111                                       	'-
Seg7 = &B00000000                                       	'-
Seg8 = &B00000000                                       	'-

Case 4
Seg1 = &B00000000                                       	'-
Seg2 = &B00111100                                       	'-
Seg3 = &B00000000                                       	'-
Seg4 = &B00111111                                       	'-
Seg5 = &B00000011                                       	'-
Seg6 = &B00000000                                       	'-
Seg7 = &B00000000                                       	'-
Seg8 = &B00000000                                       	'-

Case 5
Seg1 = &B00000000                                       	'-
Seg2 = &B00000000                                       	'-
Seg3 = &B00000000                                       	'-
Seg4 = &B00000000                                       	'-
Seg5 = &B00000000                                       	'-
Seg6 = &B00000000                                       	'-
Seg7 = &B00000000                                       	'-
Seg8 = &B00000000                                       	'-

End Select


For J = 1 To 200                                        	'Zeitschleife. Wert verkleinern für schnelleren Durchlauf.
Portc = &B00000001 : Portb = Seg1 : Porta = Seg2 : Waitms 1
Portc = &B00000010 : Portb = Seg3 : Porta = Seg4 : Waitms 1
Portc = &B00000100 : Portb = Seg5 : Porta = Seg6 : Waitms 1
Portc = &B00001000 : Portb = Seg7 : Porta = Seg8 : Waitms 1
Next J

Next Bild
'---Die 8 möglichen Laufschriftbilder definieren und eines davon auswählen---/

End Sub


Sub Licht1

Portd = 1 : Portb = &B0000100
Waitms 200

End Sub
End



Ich Bitte Um rat und tipps, Mit Freundliche
Grüße Thorsten Sch.
3D LED-CUBE - Finde ich mega Cool.......
PS: soory hab etwas mit der Schreib weise Soory...........
 
Hi Thorsten
Ohne jetzt in BASCOM oder in irgendeine andere Programmiersprache einzusteigen, vielleicht mal einen Universaltip.
Du hast 14 Segmente, daher reicht ein Port nicht, um alle Segmente anzusteuern. Zusätzlich brauchst du für jede Ziffer einen Gemeinsamen. Nun möchtest du so etwas wie eine Laufschrift programmieren. Zuerst die Frage: im 7 Segment - Format ? oder gleich mit den 14 ?
Dazu solltest du dir im Klaren sein, wie die Ausgabe funktioniert. Zuerst einmal angenommen, du hast 4 Ziffern. Dann brauchst du 18 Ausgänge. 2x7 und 4 für die Stellen. Also schaffst du dir ein Array, in dem du den Code ablegst. z.B. die ASCII-Tabelle der Großbuchstaben und Ziffern. Sagen wir, du kommst mit 128 Zeichen aus, dann brauchst du z. B. 256 Speicherzellen, um den Code im schellen Zugriff zu haben.Könnte man mit zwei Bereichen a 128 Byte machen, dann adressierst du
Startadresse der Tabelle + Char-Wert = LowByte +128 HighByte
oder, und das läßt sich dann vielleicht etwas leichter codieren:
Startadresse der Tabelle+Char-Wert * 2= LowByte +1 = HighByte
In deinem Ausgabepuffer hast du dann 4 ASCII-Werte stehen, z.B. 31h, 32h ,35h, 39h (Anzeige 1259)
Vorgang Ausgabe mit Multiplex im Timer-Interrupt ca. jede mSek:

Alle gemeinsame aus
Adresszeiger Puffer erhöhen, wenn > 3 dann wieder 0
Zeiger für Ziffer auf nächste Ziffer, wenn >Bit 3 dann Bit 0
Wert lesen
Tabelle adressieren und Highbyte sowie LowByte den Segment-Ports zuweisen.
Anzeige zuschalten
Ende der ISR - Multiplexteil

Im Wertepuffer aktualisierst du den Inhalt mit dem laufenden Programm. Willst du eine Laufschrift, dann schiebst du nicht den Code, sondern die 4 Werte im Puffer. Da reicht es, dies im Programm durchzuführen, denn du willst ja den Text lesen und nicht vermuten, das es einer war. Das würde passieren, wenn du in der schnellen ISR schiebst. Also, in der mSek-ISR ruhig eine Zeitbasis von 0,5 Sek oder 1 Sek ableiten und dann ein Jobflag setzen, welches du in deiner Programmschleife abfragst, und gegebenenfalls eine Bearbeitung mit anschließendem Löschen durchführst. Etwa so:

In der ISR:
If msek=1000
setze Jobflag
mSek = 0
....

In der Programmschleife:
If Jobflag
machwas
Jobflag = 0
end If
....

Ich hoffe, es hilft dir etwas weiter
Gruß oldmax
 
frage zur Alpfa anzeige (16Segment Anzeige)

Hallo Forum Nutzer und bastler und die noch welche werden wollen.

Ich habe es jetzt hinbekommen "ohne" hilfe. schaut hier habe ich das auf ein steckbrett erstellt 4x 16Segmend Anzeige.
wenn kontakt geschlossen ist zeigt er einen anderen text an schaut rein HIER...

aber warum leuchten die anzeigen nach das nervt mich noch enwinig.....

Und hier mal der code
Code:
$regfile = "8515def.DAT"
$hwstack = 32
$swstack = 10
$framesize = 40
$lib "mcsbyte.lbx"

Config Porta = Output
Config Portb = Output
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portd.7 = Input
Portd.7 = 1

Declare Sub Licht
Declare Sub Licht1

Dim I As Byte
Dim E As Byte


Do
If Pind.7 = 0 Then Gosub Licht
If Pind.7 = 1 Then Gosub Licht1
Loop

Sub Licht
Dim Seg1 As Byte
Dim Seg2 As Byte
Dim Seg3 As Byte
Dim Seg4 As Byte
Dim Seg5 As Byte
Dim Seg6 As Byte
Dim Seg7 As Byte
Dim Seg8 As Byte

Dim Bild As Byte
Dim J As Byte

'---Die 8 möglichen Laufschriftbilder definieren und eines davon auswählen---\
'Der Text Schiebt sich Von Rechts Nach links Rein-----
For Bild = 1 To 47
Select Case Bild
Case 1
Seg1 = &B00000000                                           '-
Seg2 = &B00000000                                           '-
Seg3 = &B00000000                                           '-
Seg4 = &B00000000                                           '-
Seg5 = &B00000000                                           '-
Seg6 = &B00000000                                           '-
Seg7 = &B00000010                                           'F
Seg8 = &B10011001                                           'F

(Hier fehlen noch welche zeilen zu gross)
Case 25
Seg1 = &B10000001                                           'L
Seg2 = &B10001000                                           'L
Seg3 = &B11001001                                           'U
Seg4 = &B10001000                                           'U
Seg5 = &B10000011                                           'C
Seg6 = &B10001001                                           'C
Seg7 = &B00000100                                           'Y
Seg8 = &B00100100                                           'Y

Case 26
Seg1 = &B11001001                                           'U
Seg2 = &B10001000                                           'U
Seg3 = &B10000011                                           'C
Seg4 = &B10001001                                           'C
Seg5 = &B00000100                                           'Y
Seg6 = &B00100100                                           'Y
Seg7 = &B00110100                                           '*
Seg8 = &B01110110                                           '*

Case 27
Seg1 = &B10000011                                           'C
Seg2 = &B10001001                                           'C
Seg3 = &B00000100                                           'Y
Seg4 = &B00100100                                           'Y
Seg5 = &B00110100                                           '*
Seg6 = &B01110110                                           '*
Seg7 = &B00100100                                           'K
Seg8 = &B10011000                                           'K

Case 28
Seg1 = &B00000100                                           'Y
Seg2 = &B00100100                                           'Y
Seg3 = &B00110100                                           '*
Seg4 = &B01110110                                           '*
Seg5 = &B00100100                                           'K
Seg6 = &B10011000                                           'K
Seg7 = &B10000001                                           'L
Seg8 = &B10001000                                           'L

Case 29
Seg1 = &B00110100                                           '*
Seg2 = &B01110110                                           '*
Seg3 = &B00100100                                           'K
Seg4 = &B10011000                                           'K
Seg5 = &B10000001                                           'L
Seg6 = &B10001000                                           'L
Seg7 = &B10000011                                           'E
Seg8 = &B10011001                                           'E

Case 30
Seg1 = &B00100100                                           'K
Seg2 = &B10011000                                           'K
Seg3 = &B10000001                                           'L
Seg4 = &B10001000                                           'L
Seg5 = &B10000011                                           'E
Seg6 = &B10011001                                           'E
Seg7 = &B01001100                                           'M
Seg8 = &B10001100                                           'M

Case 31
Seg1 = &B10000001                                           'L
Seg2 = &B10001000                                           'L
Seg3 = &B10000011                                           'E
Seg4 = &B10011001                                           'E
Seg5 = &B01001100                                           'M
Seg6 = &B10001100                                           'M
Seg7 = &B10000011                                           'E
Seg8 = &B10011001                                           'E

Case 32
Seg1 = &B10000011                                           'E
Seg2 = &B10011001                                           'E
Seg3 = &B01001100                                           'M
Seg4 = &B10001100                                           'M
Seg5 = &B10000011                                           'E
Seg6 = &B10011001                                           'E
Seg7 = &B01101000                                           'N
Seg8 = &B10001100                                           'N

Case 33
Seg1 = &B01001100                                           'M
Seg2 = &B10001100                                           'M
Seg3 = &B10000011                                           'E
Seg4 = &B10011001                                           'E
Seg5 = &B01101000                                           'N
Seg6 = &B10001100                                           'N
Seg7 = &B11010011                                           'S
Seg8 = &B00011001                                           'S

Case 34
Seg1 = &B10000011                                           'E
Seg2 = &B10011001                                           'E
Seg3 = &B01101000                                           'N
Seg4 = &B10001100                                           'N
Seg5 = &B11010011                                           'S
Seg6 = &B00011001                                           'S
Seg7 = &B00110100                                           '*
Seg8 = &B01110110                                           '*

Case 35
Seg1 = &B01101000                                           'N
Seg2 = &B10001100                                           'N
Seg3 = &B11010011                                           'S
Seg4 = &B00011001                                           'S
Seg5 = &B00110100                                           '*
Seg6 = &B01110110                                           '*
Seg7 = &B11011011                                           'B
Seg8 = &B00100011                                           'B

Case 36                                                     
Seg1 = &B11010011                                           'S
Seg2 = &B00011001                                           'S
Seg3 = &B00110100                                           '*
Seg4 = &B01110110                                           '*
Seg5 = &B11011011                                           'B
Seg6 = &B00100011                                           'B
Seg7 = &B10000011                                           'E
Seg8 = &B10011001                                           'E

Case 37
Seg1 = &B00110100                                           '*
Seg2 = &B01110110                                           '*
Seg3 = &B11011011                                           'B
Seg4 = &B00100011                                           'B
Seg5 = &B10000011                                           'E
Seg6 = &B10011001                                           'E
Seg7 = &B01101000                                           'N
Seg8 = &B10001100                                           'N

Case 38
Seg1 = &B11011011                                           'B
Seg2 = &B00100011                                           'B
Seg3 = &B10000011                                           'E
Seg4 = &B10011001                                           'E
Seg5 = &B01101000                                           'N
Seg6 = &B10001100                                           'N
Seg7 = &B00010000                                           '-
Seg8 = &B00010000                                           '-

Case 39
Seg1 = &B10000011                                           'E
Seg2 = &B10011001                                           'E
Seg3 = &B01101000                                           'N
Seg4 = &B10001100                                           'N
Seg5 = &B00010000                                           '-
Seg6 = &B00010000                                           '-
Seg7 = &B10000001                                           'L
Seg8 = &B10001000                                           'L

Case 40
Seg1 = &B01101000                                           'N
Seg2 = &B10001100                                           'N
Seg3 = &B00010000                                           '-
Seg4 = &B00010000                                           '-
Seg5 = &B10000001                                           'L
Seg6 = &B10001000                                           'L
Seg7 = &B11001001                                           'U
Seg8 = &B10001000                                           'U

Case 41
Seg1 = &B00010000                                           '-
Seg2 = &B00010000                                           '-
Seg3 = &B10000001                                           'L
Seg4 = &B10001000                                           'L
Seg5 = &B11001001                                           'U
Seg6 = &B10001000                                           'U
Seg7 = &B00100100                                           'K
Seg8 = &B10011000                                           'K

Case 42
Seg1 = &B10000001                                           'L
Seg2 = &B10001000                                           'L
Seg3 = &B11001001                                           'U
Seg4 = &B10001000                                           'U
Seg5 = &B00100100                                           'K
Seg6 = &B10011000                                           'K
Seg7 = &B01011010                                           'A
Seg8 = &B10011001                                           'A

Case 43
Seg1 = &B11001001                                           'U
Seg2 = &B10001000                                           'U
Seg3 = &B00100100                                           'K
Seg4 = &B10011000                                           'K
Seg5 = &B01011010                                           'A
Seg6 = &B10011001                                           'A
Seg7 = &B11010011                                           'S
Seg8 = &B00011001                                           'S

Case 44
Seg1 = &B00100100                                           'K
Seg2 = &B10011000                                           'K
Seg3 = &B01011010                                           'A
Seg4 = &B10011001                                           'A
Seg5 = &B11010011                                           'S
Seg6 = &B00011001                                           'S
Seg7 = &B00000000                                           '-
Seg8 = &B00000000                                           '-

Case 45
Seg1 = &B01011010                                           'A
Seg2 = &B10011001                                           'A
Seg3 = &B11010011                                           'S
Seg4 = &B00011001                                           'S
Seg5 = &B00000000                                           '-
Seg6 = &B00000000                                           '-
Seg7 = &B00000000                                           '-
Seg8 = &B00000000                                           '-

Case 46
Seg1 = &B11010011                                           'S
Seg2 = &B00011001                                           'S
Seg3 = &B00000000                                           '-
Seg4 = &B00000000                                           '-
Seg5 = &B00000000                                           '-
Seg6 = &B00000000                                           '-
Seg7 = &B00000000                                           '-
Seg8 = &B00000000                                           '-

Case 47
Seg1 = &B00000000                                           '-
Seg2 = &B00000000                                           '-
Seg3 = &B00000000                                           '-
Seg4 = &B00000000                                           '-
Seg5 = &B00000000                                           '-
Seg6 = &B00000000                                           '-
Seg7 = &B00000000                                           '-
Seg8 = &B00000000                                           '-

End Select


For J = 1 To 150                                            'Zeitschleife. Wert verkleinern für schnelleren Durchlauf.
Portc = &B00000001 : Porta = Seg1 : Portb = Seg2 : Waitms 1
Portc = &B00000010 : Porta = Seg3 : Portb = Seg4 : Waitms 1
Portc = &B00000100 : Porta = Seg5 : Portb = Seg6 : Waitms 1
Portc = &B00001000 : Porta = Seg7 : Portb = Seg8 : Waitms 1
Next J

Next Bild
'---Die 1von99 möglichen Laufschriftbilder definieren und eines davon auswählen---/

End Sub


Sub Licht1
Dim Seg1a As Byte
Dim Seg2a As Byte
Dim Seg3a As Byte
Dim Seg4a As Byte
Dim Seg5a As Byte
Dim Seg6a As Byte
Dim Seg7a As Byte
Dim Seg8a As Byte

Dim Bild1 As Byte
Dim A As Byte

'---Die 8 möglichen Laufschriftbilder definieren und eines davon auswählen---\
'Der Text Schiebt sich Von Rechts Nach links Rein-----

For Bild = 1 To 11
Select Case Bild

Case 1
Seg1a = &B00000000                                          '-
Seg2a = &B00000000                                          '-
Seg3a = &B00000000                                          '-
Seg4a = &B00000000                                          '-
Seg5a = &B00000000                                          '-
Seg6a = &B00000000                                          '-
Seg7a = &B00000010                                          'T
Seg8a = &B00100011                                          'T

Case 2
Seg1a = &B00000000                                          '-
Seg2a = &B00000000                                          '-
Seg3a = &B00000000                                          '-
Seg4a = &B00000000                                          '-
Seg5a = &B00000010                                          'T
Seg6a = &B00100011                                          'T
Seg7a = &B11001011                                          'O
Seg8a = &B10001001                                          'O

Case 3
Seg1a = &B00000000                                          '-
Seg2a = &B00000000                                          '-
Seg3a = &B00000010                                          'T
Seg4a = &B00100011                                          'T
Seg5a = &B11001011                                          'O
Seg6a = &B10001001                                          'O
Seg7a = &B00111010                                          'R
Seg8a = &B10011001                                          'R

Case 4
Seg1a = &B00000010                                          'T
Seg2a = &B00100011                                          'T
Seg3a = &B11001011                                          'O
Seg4a = &B10001001                                          'O
Seg5a = &B00111010                                          'R
Seg6a = &B10011001                                          'R
Seg7a = &B00010000                                          '-
Seg8a = &B00010000                                          '-

Case 5
Seg1a = &B11001011                                          'O
Seg2a = &B10001001                                          'O
Seg3a = &B00111010                                          'R
Seg4a = &B10011001                                          'R
Seg5a = &B00010000                                          '-
Seg6a = &B00010000                                          '-
Seg7a = &B01011010                                          'A
Seg8a = &B10011001                                          'A

Case 6
Seg1a = &B00000010                                          'R
Seg2a = &B01000011                                          'R
Seg3a = &B00010000                                          '-
Seg4a = &B00010000                                          '-
Seg5a = &B01011010                                          'A
Seg6a = &B10011001                                          'A
Seg7a = &B11001001                                          'U
Seg8a = &B10001000                                          'U

Case 7
Seg1a = &B00010000                                          '-
Seg2a = &B00010000                                          '-
Seg3a = &B01011010                                          'A
Seg4a = &B10011001                                          'A
Seg5a = &B11001001                                          'U
Seg6a = &B10001000                                          'U
Seg7a = &B00000010                                          'F
Seg8a = &B10011001                                          'F

Case 8
Seg1a = &B01011010                                          'A
Seg2a = &B10011001                                          'A
Seg3a = &B11001001                                          'U
Seg4a = &B10001000                                          'U
Seg5a = &B00000010                                          'F
Seg6a = &B10011001                                          'F
Seg7a = &B00000000                                          '
Seg8a = &B00000000                                          '

Case 9
Seg1a = &B11001001                                          'U
Seg2a = &B10001000                                          'U
Seg3a = &B00000010                                          'F
Seg4a = &B10011001                                          'F
Seg5a = &B00000000                                          '
Seg6a = &B00000000                                          '
Seg7a = &B00000000                                          '
Seg8a = &B00000000                                          '

Case 10
Seg1a = &B00000010                                          'F
Seg2a = &B10011001                                          'F
Seg3a = &B00000000                                          '
Seg4a = &B00000000                                          '
Seg5a = &B00000000                                          '
Seg6a = &B00000000                                          '
Seg7a = &B00000000                                          '
Seg8a = &B00000000                                          '

Case 11
Seg1a = &B00000000                                          '
Seg2a = &B00000000                                          '
Seg3a = &B00000000                                          '
Seg4a = &B00000000                                          '
Seg5a = &B00000000                                          '
Seg6a = &B00000000                                          '
Seg7a = &B00000000                                          '
Seg8a = &B00000000                                          '

End Select


For A = 1 To 150                                            'Zeitschleife. Wert verkleinern für schnelleren Durchlauf.
Portc = &B00000001 : Porta = Seg1a : Portb = Seg2a : Waitms 1
Portc = &B00000010 : Porta = Seg3a : Portb = Seg4a : Waitms 1
Portc = &B00000100 : Porta = Seg5a : Portb = Seg6a : Waitms 1
Portc = &B00001000 : Porta = Seg7a : Portb = Seg8a : Waitms 1
Next A

Next Bild1
'---Die 1 von 99 möglichen Laufschriftbilder definieren und eines davon auswählen---/

End Sub

End

Mit Freundlichen Grüßen
Thorsten Sch.
 
Hi
aber warum leuchten die anzeigen nach das nervt mich noch enwinig.....
Wenn du gelesen hast, was ich geschrieben habe, solltest du das Nachleuchten zuordnen können....
Alle gemeinsame aus
Adresszeiger Puffer erhöhen, wenn > 3 dann wieder 0
Zeiger für Ziffer auf nächste Ziffer, wenn >Bit 3 dann Bit 0
Wert lesen
Tabelle adressieren und Highbyte sowie LowByte den Segment-Ports zuweisen.
Anzeige zuschalten
Ende der ISR - Multiplexteil
Der Punkt ist, das die Multiplexgeschichte im Timer aufgerufen wird. Das ergibt erst einmal gleichbleibende Helligkeit und kein Flackern. Wichtig ist, um ein "Nachleuchten" zu vermeiden, zuerst die Anzeige dunkel zu schalten, sozusagen den gemeinsamen abzuknipsen. Dann die neue Zahl vorbereiten und erst, wenn die einzelnen Segmente neu gesetzt sind, die Ziffer zuschalten.
Der kurze Abschaltmoment reicht in der Regel, die Transistoren sauber umzusteuern.
Zum Thema Rechtschreibung und Schreibstil.
Ich glaub nicht, das es hier irgeneinen wirklich interressiert, ob du die Rechtschreibung beherrscht oder nicht. Aber, es ist nervig, verstümmelten Text zusammenzubasteln und da ist es einfacher, sich gar nicht erst um Hilfestellung zu bemühen. Wir bekommen nämlich keine Kohle und es ist unsere Zeit, die wir zur Verfügung stellen. Außerdem, du tust dir selbst einen Gefallen, wenn du etwas darauf achtest, denn stell dir vor, du bewirbst dich mal....
"Und ich würd gern Programmierer werden" :hahaha:
Programmieren ist nicht nur etwas auf einem Computer, sondern viel mehr ist Dokumentation. Und das lesen die Kunden. Meinst du, wenn du bei einer Software schlampig geschriebene Texte lesen würdest, das du Vertrauen zum Programm hast ? Also, mit einem solchen Berufswunsch geht denn doch etwas Schulbildung konform.
Daher ist es eher ein Rat, bei der Rechtschreibung bemüht zu sein, als eine Schelte.... Aber wie gesagt, es ist dein Leben und andere sind froh, das ihre Rechtschreibung bei den Bewerbungen doch besser ankommen und die Wunschberufe nicht unbedingt unerreichbar sind.
Ansonsten noch viel Spaß mit deinem Hobby
Gruß oldmax
 
Hallo oldmax, und hobby bastler

ja vielen dank für deinen 1 tipp und zu der rechtschreibung darum steht es ja unten drin und soory das wie du so viel schreiben hattes.....
aber danke nochmal....

Mit freundlichen Grüssen
Thorsten sch.
 
Frage zum code

Hallo Forum und Bastler

Ich habe ein proplem mir meinen code irgendwie ist er bascom zu lang oder zu gross?
nu meine frage......

Ist es irgend wie möglich mit diesen code eine laufschrieft hinzubekommen?????
es ist voher für einen ATmega 8 gewesen einen Cube Duo 3x3x3x

Code:
$regfile = "8515def.DAT"
$hwstack = 32
$swstack = 10
$framesize = 40
$crystal = 8000000                                          ' Achtung: Taktfrequenz per Fusebits auf 8 MHz einstellen!

Ddra = &B11111111
Ddrb = &B11111111                                           ' Ports auf Ausgang setzen
Ddrc = &B01111111

Dim Bild As Word                                            ' Variablen deklarieren
Dim Ebene As Byte
Dim Dauer As Word
Dim Temp As Word
Dim Temp1 As Byte
Dim Offset As Word
Dim Pgm_zaehler As Word

Do

For Pgm_zaehler = 0 To 12                                   ' Programmschritte durchzŠhlen (Anzahl siehe unten beim Programm)

  Temp = Pgm_zaehler * 2                                    ' Daten-Position Bild-Nummer in Programmtabelle, pro Programmschritt 2 Zahlen
  Bild = Lookup(temp , Programm)                            ' Bild-Nummer aus Tabelle holen

  Temp = Temp + 1                                           ' Dauer ist die nŠchste Zahl
  Dauer = Lookup(temp , Programm)                           ' Dauer aus Tabelle holen

  For Temp = 0 To Dauer                                     ' Dauer des Bildes, pro Durchlauf ca. 15 ms

    For Ebene = 0 To 2                                      ' 3 Ebenen durchmultiplexen

      Offset = Bild * 6                                     ' Offset Berechnen, 6 Byte pro Bild
      Temp1 = Ebene * 2                                     ' 2 Byte pro Ebene
      Offset = Offset + Temp1

      Portc = Lookup(offset , Muster)                       ' 1. Byte-Muster ausgeben
      Offset = Offset + 1
      Porta = Lookup(offset , Muster)                       ' 2. Byte-Muster ausgeben
      Offset = Offset + 2
      Portb = Lookup(offset , Muster)

      Waitms 5                                              ' diese Ebene fŸr 5 ms anzeigen

    Next Ebene

  Next Temp

Next Pgm_zaehler

Loop                                                        ' Programm von vorne beginnen

End

'-------------------------------------------------------------------------------------------------
Programm:

Data 1% , 20%                                               ' 1. Bild mit Dauer 20 anzeigen     'Ebenen von oben nach unten
Data 2% , 20%                                               ' 2. Bild mit Dauer 20 anzeigen
Data 3% , 20%                                               ' 3. Bild mit Dauer 20 anzeigen

Data 1% , 40%                                               ' 1. Bild mit Dauer 40 anzeigen
Data 2% , 40%                                               ' 2. Bild mit Dauer 40 anzeigen
Data 3% , 40%                                               ' 3. Bild mit Dauer 40 anzeigen

Data 1% , 60%                                               ' 1. Bild mit Dauer 60 anzeigen
Data 2% , 60%                                               ' 2. Bild mit Dauer 60 anzeigen
Data 3% , 60%                                               ' 3. Bild mit Dauer 60 anzeigen

Data 4% , 80%                                               ' 4. Bild mit Dauer 80 anzeigen    ' Wechsel Kreuz-Ecken
Data 5% , 80%                                               ' 5. Bild mit Dauer 80 anzeigen

Data 4% , 80%                                               ' 4. Bild mit Dauer 80 anzeigen
Data 5% , 80%                                               ' 5. Bild mit Dauer 80 anzeigen

' insg. 13 Programmschritte

'-------------------------------------------------------------------------------------------------
Muster:

' Obere Ebene

Data &B01000000 , &B00011111 , &00111000                    '1. Bild  Ebene 1

' Mittlere Ebene

Data &B01000000 , &B00000000 , &00000000                    '2. Bild  Ebene 1

' Untere Ebene

Data &B01000000 , &B00000000 , &00000000                    '3. Bild  Ebene 1


' Kreuz

Data &B01000000 , &B00010000 , &00000000                    '4. Bild  Ebene 1


' Ecken

Data &B01000001 , &B01000101 , &00000000                    '5. Bild  Ebene 1


Data 1%                                                     ' 1 Bilder in der Animation

Data &B01000000 , &B00111000 , &00000000                    ' Bild 1


Data &B01000000 , &B00111111 , &00000000                    ' Bild 2

das man da in data da irgendwie die namen anzeigen lasse?

der name würde so aussehen = WILLKOMMEN BEI FA-SCHUSTER*MAMA*PAPA*KIND*KIND*KIND

Ich bitte euch rum rat oder tipps....

ach so, so sieht die latine aus ( fertig )
2013-03-08 019.04.09.jpg
2013-03-08 19.21.41.jpg


Mit Freundlichen grüßen
Thorsten Sch.
 
Hallo Thorsten!

Ich weiß nicht genau was du meinst....
von wegen Programmcode zu groß, oder Ähnliches. :hmmmm:

Was mir aber beim Durchsehen so auf die Schnelle aufgefallen ist, sind die binären Werte im Data-Bereich.
Das hast du scheinbar etwas vergessen und dann den Fehler immer wieder kopiert. :wink:

Code:
Muster:

' Obere Ebene

Data [B][COLOR="#0000FF"]&B[/COLOR][/B]01000000 , [B][COLOR="#0000FF"]&B[/COLOR][/B]00011111 ,[B][COLOR="#FF0000"] &00111000[/COLOR][/B]                    '1. Bild  Ebene 1

' Mittlere Ebene

Data &B01000000 , &B00000000 , [B][COLOR="#FF0000"]&00000000[/COLOR][/B]                    '2. Bild  Ebene 1

' Untere Ebene

Data &B01000000 , &B00000000 ,[B] [COLOR="#FF0000"]&00000000[/COLOR][/B]                    '3. Bild  Ebene 1


' Kreuz

Data &B01000000 , &B00010000 , [B][COLOR="#FF0000"]&00000000[/COLOR] [/B]                   '4. Bild  Ebene 1


' Ecken

Data &B01000001 , &B01000101 ,[B] [COLOR="#FF0000"]&00000000[/COLOR][/B]                    '5. Bild  Ebene 1


Data 1%                                                     ' 1 Bilder in der Animation

Data &B01000000 , &B00111000 , [B][COLOR="#FF0000"]&00000000[/COLOR][/B]                    ' Bild 1


Data &B01000000 , &B00111111 , [B][COLOR="#FF0000"]&00000000[/COLOR][/B]                    ' Bild 2


Grüße,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)