اطلاعیه

Collapse
No announcement yet.

تسریع عملکرد میکرو در سویبچ کردن رله

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

    تسریع عملکرد میکرو در سویبچ کردن رله

    دوستان من میخوام با میکرو با زدن کلید خیلی سریع واکنش نشون بده و حالا یه ال ای دی رو ست کنه فرکانس رو هم تا 8 بردم اما فرقی با یک نکرد برنامه رو هم خیلی کوتاه و بهینه کردم اما اون چیزی که میخوام نیست کسی تجربه داره ممنون میشم کمک کنین

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

    برنامه رو قرار بدید ، مطمئنا اشکال در برنامه ست ،*وگرنه فرکانس ۸ مگ ..... !!!

    دیدگاه


      #3
      پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله

      برنامه اینه
      If pina.0=1 then
      Set pind.0
      Else
      Reset pind.0
      Endif
      Loop
      End
      یعنی این رو میکرو بخواد هنگ کنه و کند بشه دیگه باید شرکت اتمل بره بمیره

      دیدگاه


        #4
        پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله

        سلام
        من این برنامه رو با notepad نوشتم که شاید غلط املایی داشته باشه
        کد:
        $crystal=1000000
        config pina.0=input
        config portd.0=output
        
        
        If pina.0=1 then
        Set portd.0
        Else
        Reset portd.0
        Endif
        Loop
        End
        یادتون باشه که تراشه رو با regfile نیز تعریف کنین
        هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

        دیدگاه


          #5
          پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله

          ممنونم اما اونا رو خودم میدونم به خاطر عمومی بودنشون دیگه ننوشتم بسکام که بدون اونا قبول نمیکنه برنامه رو مشکل سرعت کاری بود نه برنامه

          دیدگاه


            #6
            پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله

            نوشته اصلی توسط mohammadevil نمایش پست ها
            دوستان من میخوام با میکرو با زدن کلید خیلی سریع واکنش نشون بده و حالا یه ال ای دی رو ست کنه فرکانس رو هم تا 8 بردم اما فرقی با یک نکرد برنامه رو هم خیلی کوتاه و بهینه کردم اما اون چیزی که میخوام نیست کسی تجربه داره ممنون میشم کمک کنین
            سلام دوست عزیز

            نکته اول : یه چیزی داریم به نام bounce که تو زبان بیسیک استفاده میشه . اگه میخواید یه کلید مکانیکی رو به میکرو متصل کنید بهتره از این دستور استفاده کنید
            اگه استفاده نشه ممکنه بار ها اون پین رو 0 و 1 کنه تا نهایتا یا 0 بشه یا 1
            بگید تاخیری که داره حدودا چقدره ؟؟
            این چیزی که میفرمایید خیلی عجیبه اصلا نباید تاخیر ملموسی وجود داشته باشه !!
            شما برای اطمینان از صحیح کار کردن میکرو بیا یه پین رو مدام 0 و 1 کن بدون وقفه ببین آیا روشن خاموش شدن اون پین با تاخیر صورت میگیره یا نه

            انجام بدید و با اطلاعات کامل تری از مدار و برنامه کارتون رو گزارش کنید تا مشکل ان شاءالله برطرف شه
            آرزوی سرافرازی برای ایران عزیز . . .


            دیدگاه


              #7
              پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله

              نوشته اصلی توسط mohammadevil نمایش پست ها
              ممنونم اما اونا رو خودم میدونم به خاطر عمومی بودنشون دیگه ننوشتم بسکام که بدون اونا قبول نمیکنه برنامه رو مشکل سرعت کاری بود نه برنامه
              سلام
              فکر کنم مجددا کد رو ببنید تفاوت برنامه رو متوجه می شین به جز تعریف های ابتدای برنامه، بعد ساختار مداری، نحوه پروگرم کردن و تنظیم فیوزبیتهای شما هم مشخص نیست.
              هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

              دیدگاه


                #8
                پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله

                ممنون از پاسخ شما
                من دیبانس رو هم کانفیگ کردم با هر عددی که فکر کنید
                تاخیرش بدر حد 10 میلی ثانیه شاید میخوام یر به یر جواب بده نه با تاخیر حتی 10 میلی ثانیه
                برنامه شما دوست عزیز رو هم دیشب نوشتم به جای اونا ست و ریست گذاشتم اما هیچ ربطی نداشت و نداره و همون چیزی بگد که هست من فقط از فرکانش بالاتر امتحان نکردم که خواستم ببینم کسی امتحان کرده جواب بگیره یا برم سراغ stm32

                دلیل: ادغام دو پست برای جلوگیری از اسپم

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

                دیدگاه


                  #9
                  پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله

                  سلام دوست عزیز,اگه امکان داره, با وقفه میکروکنترلر (interrupt) کار کن,توی این برنامه شما میکرو داثما باید هی pina.0 رو چک کنه که آیا صفر شده یا نه و این خود باعث مشغول بودن میکرو میشه,اما اگه از وقفه استفاده بشه, فقط کافیه دستوراتی که میخوای موقع فعال شدن وقفه اتفاق بیفته رو اونجا بنویسییعنی در مثال برنامه شما میشه Set portd.0اجرای دستورات وقفه نسبت به دستورات حلقه اصلی برنامه از اولویت برخورداره, یعنی با وقوع وقفه , میکرو هرجا یی که بود, ول میکنه میره و دستورات وقفه رو اجرا میکنه , در نتیجه درجا به کلید زنی ( با همون وقوع وقفه) پاسخ میده... ولی اگه از وقفه استفاده نکنیم باید منتظر بمونیم تا میکرو برگرده خط اول تا چک آیا pina.0 صفر شده یا نه, (ممکنه سه بار شما توی این بازه کلید رو زده باشی) وقفه اگه استفاده بشه توی این مثال, توی حلقه برنامت هم , دیگه IF نمیخواد

                  دیدگاه


                    #10
                    پاسخ : تسریع عملکرد میکرو در سویبچ کردن رله

                    نوشته اصلی توسط Hamidreza.BRZ نمایش پست ها
                    سلام دوست عزیز,اگه امکان داره, با وقفه میکروکنترلر (interrupt) کار کن,توی این برنامه شما میکرو داثما باید هی pina.0 رو چک کنه که آیا صفر شده یا نه و این خود باعث مشغول بودن میکرو میشه,اما اگه از وقفه استفاده بشه, فقط کافیه دستوراتی که میخوای موقع فعال شدن وقفه اتفاق بیفته رو اونجا بنویسییعنی در مثال برنامه شما میشه Set portd.0اجرای دستورات وقفه نسبت به دستورات حلقه اصلی برنامه از اولویت برخورداره, یعنی با وقوع وقفه , میکرو هرجا یی که بود, ول میکنه میره و دستورات وقفه رو اجرا میکنه , در نتیجه درجا به کلید زنی ( با همون وقوع وقفه) پاسخ میده... ولی اگه از وقفه استفاده نکنیم باید منتظر بمونیم تا میکرو برگرده خط اول تا چک آیا pina.0 صفر شده یا نه, (ممکنه سه بار شما توی این بازه کلید رو زده باشی) وقفه اگه استفاده بشه توی این مثال, توی حلقه برنامت هم , دیگه IF نمیخواد
                    بله ، خیلی ممنون الان گرفتم اصلا به این موضوع حواسم نبود خیلی لطف کردین

                    دیدگاه

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