باسلام و خسته نباشد
من یک برنامه ساعت پیداکردم که به صورت زیر:
من یک برنامه ساعت پیداکردم که به صورت زیر:
$regfile = "M32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , Rs = Pinb.2 , E = Pinb.3
Config Pinc.1 = Input
Config Pinc.0 = Input
Config Lcd = 16 * 2
Declare Sub Incr_h
Declare Sub Incr_m
Dim S As Byte , M As Byte , H As Byte
Dim A As Bit
Main:
S = 0 : M = 0 : H = 12
Cls : Home : Lcd "time:"
Do
A = Pinc.0
If A = 1 Then Call Incr_h
If Pinc.1 = 1 Then Call Incr_m
Locate 2 , 1
Lcd "" ; H ; ":" ; M ; ":" ; S
Waitms 995
Incr S
If S > 59 Then
S = 0
Incr M
Shiftcursor Left , 2
Lcd " "
If M > 59 Then
Incr H
M = 0
If H > 12 Then
Jmp main
End If
End If
End If
Loop
End
Incr_m: ' OR Sub Incr_m
Incr M
If M > 59 Then
Cls : Home : Lcd "time:"
M = 0
End If
Return 'OR End Sub INCR_m
Incr_h: 'OR Sub INCR_h
Incr H
If H > 12 Then
H = 1 : Cls : Home : Lcd "time:"
End If
Return 'OR End Sub Incr_h
اما یک مشکل دارد و آن این که وقتی به lcdوصل میکنم ثانیه اش بعد 8 می شمارد لطفا اشکال این برنامه را در این تایپیک بنویسید. باتشکر فراوان
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , Rs = Pinb.2 , E = Pinb.3
Config Pinc.1 = Input
Config Pinc.0 = Input
Config Lcd = 16 * 2
Declare Sub Incr_h
Declare Sub Incr_m
Dim S As Byte , M As Byte , H As Byte
Dim A As Bit
Main:
S = 0 : M = 0 : H = 12
Cls : Home : Lcd "time:"
Do
A = Pinc.0
If A = 1 Then Call Incr_h
If Pinc.1 = 1 Then Call Incr_m
Locate 2 , 1
Lcd "" ; H ; ":" ; M ; ":" ; S
Waitms 995
Incr S
If S > 59 Then
S = 0
Incr M
Shiftcursor Left , 2
Lcd " "
If M > 59 Then
Incr H
M = 0
If H > 12 Then
Jmp main
End If
End If
End If
Loop
End
Incr_m: ' OR Sub Incr_m
Incr M
If M > 59 Then
Cls : Home : Lcd "time:"
M = 0
End If
Return 'OR End Sub INCR_m
Incr_h: 'OR Sub INCR_h
Incr H
If H > 12 Then
H = 1 : Cls : Home : Lcd "time:"
End If
Return 'OR End Sub Incr_h







دیدگاه