Siedzę właśnie na płytka testową uczę się w bascomie i nie mogę uruchomić zegarka.
Inne rzeczy śmigają jak trzeba ,a po wgraniu tego programu nic nie ma.
Kod: Zaznacz cały
$regfile = "m8def.dat"
$crystal = 8000000
Config Pinb.1 = Input
Config Pinb.2 = Input
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config Timer1 = Timer , Prescale = 256
Declare Sub Wysw_czas
On Timer1 Odmierz_1s
Dim Sekundy As Byte
Dim Minuty As Byte
Dim Godziny As Byte
Dim Nowa_w As Bit
Dim Wart_bcd As Byte
S1 Alias Pinb.2
S2 Alias Pinb.1
Enable Interrupts
Enable Timer1
Counter1 = 34286
Set Nowa_w
Set Portb.1
Set Portb.2
Do
Call Wysw_czas
If S1 = 0 Then
Waitms 25
If S1 = 0 Then
Incr Minuty
Sekundy = 0
If Minuty = 60 Then
Minuty = 0
End If
Set Nowa_w
Call Wysw_czas
Waitms 200
End If
End If
If S2 = 0 Then
Waitms 25
If S2 = 0 Then
Incr Godziny
If Godziny = 24 Then
Godziny = 0
End If
Set Nowa_w
Call Wysw_czas
Waitms 200
End If
End If
Loop
End 'end program
Sub Wysw_czas
If Nowa_w = 1 Then
Cls
Wart_bcd = Makebcd(godziny)
Lcd Bcd(wart_bcd) ; ":"
Wart_bcd = Makebcd(minuty)
Lcd Bcd(wart_bcd) ; ":"
Wart_bcd = Makebcd(sekundy)
Lcd Bcd(wart_bcd) ;
Reset Nowa_w
End If
End Sub
Odmierz_1s:
Counter1 = Counter1 + 34186
Incr Sekundy
Set Nowa_w
If Sekundy = 60 Then
Sekundy = 0
Incr Minuty
If Minuty = 60 Then
Minuty = 0
Incr Godziny
If Godziny = 24 Then
Godziny = 0
End If
End If
End If
Return
Edit: Proszę listingi umieszczać w znaczniku
Kod: Zaznacz cały
. Lekko rozszerzyłem temat (niech Ci będzie pikaczu, że był niejasny ;) ).
Pajączek.[/color]