باسلام خدمت استادان گران قدر:
من یک برنامه ساعت با سون سگمنت و AVR نوشته ام که با یک مشکل روبرو است ((دقیق نبودن))
لطفا مرا در این زمینه یاری دهید
کدبرنامه:
[code=vb]$regfile = "m16adef.dat"
$crystal = 8000000
Config Porta = Output
Config Portb = Output
Config Pinc.0 = Input
Config Pinc.7 = Input
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Integer
F:
E = 0
Do
Incr E
If Pinc.0 = 1 Then Goto J 'afzayesh daghighe
If Pinc.7 = 1 Then Goto K 'afzayesh sa at
Portb = Lookup(a , H)
Porta = &H08
Waitms 1
Portb = Lookup(b , H)
Porta = &H04
Waitms 1
Portb = Lookup(c , H)
Porta = &H02
Waitms 1
Portb = Lookup(d , H)
Porta = &H01
Waitms 1
If E = 15000 Then Goto G
Loop
K:
Incr C
Waitms 120
Goto L
J:
Waitms 120
G:
Incr A
L:
If A > 9 Then Incr B
If A > 9 Then A = 0
If B > 5 Then Incr C
If B > 5 Then B = 0
If D = 2 Then Goto I
If C > 9 Then Incr D
If C > 9 Then C = 0
Goto F
I:
If C = 4 Then D = 0
If C = 4 Then C = 0
Goto F
H:
Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10[/code]
من یک برنامه ساعت با سون سگمنت و AVR نوشته ام که با یک مشکل روبرو است ((دقیق نبودن))
لطفا مرا در این زمینه یاری دهید
کدبرنامه:
[code=vb]$regfile = "m16adef.dat"
$crystal = 8000000
Config Porta = Output
Config Portb = Output
Config Pinc.0 = Input
Config Pinc.7 = Input
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Integer
F:
E = 0
Do
Incr E
If Pinc.0 = 1 Then Goto J 'afzayesh daghighe
If Pinc.7 = 1 Then Goto K 'afzayesh sa at
Portb = Lookup(a , H)
Porta = &H08
Waitms 1
Portb = Lookup(b , H)
Porta = &H04
Waitms 1
Portb = Lookup(c , H)
Porta = &H02
Waitms 1
Portb = Lookup(d , H)
Porta = &H01
Waitms 1
If E = 15000 Then Goto G
Loop
K:
Incr C
Waitms 120
Goto L
J:
Waitms 120
G:
Incr A
L:
If A > 9 Then Incr B
If A > 9 Then A = 0
If B > 5 Then Incr C
If B > 5 Then B = 0
If D = 2 Then Goto I
If C > 9 Then Incr D
If C > 9 Then C = 0
Goto F
I:
If C = 4 Then D = 0
If C = 4 Then C = 0
Goto F
H:
Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10[/code]
دیدگاه