۲۶-آذر-۱۳۹۰, ۱۸:۲۵:۲۴
با سلام
دوستان عزیز من یک مداری ساختم که در اون با توجه به زمان مورد نظر یکسری دستوراتی انجام میده ، حالا من موندم اینجا که چرا این زمان مورد نظر اصلا درست عمل نمیکنه !!
درضمن از کریستال 32768 هم استفاده شده و هم از دستور تایمر 2
برنامه ای که من نوشتم قطعه اصلیش رو براتون میذارم
عاجزانه خواهش می کنم کمکم کنید
خلاصه برنامه اینطور هست که بعد از هر وقفه یک ثانیه ای یک مقدار به متغیر Sec افزوده شده و بعد از 60 ثانیه یک مقدار به متغیر Min و بعد از 60 دقیقه هم یک مقدار یه متغیر Hor افزوده میشه
و در ساعات مختلف دستورات مختلفی رو در حوزه Do Loop انجام میده که این دستورات تقریبا 10 خط هستند
حالا مشکل من این هست که این ساعت هر یک ساعت حدود یک ربع عقب ، جلو میشه
خواهش میکنم در این مورد کمکم کنید
دوستان عزیز من یک مداری ساختم که در اون با توجه به زمان مورد نظر یکسری دستوراتی انجام میده ، حالا من موندم اینجا که چرا این زمان مورد نظر اصلا درست عمل نمیکنه !!
درضمن از کریستال 32768 هم استفاده شده و هم از دستور تایمر 2
برنامه ای که من نوشتم قطعه اصلیش رو براتون میذارم
عاجزانه خواهش می کنم کمکم کنید
CONFOG TIMER2 = TIMER , ASYNC = ON , PRESCALE = 128
CONFIG PORTD = OUTPUT
ENABLE INTERRUPTS
ENABLE TIMER2
dim sec,min,hor as integer
sec=0
min=0
hor=0
ON TIMER2 NEX
DO
if hor=1 and min=30 then portc=10
if hor = 12 and min = 20 then portc= 26
.
.
.
.
.
LOOP
END
NEX:
incr sec
if sec=59 then
sec=0
incr min
end if
if min = 59 then
min=0
incr hor
end if
if hor = 24 then
hor=0
min=0
sec=0
end if
RETURN
CONFIG PORTD = OUTPUT
ENABLE INTERRUPTS
ENABLE TIMER2
dim sec,min,hor as integer
sec=0
min=0
hor=0
ON TIMER2 NEX
DO
if hor=1 and min=30 then portc=10
if hor = 12 and min = 20 then portc= 26
.
.
.
.
.
LOOP
END
NEX:
incr sec
if sec=59 then
sec=0
incr min
end if
if min = 59 then
min=0
incr hor
end if
if hor = 24 then
hor=0
min=0
sec=0
end if
RETURN
خلاصه برنامه اینطور هست که بعد از هر وقفه یک ثانیه ای یک مقدار به متغیر Sec افزوده شده و بعد از 60 ثانیه یک مقدار به متغیر Min و بعد از 60 دقیقه هم یک مقدار یه متغیر Hor افزوده میشه
و در ساعات مختلف دستورات مختلفی رو در حوزه Do Loop انجام میده که این دستورات تقریبا 10 خط هستند
حالا مشکل من این هست که این ساعت هر یک ساعت حدود یک ربع عقب ، جلو میشه

خواهش میکنم در این مورد کمکم کنید
