Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > > LCD Dog-Grafik Display 160x104 hat jemand Zeichensatz ? > > > > > kostet ca 30 Euro offensichtlich ohne einen Zeichensatz > > > > > > > > > > unten das beigestellte Demo Programm von EPT - aber nur mit wenigen Zeichen > > > > > > > > > > der Zeichensatzstick kostet 99 Euro - ich brauche aber nur einen Standartzeichensatz ? > > > > > > > > > > > > > > > > > > > > > > > > > <basic>'******************************************************************************* > > > > > '* * > > > > > '* This programm for EA DOGM128-6 / ST7565 * > > > > > '* 1. send an initialisation code * > > > > > '* 2. clears the display * > > > > > '* 3. writes "HELLO WORLD" to the first line * > > > > > '* * > > > > > '* * > > > > > '* (c) by EPT Systems GmbH 2009 * > > > > > '* * > > > > > '******************************************************************************* > > > > > > > > > > 'SI = Port B3 = Port Bit 19 Datapin (36) at Display > > > > > 'CLK = Port B4 = Port Bit 20 Clockpin (37) at Display > > > > > 'A0 = Port B5 = Port Bit 21 Initialisationpin (38) at Display > > > > > 'CS = Port B7 = Port Bit 23 Chipselectpin (40) at Display > > > > > 'Reset = Port B6 = Port Bit 22 Resetpin (39) at Display > > > > > > > > > > 'Example for 3,3V Single Supply > > > > > > > > > > #ifdef MEGA32 > > > > > #define PORT 2 'Select Port C > > > > > #endif > > > > > > > > > > #ifdef MEGA128 > > > > > #define PORT 5 > > > > > #endif > > > > > > > > > > Dim Daten(8) As Integer 'Data Array for converting byte to bit > > > > > > > > > > > > > > > '------------------------------------------------------------------------------ > > > > > ' Main Program > > > > > ' > > > > > Sub main() > > > > > > > > > > Port_DataDir(PORT,&HFF) 'Input/Output direction: 0=in, 1=out > > > > > > > > > > ResetHardware() 'Hardwarereset > > > > > > > > > > Init() 'Display initialisation > > > > > > > > > > Loeschen() 'Display clear > > > > > > > > > > Zeichensatz() 'HELLO WORLD output > > > > > > > > > > End Sub > > > > > > > > > > Sub ResetHardware() > > > > > > > > > > Port_WriteBit(22,0) 'Reset (Port B6) to low > > > > > Port_WriteBit(22,1) 'Reset (Port B6) to high > > > > > > > > > > End Sub > > > > > > > > > > Sub A0_High() > > > > > > > > > > Port_WriteBit(21,1) 'A0 (Port B5) to high > > > > > > > > > > End Sub > > > > > > > > > > Sub A0_Low() > > > > > > > > > > Port_WriteBit(21,0) 'A0 (Port B5) to low > > > > > > > > > > End Sub > > > > > > > > > > Sub CS_Low() > > > > > > > > > > Port_WriteBit(23,0) 'CS (Port B7) to low (Display get data) > > > > > > > > > > End Sub > > > > > > > > > > Sub CS_High() > > > > > > > > > > Port_WriteBit(23,1) 'CS (Port B7) to high (Display don't get data) > > > > > > > > > > End Sub > > > > > > > > > > Sub Daten_schreiben() 'Put Data to SI (Port B3) > > > > > Dim i As Integer > > > > > > > > > > CS_Low() 'Display get data > > > > > > > > > > For i = 7 To 0 Step -1 'Start with the highest bit > > > > > > > > > > Port_WriteBit(20,0) 'CLK (Port B4) to Low > > > > > > > > > > Port_WriteBit(19,Daten(i)) 'Send Data to SI (Port B3) > > > > > > > > > > Port_WriteBit(20,1) 'CLK (Port B4) to high = Data accept > > > > > > > > > > Next > > > > > > > > > > CS_High() 'Display don't get data > > > > > > > > > > End Sub > > > > > > > > > > Sub Daten_zerlegen(Daten_Dec As Integer) 'Byte convert to bits > > > > > > > > > > Dim i As Integer > > > > > > > > > > For i =0 To 7 'Array clear > > > > > Daten(i)=0 > > > > > Next > > > > > > > > > > > > > > > If Daten_Dec>=128 Then > > > > > Daten(7) =1 > > > > > Daten_Dec=Daten_Dec-128 > > > > > End If > > > > > If Daten_Dec>=64 Then > > > > > Daten(6) =1 > > > > > Daten_Dec=Daten_Dec-64 > > > > > End If > > > > > If Daten_Dec>=32 Then > > > > > Daten(5) =1 > > > > > Daten_Dec=Daten_Dec-32 > > > > > End If > > > > > If Daten_Dec>=16 Then > > > > > Daten(4) =1 > > > > > Daten_Dec=Daten_Dec-16 > > > > > End If > > > > > If Daten_Dec>=8 Then > > > > > Daten(3) =1 > > > > > Daten_Dec=Daten_Dec-8 > > > > > End If > > > > > If Daten_Dec>=4 Then > > > > > Daten(2) =1 > > > > > Daten_Dec=Daten_Dec-4 > > > > > End If > > > > > If Daten_Dec>=2 Then > > > > > Daten(1) =1 > > > > > Daten_Dec=Daten_Dec-2 > > > > > End If > > > > > If Daten_Dec>0 Then > > > > > Daten(0) =1 > > > > > Daten_Dec=Daten_Dec-1 > > > > > End If > > > > > > > > > > Daten_schreiben() 'Send data to display > > > > > > > > > > End Sub > > > > > > > > > > Sub Init() 'Send initialisation data to display > > > > > > > > > > CS_Low() > > > > > A0_Low() 'Initialization > > > > > > > > > > Daten_zerlegen(64) 'Display Start Line Set > > > > > Daten_zerlegen(161) 'ADC reverse(Display Ram Adress) 160=reverse > > > > > Daten_zerlegen(192) 'Common Output Mode Select > > > > > Daten_zerlegen(166) 'Display normal/reverse 165=reverse > > > > > Daten_zerlegen(162) 'Set Bias 1/9 > > > > > Daten_zerlegen(47) 'Power Control Set > > > > > Daten_zerlegen(248) 'Set Booster to 4x > > > > > Daten_zerlegen(0) 'Booster value > > > > > Daten_zerlegen(39) 'V0 Voltage Regulator Set > > > > > Daten_zerlegen(129) 'Contrast set > > > > > Daten_zerlegen(22) 'Contrast value > > > > > Daten_zerlegen(173) 'Cursor on/off > > > > > Daten_zerlegen(1) 'Flashing mode > > > > > > > > > > A0_High() 'End Display initialisation > > > > > CS_High() 'To reset the internal register > > > > > > > > > > End Sub > > > > > > > > > > Sub Displayseite(Zeile As Byte) > > > > > > > > > > A0_Low() 'Display initialisation > > > > > Daten_zerlegen(176+ Zeile) 'Select display page > > > > > A0_High() 'End Display initialisation > > > > > > > > > > End Sub > > > > > > > > > > Sub Reset() > > > > > > > > > > A0_Low() 'Display initialisation > > > > > Daten_zerlegen(226) 'Internal display reset > > > > > A0_High() 'End Display initialisation > > > > > > > > > > End Sub > > > > > > > > > > Sub Displaylinie(Linie As Byte) > > > > > > > > > > A0_Low() 'Display initialisation > > > > > Daten_zerlegen(64+ Linie) 'Select display start line > > > > > A0_High() 'End Display initialisation > > > > > > > > > > End Sub > > > > > > > > > > Sub Displayspalte(Spalte As Byte,Spalte1 As Byte) > > > > > > > > > > A0_Low() 'Display initialisation > > > > > Daten_zerlegen(16+Spalte1) 'Select display column highbyte > > > > > Daten_zerlegen(Spalte) 'Select display column lowbyte > > > > > A0_High() 'End Display initialisation > > > > > > > > > > End Sub > > > > > > > > > > Sub Loeschen() 'Clear display > > > > > > > > > > Dim i As Integer > > > > > Dim Pixel As Byte > > > > > Dim Zeile As Byte > > > > > > > > > > Zeile =0 'Write in Page 0 > > > > > Do > > > > > Displayseite(Zeile) > > > > > Pixel = 0 'No Pixel set > > > > > > > > > > For i = 0 To 127 'Write Column 0 to 127 with value 0 > > > > > > > > > > Daten_zerlegen(Pixel) > > > > > > > > > > Next > > > > > > > > > > Zeile ++ > > > > > Loop While Zeile < 8 'Write in page 0-7 > > > > > > > > > > Displayseite(0) > > > > > Displayspalte(0,0) > > > > > 'Displaylinie (0) > > > > > > > > > > End Sub > > > > > > > > > > Sub Zeichensatz() > > > > > > > > > > Dim Daten(88) As Byte > > > > > Dim Schleife As Integer > > > > > > > > > > Schleife = 1 > > > > > Display_Aus() 'Display off > > > > > > > > > > Daten(1)=000 > > > > > Daten(2)=127 > > > > > Daten(3)=008 > > > > > Daten(4)=008 'H > > > > > Daten(5)=008 > > > > > Daten(6)=127 > > > > > Daten(7)=000 > > > > > Daten(8)=000 > > > > > > > > > > Daten(9)=000 > > > > > Daten(10)=127 > > > > > Daten(11)=073 > > > > > Daten(12)=073 'E > > > > > Daten(13)=073 > > > > > Daten(14)=073 > > > > > Daten(15)=000 > > > > > Daten(16)=000 > > > > > > > > > > Daten(17)=000 > > > > > Daten(18)=127 > > > > > Daten(19)=064 > > > > > Daten(20)=064 'L > > > > > Daten(21)=064 > > > > > Daten(22)=064 > > > > > Daten(23)=000 > > > > > Daten(24)=000 > > > > > > > > > > Daten(25)=000 > > > > > Daten(26)=127 > > > > > Daten(27)=064 > > > > > Daten(28)=064 'L > > > > > Daten(29)=064 > > > > > Daten(30)=064 > > > > > Daten(31)=000 > > > > > Daten(32)=000 > > > > > > > > > > Daten(33)=000 > > > > > Daten(34)=062 > > > > > Daten(35)=065 > > > > > Daten(36)=065 'O > > > > > Daten(37)=065 > > > > > Daten(38)=062 > > > > > Daten(39)=000 > > > > > Daten(40)=000 > > > > > > > > > > Daten(41)=000 > > > > > Daten(42)=000 > > > > > Daten(43)=000 > > > > > Daten(44)=000 'Space > > > > > Daten(45)=000 > > > > > Daten(46)=000 > > > > > Daten(47)=000 > > > > > Daten(48)=000 > > > > > > > > > > Daten(49)=000 > > > > > Daten(50)=063 > > > > > Daten(51)=064 > > > > > Daten(52)=048 'W > > > > > Daten(53)=064 > > > > > Daten(54)=063 > > > > > Daten(55)=000 > > > > > Daten(56)=000 > > > > > > > > > > Daten(57)=000 > > > > > Daten(58)=062 > > > > > Daten(59)=065 > > > > > Daten(60)=065 'O > > > > > Daten(61)=065 > > > > > Daten(62)=062 > > > > > Daten(63)=000 > > > > > Daten(64)=000 > > > > > > > > > > Daten(65)=000 > > > > > Daten(66)=127 > > > > > Daten(67)=009 > > > > > Daten(68)=009 'R > > > > > Daten(69)=009 > > > > > Daten(70)=118 > > > > > Daten(71)=000 > > > > > Daten(72)=000 > > > > > > > > > > Daten(73)=000 > > > > > Daten(74)=127 > > > > > Daten(75)=064 > > > > > Daten(76)=064 'L > > > > > Daten(77)=064 > > > > > Daten(78)=064 > > > > > Daten(79)=000 > > > > > Daten(80)=000 > > > > > > > > > > Daten(81)=000 > > > > > Daten(82)=127 > > > > > Daten(83)=065 > > > > > Daten(84)=065 'D > > > > > Daten(85)=034 > > > > > Daten(86)=028 > > > > > Daten(87)=000 > > > > > Daten(88)=000 > > > > > > > > > > Daten(89)=000 > > > > > Daten(90)=000 > > > > > Daten(91)=000 > > > > > Daten(92)=000 'Space > > > > > Daten(93)=000 > > > > > Daten(94)=000 > > > > > Daten(95)=000 > > > > > Daten(96)=000 > > > > > > > > > > For Schleife = 1 To 96 'Put fonts to display > > > > > Daten_zerlegen(Daten(Schleife)) > > > > > Next > > > > > > > > > > Display_Ein() 'Display on > > > > > > > > > > 'Displayseite(0) > > > > > 'Displayspalte(0,0) > > > > > Displaylinie (0) > > > > > > > > > > End Sub > > > > > > > > > > Sub Display_Ein() > > > > > > > > > > A0_Low() 'Display initialisation > > > > > Daten_zerlegen(175) 'Display on > > > > > A0_High() 'End Display initialisation > > > > > > > > > > End Sub > > > > > > > > > > Sub Display_Aus() > > > > > > > > > > A0_Low() 'Display initialisation > > > > > Daten_zerlegen(174) 'Display off > > > > > A0_High() 'End Display initialisation > > > > > > > > > > End Sub</basic> > > > > > > > > > > > > Hallo Ernst, > > > > ich kann dir keine genaue Antwort auf deine Frage geben, aber aufzeigen, wie ich Sonderzeichen > > > > für das beim CC-Control mitgelieferte Display mache: > > > > Ich habe in Excel "Formeln" zusammengestellt, die über eine Dot.Matrix im Excel die einem > > > > Zeichen entspricht drüber geht und den entsprechenden .CC code daraus generiert. > > > > Die Datei ist im Anhang. > > > > Vielleicht hilft dir das auch - Man kann einfach das Zeichen Editieren, sieht sofort wie das Zeichen > > > > aussieht und der Code entsteht automatisch dabei. > > > > > > > > Viele Grüße > > > > > > > > Jo > > > > > > sorry im vorrigen Anhang war eine falsche Datei angezogen, hier ist die korrekte Excel Datei > > > > Hallo Jo! > > > > Vielen Dank, schaut nach einer sehr nützlichen Routine aus, da eine grafische Darstellung gleich > > dabei ist - noch dazu auch später im Quelltext - perfekter gehts wohl nicht!. > > Leider reichen offensichtlich meine Excel kenntnisse nicht - wenn ich im Grünen Feld > > das # lösche, oder eine Auswahl auf Leerfeld, oder ein Leerzeichen einfüge, oder in einem > > leeren grünen Feld ein # - Zeichen einfüge kommt #NAME? als Fehlermeldung? > > "Ein anderer Benutzer hat die Eingaben begrenzt in diesem Textfeld" - oder so ähnlich kommt > > auch beim Versuch etwas zu ändern.? > > > > Vielen Dank - schöne Grüße Ernst H. > > > > > > Hallo Ernst, ich nehme mal an, du hast meinen 2ten Post verwendet. > Kommt die Fehlermeldung bei > =VERKETTEN("0x";DEC2HEX(WENN(C15="#";POTENZ(2;C$9);0)+ > WENN(D15="#";POTENZ(2;D$9);0)+WENN(E15="#";POTENZ(2;E$9);0)+ > WENN(F15="#";POTENZ(2;F$9);0)+WENN(G15="#";POTENZ(2;G$9);0);2)) > > ? > > Bitte prüfe im Excel > unter -> Extras -> Add-Ins ob Analysis ToolPak, Analysis ToolPak - VBA, Conditional Sum Wizard. > Lookip Wizard mit einem Häkchen versehen sind. > > Viele Grüße > Jo