Napisałem coś takiego - listing poniżej- , ale sekunda to nie trwa jednej sekundy. Jeśli ktoś może mnie oświecić to będę bardzo wdzięczny za pomoc..
Kod: Zaznacz cały
$crystal = 12000000
Dim Minuty As Byte
Dim Sekundy As Byte
Dim Milisek As Byte
Dim T1 As Bit
Dim T2 As Bit
Config Lcd = 16 * 2
Config Timer0 = Timer , Gate = Internal , Mode = 1
Counter0 = 10000
On Timer0 Przerwanie
Enable Timer0
Enable Interrupts
Cls
Minuty = 0
Sekundy = 0
Milisek = 0
T1 = 0
T2 = 0
Cursor Off
'...................................................
Lcd " Pomiar czasu "
Lowerline
Lcd " Toru 1 i toru 2"
'..................................................
Do
If P3.3 = 0 Then
Loop
End If
Start Timer0
Cls
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Do
Home
If T1 = 0 Then
Lcd " TOR1 - "
If Minuty < 10 Then Lcd "0"
Lcd Minuty ; ":"
If Sekundy < 10 Then Lcd "0"
Lcd Sekundy ; ","
If Milisek < 10 Then Lcd "0"
Lcd Milisek
End If
If T2 = 0 Then
Lowerline
Lcd " TOR2 - "
If Minuty < 10 Then Lcd "0"
Lcd Minuty ; ":"
If Sekundy < 10 Then Lcd "0"
Lcd Sekundy ; ","
If Milisek < 10 Then Lcd "0"
Lcd Milisek
End If
Loop
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Przerwanie:
Counter0 = 10054
Start Timer0
Incr Milisek
If Milisek = 100 Then
Milisek = 0
Incr Sekundy
End If
If Sekundy = 60 Then
Sekundy = 0
Incr Minuty
End If
If Minuty = 30 Then
Stop Timer0
End If
If P3.5 = 0 Then
Set T1
End If
If P3.4 = 0 Then
Set T2
End If
Return
End