Nach langer Pause (bin im prüfungsstress) melde ich mich auch mal wieder.

Code:
$regfile = "m32def.dat"
$framesize = 60
$swstack = 60
$hwstack = 60
$crystal = 1000000


Config Lcd = 16 * 1
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4
Config Adc = Single , Prescaler = Auto
Start Adc
Config Portc.5 = Output
Config Portc.4 = Output
Config Portc.3 = Output
Config Portb.2 = Output
Config Pinb.1 = Input
Dim W As Integer
Dim A As Single
Dim B As Single
Dim C As Single
Dim D As Single
Dim E As Single
Declare Sub Piep()
Declare Sub Spannung()



Portb.1 = 1

Do
   W = Getadc(1)
   If 390 < W Then
      Portc.3 = 1                                           'Grün
   End If
   If 340 < W And W < 390 Then
      Portc.4 = 1                                           'Gelb
   End If
   If W < 340 Then
      Portc.5 = 1
      Call Piep                                             'Rot
   End If
   Call Spannung
Loop

End


Sub Piep()
   Config Timer1 = Pwm , Pwm = 8 , Compare B Pwm = Clear Up , Prescale = 1
   Pwm1b = 180
   Wait 1
   Pwm1b = 0
   Wait 1
End Sub

Sub Spannung()
   A = 4.95 / 1024
   C = W * A
   D = C * 100
   E = Round(d)
   E = E / 100
   B = E * 3
   Cursor Off
   Cls
   Locate 1 , 1
   Lcd Fusing(b , "#.##") ; "V"                             'Spannung
   Wait 1
End Sub
Also ich lese die spannung von einem Spannunsteiler ab (3x 10k) dadurch sind 15V möglich. Für dich düfte wohl nur Spannung interressant sein. Die Zeile B = E * 3 ist eben weil ich die Spannung durch 3 teile und sie nun wieder verdreifacht werden muss.Das Grün, Gelb,... sind nur leds um die spannung in drei farben darzustellen wie sie ca ist. Piep() dient dazu ein warnsignal auszugeben wenn die spannung zu tief ist.

mfg