Code:
$regfile "2313def.dat"
$crystal = 3686400
$baud = 9600
Dim Sekunden As Long
Dim Tik As Integer
Dim Minuten As Long
Dim Stunden As Long
Dim Tage As Integer
Dim Starttag As Byte , Startmonat As Byte , Startjahr As Byte
Dim Zieltag As Byte , Zielmonat As Byte , Zieljahr As Byte
Dim Bday1 As Byte , Bmonth1 As Byte , Byear1 As Byte
Dim Bday2 As Byte , Bmonth2 As Byte , Byear2 As Byte
Dim Datdiff1 As Integer , Datdiff2 As Integer
Dim Wert As Integer
Deflcdchar 0 , 32 , 24 , 30 , 7 , 27 , 24 , 22 , 16
Deflcdchar 1 , 24 , 24 , 28 , 12 , 30 , 31 , 31 , 15
Deflcdchar 2 , 6 , 1 , 1 , 32 , 32 , 32 , 16 , 16
Deflcdchar 3 , 16 , 1 , 14 , 12 , 1 , 7 , 32 , 16
Deflcdchar 4 , 30 , 30 , 8 , 32 , 32 , 32 , 32 , 32
Deflcdchar 5 , 32 , 32 , 32 , 4 , 24 , 32 , 32 , 32
Deflcdchar 6 , 23 , 19 , 15 , 12 , 8 , 10 , 15 , 15
Deflcdchar 7 , 7 , 7 , 7 , 7 , 5 , 13 , 24 , 16
'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
Enable Interrupts
Config Clock = User
Config Date = Ymd , Separator = . ' ANSI-Format
Starttag = 08 : Startmonat = 01 : Startjahr = 12 : Datdiff1 = Sysday(starttag)
Zieltag = 24 : Zielmonat = 12 : Zieljahr = 12 : Datdiff2 = Sysday(zieltag)
Tage = Datdiff2 - Datdiff1
Tik = 0
Stunden = Tage * 24
Minuten = Stunden * 60
Sekunden = Minuten * 60
Config Timer1 = Timer , Prescale = 1024 'Bestimmt das Timer 1 verwendet
Enable Timer1
On Timer1 Test
Enable Interrupts
Timer1 = 61935
Cls
Do ' Schleifenanfang
Cursor Off Noblink
Locate 1 , 1
Lcd " nur noch " ; Sekunden
Locate 2 , 1
Lcd " Sekunden bis...???"
Locate 3 , 8 : Lcd Chr(0) ; Chr(2) ; Chr(4) ; Chr(6)
Locate 4 , 8 : Lcd Chr(1) ; Chr(3) ; Chr(5) ; Chr(7)
Waitms 50
If Tik = 25 Then Gosub Tiktest1 'Ausgang C.5 ein [15]
If Tik = 35 Then Gosub Tiktest2 'Ausgang C.5 aus [25]
'Differenz von 10 entspricht ~ 10Sek eingeschaltet
Loop
End
Test:
Incr Tik
Decr Sekunden
Timer1 = 61935 ' Timer soll ab 61935 hochzählen
Return
Tiktest1:
Portb.5 = 1
Return
Tiktest2:
Tik = 0
Portb.5 = 0
Return
'
...zwischen Tiktest1 und Tiktest2 sollte nach meiner Idee das LCD Display
Lesezeichen