اطلاعیه

Collapse
No announcement yet.

تایمر و کانتر در PIC (راهنمایی)

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تایمر و کانتر در PIC (راهنمایی)

    سلام

    لطفا در مورد پیکر بندی و استفاده ی از تایمر و کانتر در میکروهای PIC مرا راهنمایی کنید.(به زبان picbasic )

    اگه پروژه ای هم در رابطه با این موضوع مثلا ساعت دیجیتال و فرکانس متر معرفی کنید ممنون میشم.

    با تشکر قبلی.
    صلی الله علیک یا اباعبدالله الحسین.

    صلی الله علی الباکین علی الحسین(ع).

    #2
    پاسخ : تایمر و کانتر در PIC (راهنمایی)

    کدوم تایمر رو می خوای ؟
    pic تا 5 تایمر داره : wdt - tmr0 - tmr1 - tmr2 - tmr3
    کدومو می خوای
    هر کدوم کلی تنظیمات مخصوص خودشون دارن ( پرس کالر ، پست اسکالر ، تریگر ، ... )
    البته کانتر رو همشون نمی تونن انجام بدن
    فقط 0 و 1 می تونن تو حالت کانتر عمل کنن
    به دلیل رعایت نکردن قوانین ، امضا ویرایش شد.

    دیدگاه


      #3
      پاسخ : تایمر و کانتر در PIC (راهنمایی)

      ممنون از توجهتون؛

      من به هر دو کانتر نیاز دارم با یه تایمر پس باید با پیکر بندی تایمر 0 و 1 بعنوان کانتر و با تایمر 3 بعنوان تایمر آشنا باشم. لطفا اگه ممکنه در مورد پیکر بندی این سه تایمر توضیح بدین.

      راستش من میخوام یه ساعت بسازم که یه سری پالس را در مدت زمان خیلی طولانی مثلا یک هفته شمارش کنه.
      صلی الله علیک یا اباعبدالله الحسین.

      صلی الله علی الباکین علی الحسین(ع).

      دیدگاه


        #4
        پاسخ : تایمر و کانتر در PIC (راهنمایی)

        تایمر 3 رو بیخیالش شو . چون تو سری 16نمی تونی گیر بیاری
        واس تایمر 0 و 1 هم اینجوریه :
        tmr0 = ثبات شمارنده تایمر 0
        tmr1l = ثبات شمارنده تایمر 1 - 8 بیت پایئین
        tmr1h = ثبات شمارنده تایمر 1 - 8 بیت بالا
        t1con = رجیستر تنظیمات و فعال سازی تایمر 1
        از option_reg هم به صورت مشترک واسه تنظیم تایمر 0 استفاده میشه
        به دلیل رعایت نکردن قوانین ، امضا ویرایش شد.

        دیدگاه


          #5
          پاسخ : تایمر و کانتر در PIC (راهنمایی)

          سلام،

          اگه ممکنه یکی از دوستان لطف کنه یه برنامه ی ساعت دیجیتال و یه کانتر را بذاره توی این تاپیک.(بزبان PICBASIC ).

          یه سوال، دستور count تعداد پالسهای روی یه پین را برای مدت زمان مشخصی میشماره. حالا اگه ما خواسته باشیم تعداد پالسهای روی یه پین را برای مدت زمان طولانی بشماریم چه روشی پیشنهاد میشه؟(بجز کانتر)

          صلی الله علیک یا اباعبدالله الحسین.

          صلی الله علی الباکین علی الحسین(ع).

          دیدگاه


            #6
            پاسخ : تایمر و کانتر در PIC (راهنمایی)

            نوشته اصلی توسط hossein.b
            یه سوال، دستور count تعداد پالسهای روی یه پین را برای مدت زمان مشخصی میشماره. حالا اگه ما خواسته باشیم تعداد پالسهای روی یه پین را برای مدت زمان طولانی بشماریم چه روشی پیشنهاد میشه؟(بجز کانتر)
            اگه بخوای بدون تایمر این کارو انجام بدی سخته . دو راه داری :
            اول یه متغیر 16 بیتی در نظر میگیری و از دستور count استفاده می کنی و میندازیش تو یه حلقه تا مرتب شمارش کنه و بعد مقدار ی که هر بار شمارش میشه رو به یه متغیر اصلی اضافه کنی .
            راه دوم اینکه مرتب خودت این کار چک کردن رو انجام بدی و هر سری باز به یه متغیر اضافه کنی .
            اما بهترین راه به صورت ترکیبی هست . یعنی هم از تایمر و هم از امکانات pic basic pro
            اگر از تایمر 0 + یه متغیر 16 بیتی استفاده کنی تا مقدار 256 * 256 * 65535 پالس شمارش میشه کرد
            اگر هم از تایمر 1 + متغیر 16 بیتی استفاده کنی تا 8 * 65535 * 65535 میشه شمارش کرد .

            البته تو بعضی از مدارا دیدم که از سخت افزار خارجی هم کمک گرفتن که پرسکالر به صورت خارجی اعمال کنن تا مقدار شمارش بالاتر بره .

            اما به نظرم بهترین کار استفاده از تایمر 1 هست . چون خودش تا 65535 می تونه بشمره . پرسکالر 8 هم می تونی واسش در نظر بگیری . پس میشه 65535 * 8 پالس

            به دلیل رعایت نکردن قوانین ، امضا ویرایش شد.

            دیدگاه

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