Hallo,

ich hab hier ein Display von Pollin mit einem HD61830 kompatiblen Controller.
Ich bekomme auch alles angezeigt auf dem Display aber ich würd gern die Anzeige drehen wollen, also das Display für "hochkant" nutzen.
Geht das irgendwie?

Hab hier einen Bascom Test Code ausm Inet.

Code:
' Fuer Pollin Display 16080 , nur Display, ohne Touch
' allu   10/2009



$regfile = "m168def.DAT"
$crystal = 8000000
$baud = 19200
$hwstack = 64
$swstack = 256
$framesize = 84


'PortPins zum Display 16080 festlegen und initialisieren


Daten_bus_out Alias Portb
Daten_bus_in Alias Pinb
Daten_ddr Alias Ddrb
Auf_input_stellen Alias &H00
Auf_output_stellen Alias &HFF
Bussy Alias 7


Control_bus Alias Portd
Rs Alias 2
Rw Alias 3
E Alias 4
Cs Alias 6
R Alias 7
Pullups_ein Alias &HFF


Config Daten_bus_out = Input
Daten_bus_out = Pullups_ein

Config Control_bus = Input
Control_bus = Pullups_ein
Config Control_bus = Output
Reset Control_bus.e

Accu_l Alias R0
Accu_h Alias R1
Bccu_l Alias R2
Bccu_h Alias R3
' R4, R5, R6 und R8 verwendet von Bascom
Zeile Alias R9
Spalte Alias R10
Zeichen Alias R11                                           'R21




Temp_1 Alias R18
Temp_2 Alias R19
Temp_3 Alias R20

Daten Alias R22
Befehl Alias R23
Cursor_l Alias R24
Cursor_h Alias R25



Dim Ticker As Byte

Dim Locate_zeile As Byte                                    ' 0 bis 79 = 80 Zeilen
Dim Locate_spalte As Byte                                   ' 0 bis 22 = 23 Spalten
Dim Lcd_string As String * 23                               ' Gibt Eingaben vim Display zur?ck



Gosub Display_initialisieren


' Hier beginnt das Hauptprogramm


Gosub Lcd_clear








Do
Locate_zeile = 1
Locate_spalte = 1
Lcd_string = "ABCDEFGHIJKLMNOPQRST"
Gosub Lcd_write_string


Locate_zeile = 72
Locate_spalte = 11
Lcd_string = "Gruss allu"
Gosub Lcd_write_string
Locate_zeile = 48
Locate_spalte = 25
Lcd_string = "123456789"
Gosub Lcd_write_string

Wait 5
Gosub Lcd_clear
Loop




























'Unterprogramme

Display_initialisieren:
   ' GLcd im Grafikmode mit 23 Spalten initialisieren:
   Waitms 50
   Reset Control_bus.r
   Waitus 50
   Set Control_bus.r
   Waitms 10
   Gosub Lcd_initialisieren
   Gosub Lcd_clear


   'F?r die zuk?nftigen Timer
   Config Timer0 = Timer , Prescale = 1024
   Enable Timer0
   Enable Interrupts
   On Ovf0 Tim0_isr                                         'enable the interrupt

Return










Tim0_isr:                                                   'Vorbereitung f?r die Timer
   Incr Ticker
   If Ticker = 3 Then
      Ticker = 0
   End If
Return



' und hier gehts in Assembler weiter ....
$asm


Lcd_write_string:
     Loadadr Locate_zeile , X                               '  Zeilen 0 bis 70 m?glich
      ld    Accu_L, X
      ldi   Temp_2, 24
      mov   Spalte, Temp_2
      mov   Accu_H, Temp_2                                  ' so rechnet der Controller
      mul   Accu_L, Accu_H

      Loadadr Locate_spalte , X                             '  Spalte 0 bis 22 m?glich
      ld    cursor_L, X
      clr   Cursor_H                                        ' Position = Zeile*24 + Spalte
      add   Cursor_L, Accu_L
      ADC   Cursor_H, Accu_H

      Loadadr Lcd_string , X

