Carlos31
12.11.2009, 19:40
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 .
$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
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 .
$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