'******************************************************************************* ' NODCF-LCD-Uhr '******************************************************************************* Dim Seku As Integer Dim Minu As Byte Dim Stun As Byte Dim Day As Byte Dim Wota As Byte Dim Mona As Byte Dim Year As Integer Declare Sub Nodcf Declare Sub Anzeige Declare Sub Korrektur '******************************************************************************* $regfile = "8515def.dat" 'AT90S8515-Deklarationen $crystal = 3686400 'Verwendeter Quarz: 3.6864 MHz Config Lcd = 16 * 4 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1 , Rs = Portd.6 , E = Portb.0 '16x4 LCD initialisiert Cursor Off Cls '******************************************************************************* Seku = -2 Minu = 0 Stun = 0 Day = 31 Mona = 3 Year = 2005 Do Call Korrektur Loop End '############################################################################### '############################################################################### Sub Nodcf Incr Seku Waitms 971 Waitus 90 If Seku = 60 Then Cls Minu = Minu + 1 Seku = 0 If Minu = 60 Then Minu = 0 Stun = Stun + 1 If Stun = 24 Then Stun = 0 Day = Day + 1 If Day = 30 Then Day = 1 Mona = Mona + 1 If Mona = 12 Then Mona = 1 Year = Year + 1 End If End If End If End If End If End Sub Sub Anzeige Locate 1 , 1 If Stun < 10 Then If Minu < 10 Then If Seku < 10 Then Lcd "Zeit: 0" ; Stun ; ":0" ; Minu ; ":0" ; Seku ; " " Else Lcd "Zeit: 0" ; Stun ; ":0" ; Minu ; ":" ; Seku ; " " End If Else If Seku < 10 Then Lcd "Zeit: 0" ; Stun ; ":" ; Minu ; ":0" ; Seku ; " " Else Lcd "Zeit: 0" ; Stun ; ":" ; Minu ; ":" ; Seku ; " " End If End If Else If Minu < 10 Then If Seku < 10 Then Lcd "Zeit: " ; Stun ; ":0" ; Minu ; ":0" ; Seku ; " " Else Lcd "Zeit: " ; Stun ; ":0" ; Minu ; ":" ; Seku ; " " End If Else If Seku < 10 Then Lcd "Zeit: " ; Stun ; ":" ; Minu ; ":0" ; Seku ; " " Else Lcd "Zeit: " ; Stun ; ":" ; Minu ; ":" ; Seku ; " " End If End If End If Locate 2 , 7 If Day < 10 Then If Mona < 10 Then Lcd "0" ; Day ; ".0" ; Mona ; "." ; Year Else Lcd "0" ; Day ; "." ; Mona ; "." ; Year End If Else If Mona < 10 Then Lcd Day ; ".0" ; Mona ; "." ; Year Else Lcd Day ; "." ; Mona ; "." ; Year End If End If End Sub Sub Korrektur If Stun <= 24 Then If Minu <= 60 Then If Day <= 31 Then If Mona <= 12 Then ' if wota <= 7 then If Year > 2001 Then Call Nodcf Call Anzeige End If ' End If End If End If End If End If End Sub