دوستان برنامه زیر یک شمارنده 4 رقمی با 7 سگمنت هست که با فشارUp از 0 تا 9999 میشماره ولی میخاهم با فشار down ( Pinb.2 ) از 0 به پایین یعنی اعداد منفی یعنی -1 ـ -2 الی -9999 را نشان بده
کجای برنامه را باید تغییر بدم تا درست بشه
$regfile = "m8def.dat"
$crystal = 4000000
Config Portd = Output
Config Portc = Output
Config Pinb.0 = Input
Config Pinb.2 = Input
Dataport Alias Portd
Comm Alias Portc
Dim A As Byte , B As Byte , C As Word , D As Word , _
, N As Byte , M As Byte , V As Byte , T As Byte , Hh As Byte
Declare Sub Q
Declare Sub W
Declare Sub E
Declare Sub K
Declare Sub X
Do
Call E
Call Q
Call K
Loop
'================================================= ============================
Sub K
If Pinb.0 = 1 Then
Incr N
Call X
End If
If Pinb.2 = 1 Then
decr N
Call X
End If
End Sub
'================================================= =======================
Sub E
If N > 9 Then
N = 0
Incr M
If M > 9 Then
M = 0
Incr V
If V > 9 Then
V = 0
Incr T
If T > 9 Then
T = 0
End Sub
End If
End If
End If
End If
'================================================= =====================
Sub Q
Comm = &B0111 : A = N : Call W
Comm = &B1011 : A = M : Call W
Comm = &B1101 : A = V : Call W
Comm = &B1110 : A = T : Call W
End Sub
'================================================= =====================
Sub W
Dataport = Lookup(a , Sa)
Waitms 4
Dataport = &H00
End Sub
'================================================= =======================
Sub X
For Hh = 1 To 2
Call E
Call Q
Next
End Sub
'================================================= ============================
Sa:
Data &B00111111 , &B00000110 , &B01011011 , &B01001111
Data &B01100110 , &B01101101 , &B01111101 , &B00000111
Data &B01111111 , &B01101111
کجای برنامه را باید تغییر بدم تا درست بشه

$regfile = "m8def.dat"
$crystal = 4000000
Config Portd = Output
Config Portc = Output
Config Pinb.0 = Input
Config Pinb.2 = Input
Dataport Alias Portd
Comm Alias Portc
Dim A As Byte , B As Byte , C As Word , D As Word , _
, N As Byte , M As Byte , V As Byte , T As Byte , Hh As Byte
Declare Sub Q
Declare Sub W
Declare Sub E
Declare Sub K
Declare Sub X
Do
Call E
Call Q
Call K
Loop
'================================================= ============================
Sub K
If Pinb.0 = 1 Then
Incr N
Call X
End If
If Pinb.2 = 1 Then
decr N
Call X
End If
End Sub
'================================================= =======================
Sub E
If N > 9 Then
N = 0
Incr M
If M > 9 Then
M = 0
Incr V
If V > 9 Then
V = 0
Incr T
If T > 9 Then
T = 0
End Sub
End If
End If
End If
End If
'================================================= =====================
Sub Q
Comm = &B0111 : A = N : Call W
Comm = &B1011 : A = M : Call W
Comm = &B1101 : A = V : Call W
Comm = &B1110 : A = T : Call W
End Sub
'================================================= =====================
Sub W
Dataport = Lookup(a , Sa)
Waitms 4
Dataport = &H00
End Sub
'================================================= =======================
Sub X
For Hh = 1 To 2
Call E
Call Q
Next
End Sub
'================================================= ============================
Sa:
Data &B00111111 , &B00000110 , &B01011011 , &B01001111
Data &B01100110 , &B01101101 , &B01111101 , &B00000111
Data &B01111111 , &B01101111
دیدگاه