Lcd_write_string_10:
      ld    Zeichen, X+                                     'Zeichen laden und n?chste Bufferadresse
      ldi   Temp_3, &B0111_1111
      !and  Zeichen, Temp_3                                 'String zu Ende ?
 '     !and  Zeichen, Zeichen                                'String zu Ende ?
      breq LCD_Write_String_99

      ldi  Temp_3, 8                                        'Offset in TabChr berechnen
      mov  Accu_L, Temp_3
      clr  Accu_H
      mul  Accu_L, Zeichen
                                 '..Offset + Anfangsadresse von TabChr
      ldi  ZL, low(TabChr *2)
      ldi  ZH, high(TabChr *2)

      add  ZL, Accu_L
      adc  ZH, Accu_H

      rcall LCD_Write_Chr

      Loadadr Locate_spalte , Z                             '  auf die n?chste Spalte
      ld    Temp_2, Z
      inc   Temp_2
      st    Z, Temp_2
                                        'Malprogramm aufrufen
      rjmp LCD_Write_String_10

Lcd_write_string_99:
      ret



Lcd_write_chr:
      mov  Accu_L, Cursor_L
      mov  Accu_H, Cursor_H

      adiw Cursor_L, 1
      clr  Zeile

      ldi  Temp_1, 24
      mov  Spalte, Temp_1

      ldi  Temp_1, 8

Lcd_write_chr_10:
      ldi  Befehl, &H0A
      mov  Daten, Accu_L
      rcall Write_2_Byte

      ldi  Befehl, &HB0B
      mov  Daten, Accu_H
      rcall Write_2_Byte

      lpm  Temp_3, Z+
      ldi  Temp_2, 10

Lcd_write_chr_20:
      rol  Temp_3                                           'Zeichen wenden und D0-b?ndig
      ror  Daten

      dec  Temp_2
      brne LCD_Write_Chr_20

      brcc LCD_Write_Chr_30                                 ' L?cken schliessen
      ori  Daten, &b01000000

Lcd_write_chr_30:
      ldi  Befehl, &H0C
      rcall Write_2_Byte

      add  Accu_L, Spalte
      adc  Accu_H, Zeile

      dec  Temp_1
      brne LCD_Write_Chr_10

Lcd_write_chr_99:
      ret



Lcd_clear:
      ldi  Befehl, &H0A
      ldi  Daten, 0
      rcall Write_2_Byte

      ldi  Befehl, &H0B
      ldi  Daten, 0
      rcall Write_2_Byte

      ldi  Befehl, &H0C
      ldi  Daten, &H00

      ldi  Temp_2, 10

Lcd_clear_10:
      ldi  Temp_1, 200

Lcd_clear_20:
      rcall Write_2_Byte

      dec  Temp_1
      brne LCD_Clear_20

      dec  Temp_2
      brne LCD_Clear_10

Lcd_clear_99:
      ret



Lcd_initialisieren:
      ldi  ZL, low(Init_gc_mode *2)
      ldi  ZH, high(Init_gc_mode *2)

      lpm  Temp_1, Z+                                       ' Schleifenz?hler
      lpm  Temp_1, Z+                                       ' Schleifenz?hler

Lcd_initialisieren_10:
      lpm  Befehl,Z+
      lpm  Daten,Z+
      rcall Write_2_Byte

      dec  Temp_1
      brne LCD_Initialisieren_10

Lcd_initialisieren_99:
      ret



Write_2_byte:
      push Temp_1

      cbi  Control_Bus, CS                                  'Chip select aktivieren
      rjmp Write_2_Byte_20

Write_2_byte_10:
      cbi  Control_Bus, E                                   'Enable-Puls beenden
      nop                                                   'warten
      nop                                                   'warten
      nop
      nop                                                   'warten

