1. Code fürs Hauptmenü
2. ´Code für DruckCode:'ATMEGA CONFIG' '-------------' $regfile = "m32def.dat" '$lib "lcd.lib" $crystal = 4000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 $sim 'LCD CONFIG' '----------' Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcdbus = 4 '---------------' Ktemp = 0.488758553274682 Temp_word = Getadc(1) For I = 1 To 19 Ad1 = Getadc(1) Tempcalc = Tempcalc + Ad1 Next Tempcalc = Tempcalc / 20 ' Tempout = Tempcalc * Ktemp If Pinb.1 = 0 Then Locate 3 , 1 Lcd "temp.:" Locate 3 , 14 Lcd Fusing(tempout , "#.##") ; Chr(0) End If '---------------' Druck = 0.004887585533 Druck_word = Getadc(2) Waitms 50 ' Druckout = Druck_word * Druck Druckout = Druckout - 1.808 Druckout = Druckout / 0.20 Home Locate 4 , 1 Lcd "druck:" Locate 4 , 13 Lcd Fusing(druckout , "#.##'") Locate 4 , 18 Lcd "Bar" 'End If Locate 4 , 17 Lcd Chr(1) Loop End
Code:'ATMEGA CONFIG' '-------------' $sim $regfile = "m32def.dat" '$lib "lcd.lib" $crystal = 4000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 'LCD CONFIG' '----------' Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcdbus = 4 'Symbole' '-------' Deflcdchar 0 , 0 , 0 , 0 , 0 , 1 , 3 , 7 , 15 Deflcdchar 1 , 0 , 0 , 0 , 0 , 31 , 31 , 31 , 31 Deflcdchar 2 , 0 , 0 , 0 , 0 , 16 , 24 , 28 , 30 Deflcdchar 3 , 31 , 31 , 31 , 31 , 30 , 28 , 24 , 16 Deflcdchar 4 , 16 , 24 , 28 , 30 , 31 , 31 , 31 , 31 Deflcdchar 5 , 15 , 7 , 3 , 1 , 0 , 0 , 0 , 0 Deflcdchar 6 , 31 , 31 , 31 , 31 , 0 , 0 , 0 , 0 Deflcdchar 7 , 30 , 28 , 24 , 16 , 0 , 0 , 0 , 0 Declare Sub Lcdbig Dim Lcdbigspalte As Byte , Lcdbigzahl As Byte Dim Druck As Word Dim Druck_str As String * 4 , Tmp As String * 1 Dim A As Byte , B As Byte Do Cls Druck = Getadc(1) Druck_str = Str(druck) Locate 1 , 1 Lcd "Druck:" Locate 2 , 1 Lcd "b" Lcdbigspalte = 10 Lcdbigzahl = druck If Druck < 10 Then B = 1 If Druck > 9 Then B = 2 If Druck > 99 Then B = 3 If Druck > 999 Then B = 4 For A = 1 To B If A > 1 Then Lcdbigspalte = Lcdbigspalte + 3 Tmp = Mid(druck_str , A , 1) Lcdbigzahl = Val(tmp) Lcdbig Next Waitms 50 ' wait 1 Loop Sub Lcdbig ' Zeile 1 Locate 1 , Lcdbigspalte Select Case Lcdbigzahl Case 0 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 1 : Lcd Chr(0) ; Chr(1) ; Chr(32) Case 2 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 3 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 4 : Lcd Chr(1) ; Chr(32) ; Chr(32) Case 5 : Lcd Chr(1) ; Chr(1) ; Chr(1) Case 6 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 7 : Lcd Chr(1) ; Chr(1) ; Chr(1) Case 8 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 9 : Lcd Chr(0) ; Chr(1) ; Chr(2) End Select ' Zeile 2 Locate 2 , Lcdbigspalte Select Case Lcdbigzahl Case 0 : Lcd Chr(255) ; Chr(32) ; Chr(255) Case 1 : Lcd Chr(32) ; Chr(255) ; Chr(32) Case 2 : Lcd Chr(0) ; Chr(1) ; Chr(3) Case 3 : Lcd Chr(32) ; Chr(0) ; Chr(3) Case 4 : Lcd Chr(255) ; Chr(1) ; Chr(255) Case 5 : Lcd Chr(255) ; Chr(1) ; Chr(2) Case 6 : Lcd Chr(255) ; Chr(1) ; Chr(2) Case 7 : Lcd Chr(32) ; Chr(0) ; Chr(3) Case 8 : Lcd Chr(255) ; Chr(1) ; Chr(255) Case 9 : Lcd Chr(255) ; Chr(1) ; Chr(255) End Select ' Zeile 3 Locate 3 , Lcdbigspalte Select Case Lcdbigzahl Case 0 : Lcd Chr(255) ; Chr(32) ; Chr(255) Case 1 : Lcd Chr(32) ; Chr(255) ; Chr(32) Case 2 : Lcd Chr(255) ; Chr(32) ; Chr(32) Case 3 : Lcd Chr(32) ; Chr(5) ; Chr(4) Case 4 : Lcd Chr(32) ; Chr(32) ; Chr(255) Case 5 : Lcd Chr(32) ; Chr(32) ; Chr(255) Case 6 : Lcd Chr(255) ; Chr(32) ; Chr(255) Case 7 : Lcd Chr(32) ; Chr(255) ; Chr(32) Case 8 : Lcd Chr(255) ; Chr(32) ; Chr(255) Case 9 : Lcd Chr(32) ; Chr(32) ; Chr(255) End Select ' Zeile 4 Locate 4 , Lcdbigspalte Select Case Lcdbigzahl Case 0 : Lcd Chr(5) ; Chr(6) ; Chr(7) Case 1 : Lcd Chr(6) ; Chr(6) ; Chr(6) Case 2 : Lcd Chr(6) ; Chr(6) ; Chr(6) Case 3 : Lcd Chr(5) ; Chr(6) ; Chr(7) Case 4 : Lcd Chr(32) ; Chr(32) ; Chr(6) Case 5 : Lcd Chr(6) ; Chr(6) ; Chr(7) Case 6 : Lcd Chr(5) ; Chr(6) ; Chr(7) Case 7 : Lcd Chr(32) ; Chr(6) ; Chr(32) Case 8 : Lcd Chr(5) ; Chr(6) ; Chr(7) Case 9 : Lcd Chr(5) ; Chr(6) ; Chr(7) End Select End Sub
3.Code für TEMP
Kann sein das nun ein kleiner fehler im Programm ist aber das sollte ja nichts mit den Screens zu tun habenCode:'ATMEGA CONFIG' '-------------' $sim $regfile = "m32def.dat" '$lib "lcd.lib" $crystal = 4000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 'LCD CONFIG' '----------' Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcdbus = 4 'Symbole' '-------' Deflcdchar 0 , 0 , 0 , 0 , 0 , 1 , 3 , 7 , 15 Deflcdchar 1 , 0 , 0 , 0 , 0 , 31 , 31 , 31 , 31 Deflcdchar 2 , 0 , 0 , 0 , 0 , 16 , 24 , 28 , 30 Deflcdchar 3 , 31 , 31 , 31 , 31 , 30 , 28 , 24 , 16 Deflcdchar 4 , 16 , 24 , 28 , 30 , 31 , 31 , 31 , 31 Deflcdchar 5 , 15 , 7 , 3 , 1 , 0 , 0 , 0 , 0 Deflcdchar 6 , 31 , 31 , 31 , 31 , 0 , 0 , 0 , 0 Deflcdchar 7 , 30 , 28 , 24 , 16 , 0 , 0 , 0 , 0 Declare Sub Lcdbig Dim Lcdbigspalte As Byte , Lcdbigzahl As Byte Dim temp As Word Dim temp_str As String * 4 , Tmp As String * 1 Dim A As Byte , B As Byte Do Cls temp = Getadc(1) temp_str = Str(druck) Locate 1 , 1 Lcd "temp:" Locate 2 , 1 Lcd "b" Lcdbigspalte = 10 Lcdbigzahl = temp If temp< 10 Then B = 1 If temp> 9 Then B = 2 If temp> 99 Then B = 3 If temp > 999 Then B = 4 For A = 1 To B If A > 1 Then Lcdbigspalte = Lcdbigspalte + 3 Tmp = Mid(temp_str , A , 1) Lcdbigzahl = Val(tmp) Lcdbig Next Waitms 50 ' wait 1 Loop Sub Lcdbig ' Zeile 1 Locate 1 , Lcdbigspalte Select Case Lcdbigzahl Case 0 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 1 : Lcd Chr(0) ; Chr(1) ; Chr(32) Case 2 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 3 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 4 : Lcd Chr(1) ; Chr(32) ; Chr(32) Case 5 : Lcd Chr(1) ; Chr(1) ; Chr(1) Case 6 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 7 : Lcd Chr(1) ; Chr(1) ; Chr(1) Case 8 : Lcd Chr(0) ; Chr(1) ; Chr(2) Case 9 : Lcd Chr(0) ; Chr(1) ; Chr(2) End Select ' Zeile 2 Locate 2 , Lcdbigspalte Select Case Lcdbigzahl Case 0 : Lcd Chr(255) ; Chr(32) ; Chr(255) Case 1 : Lcd Chr(32) ; Chr(255) ; Chr(32) Case 2 : Lcd Chr(0) ; Chr(1) ; Chr(3) Case 3 : Lcd Chr(32) ; Chr(0) ; Chr(3) Case 4 : Lcd Chr(255) ; Chr(1) ; Chr(255) Case 5 : Lcd Chr(255) ; Chr(1) ; Chr(2) Case 6 : Lcd Chr(255) ; Chr(1) ; Chr(2) Case 7 : Lcd Chr(32) ; Chr(0) ; Chr(3) Case 8 : Lcd Chr(255) ; Chr(1) ; Chr(255) Case 9 : Lcd Chr(255) ; Chr(1) ; Chr(255) End Select ' Zeile 3 Locate 3 , Lcdbigspalte Select Case Lcdbigzahl Case 0 : Lcd Chr(255) ; Chr(32) ; Chr(255) Case 1 : Lcd Chr(32) ; Chr(255) ; Chr(32) Case 2 : Lcd Chr(255) ; Chr(32) ; Chr(32) Case 3 : Lcd Chr(32) ; Chr(5) ; Chr(4) Case 4 : Lcd Chr(32) ; Chr(32) ; Chr(255) Case 5 : Lcd Chr(32) ; Chr(32) ; Chr(255) Case 6 : Lcd Chr(255) ; Chr(32) ; Chr(255) Case 7 : Lcd Chr(32) ; Chr(255) ; Chr(32) Case 8 : Lcd Chr(255) ; Chr(32) ; Chr(255) Case 9 : Lcd Chr(32) ; Chr(32) ; Chr(255) End Select ' Zeile 4 Locate 4 , Lcdbigspalte Select Case Lcdbigzahl Case 0 : Lcd Chr(5) ; Chr(6) ; Chr(7) Case 1 : Lcd Chr(6) ; Chr(6) ; Chr(6) Case 2 : Lcd Chr(6) ; Chr(6) ; Chr(6) Case 3 : Lcd Chr(5) ; Chr(6) ; Chr(7) Case 4 : Lcd Chr(32) ; Chr(32) ; Chr(6) Case 5 : Lcd Chr(6) ; Chr(6) ; Chr(7) Case 6 : Lcd Chr(5) ; Chr(6) ; Chr(7) Case 7 : Lcd Chr(32) ; Chr(6) ; Chr(32) Case 8 : Lcd Chr(5) ; Chr(6) ; Chr(7) Case 9 : Lcd Chr(5) ; Chr(6) ; Chr(7) End Select End Sub







Zitieren

Lesezeichen