Guten tag

Hab ein problem mit ein display 16*1 (displaytech 161a) die einzige form um was zu schreiben ist es so zu behandeln als wäre ein 8*2 zeichen display , als hardware hab ich ein atmega 8 das läuft auf 8 mhz intern frequenz , mein problem ist es das alles funktioniert einwandfrei aber nur 10 minuten danach kommen 8 schwarze kästchen am display , wenn ich die stromzufuhr unterbreche hab ich wieder mein text und läuft alles normal nach 10 minuten kommen wieder die kästchen an was könnte es liegen ? , ich hab 2 gleiche schaltungen und beide verhalten sich gleich .

Code:
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40




Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2


Config Lcd = 16 * 1





Config Portb.1 = Input
Config Portb.2 = Input
Config Portd.0 = Input

Config Portc.1 = Output
Config Portc.2 = Output

Portb.1 = 1
Portb.2 = 1
Portd.0 = 1

Dim Dummy As Eram Word
Dim Speicher As Eram Word
Dim Splaufzeit As Eram Word
Dim Laufzeit As Word
Dim Zeit As Word
Dim Minuten As Word
Dim Aktlaufzeit As Word
Dim Gesmuenz As Word
Dim A As Byte
Gesmuenz = Speicher
Laufzeit = Splaufzeit

Cursor Off
Locate 1 , 1
Lcd "Gesamt"
Locate 2 , 1
Lcd Gesmuenz
Do
 Portc.2 = 1

If Pinb.1 = 0 Then
  Gosub Incrlaufzeit
  End If

If Pinb.2 = 0 Then
  Gosub Decrlaufzeit
  End If



  If Pind.0 = 1 Then

 Gesmuenz = Gesmuenz + 1
 Speicher = Gesmuenz
 Minuten = Laufzeit * 60
 Aktlaufzeit = Minuten
 Cls
Locate 1 , 1
Lcd "Gesamt"
Locate 2 , 1
Lcd Gesmuenz
 Gosub Startzeit
 End If

Loop




  Startzeit:
 Do
Decr Aktlaufzeit
  Portc.1 = 1
  Waitms 1044
If Aktlaufzeit =< 0 Then
Portc.1 = 0
Portc.2 = 0
Wait 1

   End If
   Loop Until Aktlaufzeit = 0

  Return


 Incrlaufzeit:

 Cls
 Incr Laufzeit
 Locate 1 , 1
 Lcd "Minuten"
 Locate 2 , 1
 Lcd Laufzeit
 Waitms 500
Cls
 Splaufzeit = Laufzeit
 Locate 1 , 1
Lcd "Gesamt"
Locate 2 , 1
Lcd Gesmuenz

 Return

 Decrlaufzeit:

 Cls
 Decr Laufzeit
 Locate 1 , 1
 Lcd "Minuten"
 Locate 2 , 1
 Lcd Laufzeit
Waitms 500
 Cls
  Splaufzeit = Laufzeit
  Locate 1 , 1
Lcd "Gesamt"
Locate 2 , 1
Lcd Gesmuenz

 Return