Write_2_byte_20:
      sbi  Control_Bus, E                                   'Enable-Puls beginnt
      nop                                                   'warten
      nop                                                   'warten
      nop                                                   'warten
         'warten
      sbic Daten_Bus_in, Bussy                              'Fertisch ?
      rjmp Write_2_Byte_10
      nop

      cbi  Control_Bus, E                                   'Enable-Puls beenden
      cbi  Control_Bus, RW                                  'Write Signal aktivieren
      nop

  'Register im Grafikcontroller ausw?hlen
      ldi  Temp_1,auf_Output_stellen                        'Datenbus auf Ausgabe stellen
      !out  Daten_ddr, Temp_1                               '..und umschalten
      nop
      !out  Daten_Bus_out, Befehl                           'Befehl-Register ausw?hlen
      sbi  Control_Bus, E                                   'ins Befehl-Register schreiben
      nop                                                   'warten
      nop
      nop
      nop
      nop
      nop                                                   'warten
      cbi  Control_Bus, E                                   'Enable-Puls beenden

      nop
  'Mode-Temp_1 in Grafikcontroller schreiben
      cbi  Control_Bus,RS
      !out  Daten_Bus_out, Daten                            'Mode-Temp_1 aufv Bus legen
      sbi  Control_Bus, E                                   'ins Mode-Register schreiben
      nop                                                   'warten
      nop
      nop
      nop
      nop                                                   'warten
      nop                                                   '... und warten
      cbi  Control_Bus, E                                   'Enable-Puls beenden
      nop

  'Ruhepegel wieder herstellen
      sbi  Control_Bus, CS                                  'Chip select deaktivieren
      ldi  Temp_1,auf_Input_stellen                         'Datenbus auf Input stellen
      !Out Daten_ddr , Temp_1                               '..und umschalten
      sbi  Control_Bus, RW                                  'Read Signal deaktivieren
      sbi  Control_Bus, RS

Write_2_byte_99:
      pop  Temp_1

      ret


$end Asm


End




Init_gc_mode:

Data &H00 , &H07                                            'Die n?chsten 7
Data &H00 , &H12                                            'Befehle an GC senden
Data &H01 , &H76
Data &H02 , &H17
Data &H03 , &H4F
Data &H08 , &H00
Data &H09 , &H00
Data &H00 , &H32


' $include "C:/Font_16080.asm"

Tabchr:
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H00
Data &H00 , &H00 , &H00 , &H27 , &H00 , &H00 , &H00 , &H00  '    &H01
Data &H20 , &H20 , &H20 , &H1E , &H20 , &H20 , &H20 , &H00  '    &H02

Data &H00 , &H0A , &H1F , &H1F , &H1F , &H0E , &H04 , &H00  '    &H03
Data &H00 , &H04 , &H0E , &H1F , &H1F , &H0E , &H04 , &H00  '    &H04
Data &H04 , &H0E , &H0E , &H04 , &H1F , &H1F , &H04 , &H00  '    &H05
Data &H00 , &H04 , &H0E , &H1F , &H1F , &H04 , &H0E , &H00  '    &H06
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H07
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H08
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H09
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H0A
Data &H00 , &H07 , &H03 , &H0D , &H12 , &H12 , &H0C , &H00  '    &H0B
Data &H0E , &H11 , &H11 , &H0E , &H04 , &H0E , &H04 , &H00  '    &H0C
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H0D
Data &H03 , &H0D , &H0B , &H0D , &H0B , &H1B , &H18 , &H00  '    &H0E
Data &H00 , &H15 , &H0E , &H1B , &H0E , &H15 , &H00 , &H00  '    &H0F



Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H10
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H7F  '    &H11
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H7F , &H7F  '    &H12
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H7F , &H7F , &H7F  '    &H13
Data &H00 , &H00 , &H00 , &H00 , &H7F , &H7F , &H7F , &H7F  '    &H14
Data &H00 , &H00 , &H00 , &H7F , &H7F , &H7F , &H7F , &H7F  '    &H15
Data &H00 , &H00 , &H7F , &H7F , &H7F , &H7F , &H7F , &H7F  '    &H16
Data &H7F , &H7F , &H7F , &H7F , &H7F , &H7F , &H7F , &H7F  '    &H17



