اطلاعیه

Collapse
No announcement yet.

یه مشکل کوچیک با تایمر

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یه مشکل کوچیک با تایمر

    سلام. درباره ی تایمر ها به یه مشکل کوچیک برخوردم. ممنون میشم کمک کنید. قراره یه led مدت زمان مشخصی روشن باشه و بعد خاموش بشه. من برنامه اشو با تایمر نوشتم. مشکلی که دارم اینه که مثلا وقتی تنظیم میکنم که بعد از 2350 میلی ثانیه خاموش بشه ، بعد از 2358 میلی ثانیه خاموش میشه.
    یعنی دقیقا تو زمانی که تنظیم میکنم خاموش نمیشه. یا کمی زودتر یا کمی دیرتر خاموش میشه.
    کارکرد کلی مدار: یک پوش باتن داریم که وقتی فشار میدیم شمارش شروع میشه و led روشن میشه و وقتی به زمانی که تنظیم کردیم رسیدیم led خاموش میشه. تو زمانی که led روشنه هر لحظه ای که دستمون رو از روی پوش باتن برداریم (یعنی حتی اگر به زمان تنظیم شده هم نرسیده باشیم) led خاموش میشه.
    مدت زمانش رو از طریق یک پتانسیومتر که به adc میکرو میتونیم تغییر بدیم.
    برنامه بسکام و شبیه سازیشو براتون میزارم. :bye :bye
    http://s5.picofile.com/d/0cf33fe0-1573-49b8-b3e1-8b96dd6273cb/timer_11.rar
    نه تو میمانی و نه اندوه و نه هیچیک ازمردم این آبادی...
    به حباب نگران لب یک رود قسم و به کوتاهی آن لحظه ی شادی که گذشت غصه هم میگذرد ...
    آنچنانی که فقط خاطره ای میماند..
    لحظه ها عریانند ... به تن لحظه ی خود جامه ی اندوه مپوشان هرگز...

    #2
    پاسخ : یه مشکل کوچیک با تایمر

    شما تو برنامت از تعداد زیادی if استفاده کردی که خود این دستور نسبت به بقیه دستورها وقت بیشتری از میکرو میگیره،مخصوصا که شما از کریستال یک میلیون استفاده کردی،به خاطر همینه که تا وقتی بخواد دستور ریست تایمر انجام بشه یه چند میکروثانیه طول میکشه.
    پیشنهادم اینه که از کریستال 8 میلیون استفاده کن و جایی که نوشتی If Var > P Then Portd.7 = 0 به جای علامت بزرگتر از بزرگتر مساوی استفاده کن

    دیدگاه

    لطفا صبر کنید...
    X