اطلاعیه

Collapse
No announcement yet.

تایمر 2 pic

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

    تایمر 2 pic

    با سلام و خسته نباشید.
    چند وقتی هست که روی تایمر 2 pic گیر کردم و هرکار میکنم که باهاش زمان دقیق درست کنم اصلا نمیشه. یعنی نمیتونم , شدنش که میشه. خیییییییلیم دقیق نمیخوام.مثلا تو 20 یا 30 ثانیه 1 ثانیه عقب یا جلو شد مشکل نداره ولی دیگه نه انقد. من دستم رو میکرو میزارم قشنگ کار میکنه ولی بر میدارم از کار میفته. البته از تایمر صفر و یک هم تو برنامه استفاده میکنم. و وقفه تایمر صفر. ولی میخوام با تایمر 2 یه زمانه دقیقی ایجاد کنم. کسی میتونه کمکم کنه؟ زبان برنامه نویسیم هم ccs هستش.
    با تشکر
    طب اسلامی

    #2
    پاسخ : تایمر 2 pic

    میکروت چیه؟ پایه رستشو با مقاومت به +5 وصل کردی؟

    دیدگاه


      #3
      پاسخ : تایمر 2 pic

      16f873aهستش عزیز. بله وصله. با تایمر 1 و صفر هم توش کار میکنم ولی به 2 هم نیاز دارم با زمان دقیق.تایمر 1 و صفر تقریب دقیق هستن ولی 2 نه
      طب اسلامی

      دیدگاه


        #4
        پاسخ : تایمر 2 pic

        سلام

        فیوز بیت LVP رو خاموش کردین ؟
        نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
        تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه

        دیدگاه


          #5
          پاسخ : تایمر 2 pic

          WDT روروشن کردی؟
          بیت Option_reg , INTcon رو چطوری تنظیم کردی؟
          اسیلاتورت چند مگاهرتزه؟

          دیدگاه


            #6
            پاسخ : تایمر 2 pic

            بله عزیز تنظیم کردم. اسیلاتورم 20 مگ هستش. فقط wdt خاموشه. روشنش میکنم کلا برنامم بد اجرا میشه.باید روشنش کنم؟؟؟؟؟
            option_reg هم مربوط به تایمر صفر هستش. t2con برای تایمر 2 هستش.درسته؟؟
            طب اسلامی

            دیدگاه


              #7
              پاسخ : تایمر 2 pic

              نوشته اصلی توسط mahdifaheca
              بله عزیز تنظیم کردم. اسیلاتورم 20 مگ هستش. فقط wdt خاموشه. روشنش میکنم کلا برنامم بد اجرا میشه.باید روشنش کنم؟؟؟؟؟
              option_reg هم مربوط به تایمر صفر هستش. t2con برای تایمر 2 هستش.درسته؟؟
              نه روشنش نکن
              بله اشتباه گفتم ببخشید اینارو بگو

              T2con
              PR2
              PIR1
              PIE1
              INTCON

              برای زمانهای کوتاه فکرکنم نتونی این تایمر رو استفاده کنی مخصوصا با این اسیلاتور

              دیدگاه


                #8
                پاسخ : تایمر 2 pic

                pir1 و pr2 و pie1 رو تنظیم نکردم. برای چی هستن اینا؟؟ فکر نکنم اینا لازم باشنا.هستن؟؟؟ من حداکثر زمان 40 ثانیه میخوام .توی این محدوده 1 یا 2 ثانیه هم اشتباه کنه مشکل نداره.میشه؟؟
                lvp رو هم غیر فعال کردم.درست نشد
                طب اسلامی

                دیدگاه


                  #9
                  پاسخ : تایمر 2 pic

                  آهان . دوست عزیز با دستور زیر اونارم تنظیمشون کردم
                  setup_timer_2 ( T2_DIV_BY_16, 0b11111010,16)
                  طب اسلامی

                  دیدگاه


                    #10
                    پاسخ : تایمر 2 pic

                    نوشته اصلی توسط mahdifaheca
                    pir1 و pr2 و pie1 رو تنظیم نکردم. برای چی هستن اینا؟؟ فکر نکنم اینا لازم باشنا.هستن؟؟؟ من حداکثر زمان 40 ثانیه میخوام .توی این محدوده 1 یا 2 ثانیه هم اشتباه کنه مشکل نداره.میشه؟؟
                    lvp رو هم غیر فعال کردم.درست نشد
                    ببین توی دیتا شیتش نوشته این ای سی ها دیتاشیت قوی دارن

                    با این اسیلاتوری که داری 5000000 میشه فرکانس داخلی میکروت که با تنظیم پرسکالر و پست کالر روی بیشترین حد که 16 و 16 هستن این تایمر هر ثانیه 76.29 بار سر ریز میکنه که اینوطری حساب میشه:
                    5000000/16/16/256=76.29
                    حالا برای 40 ثانیه باید 40*76.29=3051 بار سرریز رو بشماری و بعد کاری که میخای انجام بدی...

                    که اینکارا با همین رجیستر هایی که گفتم انجام میشه.
                    PIE1 برای فعالکردن سرریز این تایمر هستش
                    PIR1 برای تشخیص سر ریز شدن.
                    PR2 هم اگر تنظیم بشه وقتی TMR2 با مقدارش برابر بشه دوباره از 0 شروع میکنه به شمارش. ( فکر کنم یادم نیست کامل)

                    دیدگاه


                      #11
                      پاسخ : تایمر 2 pic

                      نوشته اصلی توسط arvinfx
                      ببین توی دیتا شیتش نوشته این ای سی ها دیتاشیت قوی دارن

                      با این اسیلاتوری که داری 5000000 میشه فرکانس داخلی میکروت که با تنظیم پرسکالر و پست کالر روی بیشترین حد که 16 و 16 هستن این تایمر هر ثانیه 76.29 بار سر ریز میکنه که اینوطری حساب میشه:
                      5000000/16/16/256=76.29
                      حالا برای 40 ثانیه باید 40*76.29=3051 بار سرریز رو بشماری و بعد کاری که میخای انجام بدی...

                      که اینکارا با همین رجیستر هایی که گفتم انجام میشه.
                      PIE1 برای فعالکردن سرریز این تایمر هستش
                      PIR1 برای تشخیص سر ریز شدن.
                      PR2 هم اگر تنظیم بشه وقتی TMR2 با مقدارش برابر بشه دوباره از 0 شروع میکنه به شمارش. ( فکر کنم یادم نیست کامل)
                      عزیز یه کم اشتباه گفتی زمان سر ریز تایمر میشه
                      (1/5000000)*16*16*256 که میشه هر 13.1میلی ثانیه سر ریز میشه که من میخوام این مقدار دقیق بشه.رجیستر pr2 رو تنظیم نکرده بودم که کردم یه کم بهتر شدش ولی باز دقیق نیستش و دستم میبرم سمت آی سی یه کم دوباره عقب یا جلو میفته
                      طب اسلامی

                      دیدگاه


                        #12
                        پاسخ : تایمر 2 pic

                        نوشته اصلی توسط mahdifaheca
                        عزیز یه کم اشتباه گفتی زمان سر ریز تایمر میشه
                        (1/5000000)*16*16*256 که میشه هر 13.1میلی ثانیه سر ریز میشه که من میخوام این مقدار دقیق بشه.رجیستر pr2 رو تنظیم نکرده بودم که کردم یه کم بهتر شدش ولی باز دقیق نیستش و دستم میبرم سمت آی سی یه کم دوباره عقب یا جلو میفته
                        خوب اگر یک ثانیه رو 76.29 قسمت مساوی تقسیم کنی هرکدومش میشه 0.0131 میلی ثانیه دیگه ...

                        روی برد برد اگر بستی مدارتو یه کار کن با باطری و جاهای مختلف منزل تستش کن ببین چی میشه

                        دیدگاه


                          #13
                          پاسخ : تایمر 2 pic

                          روی فیبر بستمم و از پشت هم لحیم شدن. چاپ سبز هم داره. نویز گیرم قشنگ داره. دستم که نزدیکش میبرم قشنگ کار نمیکنه .چراش نمیفهمم!!!!!!
                          طب اسلامی

                          دیدگاه


                            #14
                            پاسخ : تایمر 2 pic

                            سلام

                            دستم که نزدیکش میبرم قشنگ کار نمیکنه .چراش نمیفهمم!!!!!!
                            PGM رو pull down کن، LVP رو هم غیر فعال کن.
                            مشکلی نیست که آسان نشود مرد میخواهد که هراسان نشود

                            دیدگاه


                              #15
                              پاسخ : تایمر 2 pic

                              معمولا این سبک مشکلات انگشتی و دقیق نشدن تایمر ها از تنظیم اشتباه وقفه ها و یا اشتباه تنظیم شدن اینتراپت ها هستش . از اول بنویس . چک نکن . دوباره وقفه ها رو بنویس و داخل برنامه ی وقفه پرش نزار و فقط یک عدد رو اضافه کن . اگه چندتا وقفه باهم داشته باشی ، باید خیلی دقیق شرط ها رو تنظیم کنی . if ها رو چک کن . همش توی دیتاشیت هستش .
                              حالا برنامه . برای تایمر 2 و کریستال و کلاک 20 مگ ( pll نداری ) تنظیم تایمر 2 میشه :

                              void InitTimer2(){
                              T2CON = 0x7E;
                              PR2 = 254;
                              TMR2IE_bit = 1;
                              INTCON = 0xC0;
                              }

                              void Interrupt(){
                              if (TMR2IF_bit){
                              TMR2IF_bit = 0;
                              //Enter your code here
                              }
                              }

                              زمان هر وقفه
                              //Prescaler 1:16; Postscaler 1:16; TMR2 Preload = 254; Actual Interrupt Time : 13.008 ms
                              که حداکثر هستش . حالا دیگه زمان مورد نیازت رو یه رجیستر دیگه بزار که بشمره ( داخل برنامه ی اصلیت نه تو وقفه تو وقفه فقط اضافه بشه بهش ) . یادت نره وقتی که تایم مورد نظرت رو ساخت ، حتما رجیسترها ی مرتبط رو صفر کنی .
                              if all men are the same
                              then
                              why do women take so long to choose one ?

                              دیدگاه

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