Data &H04 , &H0E , &H1F , &H04 , &H04 , &H04 , &H04 , &H77  '    &H18
Data &H04 , &H04 , &H04 , &H04 , &H1F , &H0E , &H04 , &H7D  '    &H19
Data &H00 , &H04 , &H06 , &H1F , &H06 , &H04 , &H00 , &H77  '    &H1A
Data &H00 , &H04 , &H0C , &H1F , &H0C , &H04 , &H00 , &H7D  '    &H1B
Data &H00 , &H00 , &H00 , &H10 , &H10 , &H10 , &H1F , &H77  '    &H1C
Data &H00 , &H0A , &H0A , &H1F , &H0A , &H0A , &H00 , &H7D  '    &H1D
Data &H04 , &H04 , &H0E , &H0E , &H1F , &H1F , &H00 , &H77  '    &H1E
Data &H1F , &H1F , &H0E , &H0E , &H04 , &H04 , &H00 , &H7D  '    &H1F




Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H20
Data &H04 , &H0E , &H0E , &H04 , &H04 , &H00 , &H04 , &H00  '    &H21
Data &H1B , &H1B , &H12 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H22
Data &H00 , &H0A , &H1F , &H0A , &H0A , &H1F , &H0A , &H00  '    &H23
Data &H08 , &H0E , &H10 , &H0C , &H02 , &H1C , &H04 , &H00  '    &H24
Data &H19 , &H19 , &H02 , &H04 , &H08 , &H13 , &H13 , &H00  '    &H25
Data &H08 , &H14 , &H14 , &H08 , &H15 , &H12 , &H0D , &H00  '    &H26
Data &H0C , &H0C , &H08 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H27
Data &H04 , &H08 , &H08 , &H08 , &H08 , &H08 , &H04 , &H00  '    &H28
Data &H08 , &H04 , &H04 , &H04 , &H04 , &H04 , &H08 , &H00  '    &H29
Data &H00 , &H0A , &H0E , &H1F , &H0E , &H0A , &H00 , &H00  '    &H2A
Data &H00 , &H04 , &H04 , &H1F , &H04 , &H04 , &H00 , &H00  '    &H2B
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H0C , &H0C , &H08  '    &H2C
Data &H00 , &H00 , &H00 , &H1F , &H00 , &H00 , &H00 , &H00  '    &H2D
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H0C , &H0C , &H00  '    &H2E
Data &H00 , &H01 , &H02 , &H04 , &H08 , &H10 , &H00 , &H00  '    &H2F
Data &H0E , &H11 , &H13 , &H15 , &H19 , &H11 , &H0E , &H00  '    &H30
Data &H04 , &H0C , &H04 , &H04 , &H04 , &H04 , &H0E , &H00  '    &H31
Data &H0E , &H11 , &H01 , &H06 , &H08 , &H10 , &H1F , &H00  '    &H32
Data &H0E , &H11 , &H01 , &H0E , &H01 , &H11 , &H0E , &H00  '    &H33
Data &H02 , &H06 , &H0A , &H12 , &H1F , &H02 , &H02 , &H00  '    &H34
Data &H1F , &H10 , &H10 , &H1E , &H01 , &H11 , &H0E , &H00  '    &H35
Data &H06 , &H08 , &H10 , &H1E , &H11 , &H11 , &H0E , &H00  '    &H36
Data &H1F , &H01 , &H02 , &H04 , &H08 , &H08 , &H08 , &H00  '    &H37
Data &H0E , &H11 , &H11 , &H0E , &H11 , &H11 , &H0E , &H00  '    &H38
Data &H0E , &H11 , &H11 , &H0F , &H01 , &H02 , &H0C , &H00  '    &H39
Data &H00 , &H00 , &H0C , &H0C , &H00 , &H0C , &H0C , &H00  '    &H3A
Data &H00 , &H00 , &H0C , &H0C , &H00 , &H0C , &H0C , &H08  '    &H3B
Data &H02 , &H04 , &H08 , &H10 , &H08 , &H04 , &H02 , &H00  '    &H3C
Data &H00 , &H00 , &H1F , &H00 , &H00 , &H1F , &H00 , &H00  '    &H3D
Data &H08 , &H04 , &H02 , &H01 , &H02 , &H04 , &H08 , &H00  '    &H3E
Data &H0E , &H11 , &H01 , &H06 , &H04 , &H00 , &H04 , &H00  '    &H3F
Data &H0E , &H11 , &H17 , &H15 , &H17 , &H10 , &H0E , &H00  '    &H40
Data &H0E , &H11 , &H11 , &H11 , &H1F , &H11 , &H11 , &H00  '    &H41
Data &H1E , &H11 , &H11 , &H1E , &H11 , &H11 , &H1E , &H00  '    &H42
Data &H0E , &H11 , &H10 , &H10 , &H10 , &H11 , &H0E , &H00  '    &H43
Data &H1E , &H11 , &H11 , &H11 , &H11 , &H11 , &H1E , &H00  '    &H44
Data &H1F , &H10 , &H10 , &H1E , &H10 , &H10 , &H1F , &H00  '    &H45
Data &H1F , &H10 , &H10 , &H1E , &H10 , &H10 , &H10 , &H00  '    &H46
Data &H0E , &H11 , &H10 , &H17 , &H11 , &H11 , &H0F , &H00  '    &H47
Data &H11 , &H11 , &H11 , &H1F , &H11 , &H11 , &H11 , &H00  '    &H48
Data &H0E , &H04 , &H04 , &H04 , &H04 , &H04 , &H0E , &H00  '    &H49
Data &H01 , &H01 , &H01 , &H01 , &H11 , &H11 , &H0E , &H00  '    &H4A
Data &H11 , &H12 , &H14 , &H18 , &H14 , &H12 , &H11 , &H00  '    &H4B
Data &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H1F , &H00  '    &H4C
Data &H11 , &H1B , &H15 , &H11 , &H11 , &H11 , &H11 , &H00  '    &H4D
Data &H11 , &H19 , &H15 , &H13 , &H11 , &H11 , &H11 , &H00  '    &H4E
Data &H0E , &H11 , &H11 , &H11 , &H11 , &H11 , &H0E , &H00  '    &H4F
Data &H1E , &H11 , &H11 , &H1E , &H10 , &H10 , &H10 , &H00  '    &H50
Data &H0E , &H11 , &H11 , &H11 , &H15 , &H12 , &H0D , &H00  '    &H51
Data &H1E , &H11 , &H11 , &H1E , &H12 , &H11 , &H11 , &H00  '    &H52
Data &H0E , &H11 , &H10 , &H0E , &H01 , &H11 , &H0E , &H00  '    &H53
Data &H1F , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H00  '    &H54
Data &H11 , &H11 , &H11 , &H11 , &H11 , &H11 , &H0E , &H00  '    &H55
Data &H11 , &H11 , &H11 , &H11 , &H11 , &H0A , &H04 , &H00  '    &H56
Data &H11 , &H11 , &H15 , &H15 , &H15 , &H15 , &H0A , &H00  '    &H57
Data &H11 , &H11 , &H0A , &H04 , &H0A , &H11 , &H11 , &H00  '    &H58
Data &H11 , &H11 , &H11 , &H0A , &H04 , &H04 , &H04 , &H00  '    &H59
Data &H1E , &H02 , &H04 , &H08 , &H10 , &H10 , &H1E , &H00  '    &H5A
Data &H0E , &H08 , &H08 , &H08 , &H08 , &H08 , &H0E , &H00  '    &H5B
Data &H00 , &H10 , &H08 , &H04 , &H02 , &H01 , &H00 , &H00  '    &H5C
Data &H0E , &H02 , &H02 , &H02 , &H02 , &H02 , &H0E , &H00  '    &H5D
Data &H04 , &H0A , &H11 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H5E


