Witam jest to mój pierwszy {większy} program oczywiście przeszedłem kursy bascoma z zapalaniem diódek.
Przychodząc do tematu to z zasobów internetu i własnych umiejętności napisałem program dla zegara i dla termometru i chciałbym teraz te dwie funkcje połączyć w całość. Owszem zrobiłem efekt jest bardzo fajny i wszystko działa ale pod względem w programie sam widzę ze jest coś nie tak a mianowicie pętla Do ... Loop jest pusta wszystkie warunki są napisane na timerze ale jak dam je do tej pętli to mi coś nie działa. Naprawdę próbowałem wiele nawet z funkcja stop\start timer ale też nic.
Prosiłbym bardziej doświadczonych ode mnie o porady. Dzięki:)
Przychodząc do tematu to z zasobów internetu i własnych umiejętności napisałem program dla zegara i dla termometru i chciałbym teraz te dwie funkcje połączyć w całość. Owszem zrobiłem efekt jest bardzo fajny i wszystko działa ale pod względem w programie sam widzę ze jest coś nie tak a mianowicie pętla Do ... Loop jest pusta wszystkie warunki są napisane na timerze ale jak dam je do tej pętli to mi coś nie działa. Naprawdę próbowałem wiele nawet z funkcja stop\start timer ale też nic.
Prosiłbym bardziej doświadczonych ode mnie o porady. Dzięki:)
Code:
$regfile = "m8def.dat" 'Dyrektyway dla kompilatora.
$crystal = 1000000
Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32
Config 1wire = Portc.5
Config Portb.0 = Input
Portb.0 = 1
Config Portd.7 = Input
Portd.7 = 1
Config Portd.6 = Input
Portd.6 = 1
Config Portd.5 = Input
Portd.5 = 1
Config Portb.1 = Output '
Portb.1 = 0
Config Lcd = 16 * 2
Config Timer1 = Timer , Prescale = 64 : Enable Interrupts : Enable Timer1
On Timer1 Sek Nosave
Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single , Napis As String * 5
Dim G As Byte '
Dim M As Byte
Dim S As Byte
Dim X As Byte
G = 0
M = 0
S = 0
Cls
Cursor Off
Lcd "zegarek "
Lowerline
Lcd "by FrOg"
Do
Loop
End
Sek:
Load Timer1 , 15625
If Pind.7 = 0 Then
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE
Odczyt(1) = 1wread(2)
T = Odczyt(2)
Shift T , Left , 8
T = T + Odczyt(1)
T1 = T * 0.0625
Napis = Fusing(t1 , "#.#")
Cls
Lcd "temp --->" ; Napis
Wait 3
End If
If Pinb.0 = 0 Then
Incr X
End If
If X = 2 Then
X = 0
End If
If Pinb.0 = 0 And X = 1 Then
Cls
Lcd " czas "
Lowerline
Lcd "zatrzymany"
Wait 1
End If
If Pinb.0 = 0 And X = 0 Then
Cls
Lcd " czas "
Lowerline
Lcd "wznowiony "
Wait 1
End If
If Pind.6 = 0 Then
Waitms 50
Incr M
End If
If Pind.5 = 0 Then
Waitms 50
Incr S
End If
If X = 0 Then
Incr S
End If
If S = 60 Then
S = 0
Incr M
End If
If M = 60 Then
M = 0
Incr G
End If
If G = 24 Then
G = 0
End If
Cls
If G < 10 Then Lcd "0"
Lcd G ; ":"
If M < 10 Then Lcd "0"
Lcd M ; ":"
If S < 10 Then Lcd "0"
Lcd S
Return