Re: LCD Dog-Grafik Display 160x104 hat jemand Zeichensatz ? Kategorie: Programmierung Basic (von jo - 22.11.2010 15:57) | |
Als Antwort auf Re: LCD Dog-Grafik Display 160x104 hat jemand Zeichensatz ? von jo - 22.11.2010 13:36
| |
> > 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 ? > > > > > > > > > > '******************************************************************************* > > '* * > > '* 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 > > > 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 LCD Zeichen definieren.zip | |
Antwort schreiben Antworten: Re: LCD Dog-Grafik Display 160x104 hat jemand Zeichensatz ? (von Ernst H. - 22.11.2010 17:06) Re: LCD Dog-Grafik Display 160x104 hat jemand Zeichensatz ? (von jo - 22.11.2010 17:59) Re: LCD Dog-Grafik Display 160x104 hat jemand Zeichensatz ? (von Ernst H. - 22.11.2010 19:56) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum