Guten Morgen!

Ich weiss so langsam nicht mehr weiter.
Ich habe folgendes Problem:
Ich habe mir das AVR-steuert-USB-Board von Elektor nachgebaut. Funktionierte auch nachdem ich es mit MysmartUSB programmiert hatte. Dann hatte ich noch ein altes Experimentier-Board hier mit einem Mega8 drauf und wollte damit dann mein Moodlight bauen. Klappte zuerst auch bis ich nach und nach Fehler festgestellt hatte. Ich dachte erst das liegt an meiner Programmierung, kam aber nicht drauf was falsch sein könnte. Dann kam ich auf die Idee das AVR-USB-Board als Entwicklungsboard zu benutzen. Habe ich gemacht und funktionierte auch erst ganz gut. Nach mehrmaligem Brennen hat das Display plötzlich wilde Zeichen angezeigt. Habe schon vermutet, dass es an dem Programmer (MysmartUSB) liegt und habe die Main.hex von Elektor wieder aufgespielt....funktionierte wieder alles. Jetzt stellte ich mir gerade die Frage ob das was mit den Fusebits zu tun haben könnte und wollte die mir MyAVR_Workpad auslesen (damit habe ich sie auch gesetzt) weil ja das in Bascom bekannlich nicht geht. Jetzt mach das Programm aber noch nichteinmal mehr das.

Ich habe jetzt erstmal keine weiteren Ideen mehr was da kaputt sein kann.

Hier noch ein paar Infos:
Fusebits wie von Elektor vorgegeben (0x3FDF)
Hier mein Programm:
Code:
$regfile = "m32def.dat"                                     ' specify the used micro

$crystal = 12000000

$hwstack = 32

$swstack = 8

$framesize = 24

Dim Bd(9) As Byte
Dim Tmp As Single
Dim T As Integer

Config Portc.1 = Output
Reset Portc.1
Config 1wire = Portd.4
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 20 * 4



Wait 1
Cursor Off Noblink
Cls
Wait 1
Do
   1wreset
   1wwrite &HCC
   1wwrite &H44
   Waitms 300
   1wreset
   1wwrite &HCC
   1wwrite &HBE
   Bd(1) = 1wread(9)                                        ' read bytes in array
   1wreset


   Shift Bd(1) , Right
   T = Makeint(bd(1) , Bd(2))
   Locate 2 , 1
   Lcd T
   Tmp = Bd(8) - Bd(7)
   Tmp = Tmp / Bd(8)
   Tmp = T + Tmp
   Tmp = Tmp - 0.25



Locate 1 , 1
Lcd Tmp
Loop
End
Bascom Version 1.11.8.8

Wäre dankbar für jede Hilfe.

MfG
Marten83

<edit> Die Zeichen ändern sich auf dem Display wenn ich die Temperatur verändere.