' CS PIN vom Display auf GND '$sim $regfile = "m8def.dat" $crystal = 7372800 $baud = 19200 Declare Sub Writecmd(byval Dat As Byte) Declare Sub Writedat(byval Dat As Byte) Declare Sub Lcdinit() Declare Sub Gotoyx(byval Y As Byte , Byval X As Byte) Declare Sub Printstr(byval Text As String) Declare Sub Putchar(char As Byte) Declare Sub Lcdcls() Declare Sub Lcdhome() Dim Rs As Bit Config Spi = Hard , Data Order = Lsb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 128 , Noss = 0 Spiinit Enable Interrupts Lcdinit Waitms 100 Lcdhome Printstr "Hallo du nase" Gotoyx 2 , 2 Printstr "test" Do Wait 1 Loop Sub Lcdinit() Rs = 1 ' nur beim Init RS = 1 setzen danach autoerkennung Writecmd &H34 Writecmd &H09 Writecmd &H30 Writecmd &H0F Waitms 1.53 Writecmd &H01 Waitms 1.53 Writecmd &H06 End Sub Sub Writecmd(byval Dat As Byte) Local Hl As Byte Local Startbyte As Byte Local Nl As Byte Local Temp As Byte Hl = Dat Shift Hl , Right , 4 '/ upper nibble 4 nach rechts Nl = Dat And &H0F ' / upper nibble loeschen If Rs <> 0 Then Startbyte = &H1F Spiout Startbyte , 1 End If Spiout Nl , 1 Spiout Hl , 1 Rs = 0 Print Bin(nl); Print Bin(hl); Waitus 45 End Sub Sub Writedat(byval Dat As Byte) Local Hl As Byte Local Startbyte As Byte Local Nl As Byte Local Temp As Byte Hl = Dat Shift Hl , Right , 4 '/ upper nibble 4 nach rechts Nl = Dat And &H0F ' / upper nibble loeschen If Rs <> 1 Then Startbyte = &H5F Spiout Startbyte , 1 End If Spiout Nl , 1 Spiout Hl , 1 Rs = 0 Print Bin(nl); Print Bin(hl); Waitus 40 End Sub Sub Gotoyx(byval Y As Byte , Byval X As Byte) 'Local Dat As Byte 'Select Case Y 'Case 0 : Dat = &H00 'Case 1 : Dat = &H20 'Case 2 : Dat = &H40 'Case 3 : Dat = &H60 'End Select 'Dat = Dat + 128 'Dat = Dat + X 'Writecmd Dat 'Dat = 0 End Sub Sub Printstr(byval Text As String) Local Dat As Byte Local I As Byte Local Tempstr2 As String * 1 For I = 1 To Len(text) Tempstr2 = Mid(text , I , 1) Dat = Asc(tempstr2) Putchar Dat Next I End Sub Sub Putchar(char As Byte) Local Dat As Byte Dat = Lookup(char , Charconv) Writedat Dat End Sub Sub Lcdhome() Writecmd &H03 Waitms 1.53 End Sub Sub Lcdcls() Writecmd &H01 Waitms 1.53 End Sub Charconv: Data &H00 , &H01 , &H02 , &H03 , &H04 , &H05 , &H06 , &H07 , &H08 , &H09 , &H0A , &H0B , &H0C , &H0D , &H0E , &H0F Data &H10 , &H11 , &H12 , &H13 , &H14 , &H15 , &H16 , &H17 , &H18 , &H19 , &H1A , &H1B , &H1C , &H1D , &H1E , &H1F Data &H20 , &H21 , &H22 , &H23 , &H24 , &H25 , &H26 , &H27 , &H28 , &H29 , &H2A , &H2B , &H2C , &H2D , &H2E , &H2F Data &H30 , &H31 , &H32 , &H33 , &H34 , &H35 , &H36 , &H37 , &H38 , &H39 , &H3A , &H3B , &H3C , &H3D , &H3E , &H3F Data &HA0 , &H41 , &H42 , &H43 , &H44 , &H45 , &H46 , &H47 , &H48 , &H49 , &H4A , &H4B , &H4C , &H4D , &H4E , &H4F Data &H50 , &H51 , &H52 , &H53 , &H54 , &H55 , &H56 , &H57 , &H58 , &H59 , &H5A , &H5B , &H5C , &H5D , &H5E , &HC4 Data &H60 , &H61 , &H62 , &H63 , &H64 , &H65 , &H66 , &H67 , &H68 , &H69 , &H6A , &H6B , &H6C , &H6D , &H6E , &H6F Data &H70 , &H71 , &H72 , &H73 , &H74 , &H75 , &H76 , &H77 , &H78 , &H79 , &H7A , &H7B , &H7C , &H7D , &H7E , &H7F Data &H80 , &H81 , &H82 , &H83 , &H84 , &H85 , &H86 , &H87 , &H88 , &H89 , &H8A , &H8B , &H8C , &H8D , &H8E , &H8F Data &H90 , &H91 , &H92 , &H93 , &H94 , &H95 , &H96 , &H97 , &H98 , &H99 , &H9A , &H9B , &H9C , &H9D , &H9E , &H9F Data &HA0 , &HA1 , &HA2 , &HA3 , &HA4 , &HA5 , &HA6 , &HA7 , &HA8 , &HA9 , &HAA , &HAB , &HAC , &HAD , &HAE , &HAF Data &HB0 , &HB1 , &HB2 , &HB3 , &HB4 , &HB5 , &HB6 , &HB7 , &HB8 , &HB9 , &HBA , &HBB , &HBC , &HBD , &HBE , &HBF Data &HC0 , &HC1 , &HC2 , &HC3 , &H5B , &HC5 , &HC6 , &HC7 , &HC8 , &HC9 , &HCA , &HCB , &HCC , &HCD , &HCE , &HCF Data &HD0 , &HD1 , &HD2 , &HD3 , &HD4 , &HD5 , &H5E , &HD7 , &HD8 , &HD9 , &HDA , &HDB , &H7E , &HDD , &HDE , &HDF Data &HE0 , &HE1 , &HE2 , &HE3 , &H7B , &HE5 , &HE6 , &HE7 , &HE8 , &HE9 , &HEA , &HEB , &HEC , &HED , &HEE , &HEF Data &HF0 , &HF1 , &HF2 , &HF3 , &HF4 , &HF5 , &H7C , &HF7 , &HF8 , &HF9 , &HFA , &HFB , &H7E , &HFD , &HFE , &HFF