Data &H00 , &H00 , &H00 , &H00 , &H60 , &H60 , &H7F , &H00  '    &H5F


Data &H0C , &H0C , &H04 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H60
Data &H00 , &H00 , &H0E , &H01 , &H0F , &H11 , &H0F , &H00  '    &H61
Data &H10 , &H10 , &H1E , &H11 , &H11 , &H11 , &H1E , &H00  '    &H62
Data &H00 , &H00 , &H0E , &H11 , &H10 , &H11 , &H0E , &H00  '    &H63
Data &H01 , &H01 , &H0F , &H11 , &H11 , &H11 , &H0F , &H00  '    &H64
Data &H00 , &H00 , &H0E , &H11 , &H1E , &H10 , &H0E , &H00  '    &H65
Data &H06 , &H08 , &H08 , &H1E , &H08 , &H08 , &H08 , &H00  '    &H66
Data &H00 , &H00 , &H0F , &H11 , &H11 , &H0F , &H01 , &H0E  '    &H67
Data &H10 , &H10 , &H1C , &H12 , &H12 , &H12 , &H12 , &H00  '    &H68
Data &H04 , &H00 , &H04 , &H04 , &H04 , &H04 , &H06 , &H00  '    &H69
Data &H02 , &H00 , &H06 , &H02 , &H02 , &H02 , &H12 , &H0C  '    &H6A
Data &H10 , &H10 , &H12 , &H14 , &H18 , &H14 , &H12 , &H00  '    &H6B
Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H06 , &H00  '    &H6C
Data &H00 , &H00 , &H1A , &H15 , &H15 , &H11 , &H11 , &H00  '    &H6D
Data &H00 , &H00 , &H1C , &H12 , &H12 , &H12 , &H12 , &H00  '    &H6E
Data &H00 , &H00 , &H0E , &H11 , &H11 , &H11 , &H0E , &H00  '    &H6F
Data &H00 , &H00 , &H1E , &H11 , &H11 , &H11 , &H1E , &H10  '    &H70
Data &H00 , &H00 , &H0F , &H11 , &H11 , &H11 , &H0F , &H01  '    &H71
Data &H00 , &H00 , &H16 , &H09 , &H08 , &H08 , &H1C , &H00  '    &H72
Data &H00 , &H00 , &H0E , &H10 , &H0E , &H01 , &H0E , &H00  '    &H73
Data &H00 , &H08 , &H1E , &H08 , &H08 , &H0A , &H04 , &H00  '    &H74
Data &H00 , &H00 , &H12 , &H12 , &H12 , &H16 , &H0A , &H00  '    &H75
Data &H00 , &H00 , &H11 , &H11 , &H11 , &H0A , &H04 , &H00  '    &H76
Data &H00 , &H00 , &H11 , &H11 , &H15 , &H1F , &H0A , &H00  '    &H77
Data &H00 , &H00 , &H12 , &H12 , &H0C , &H12 , &H12 , &H00  '    &H78
Data &H00 , &H00 , &H12 , &H12 , &H12 , &H0E , &H04 , &H18  '    &H79
Data &H00 , &H00 , &H1E , &H02 , &H0C , &H10 , &H1E , &H00  '    &H7A
Data &H06 , &H08 , &H08 , &H18 , &H08 , &H08 , &H06 , &H00  '    &H7B
Data &H04 , &H04 , &H04 , &H00 , &H04 , &H04 , &H04 , &H00  '    &H7C
Data &H0C , &H02 , &H02 , &H03 , &H02 , &H02 , &H0C , &H00  '    &H7D
Data &H0A , &H14 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00  '    &H7E
Data &H04 , &H0E , &H1B , &H11 , &H11 , &H1F , &H00 , &H00  '    &H7F
Danke Kollimann