اطلاعیه

Collapse
No announcement yet.

تایمر متغیر

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

    تایمر متغیر

    سلام من کار با تایمر رو یاد بلد نیستم چطور میشه یک تایمر متغیر با پتانسیومتر شبیه تایمر راه پله ساخت الیته توسط میکرو نه آستایل

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

    به نظز من استفاده از یک میکرو کوچیک مثل tiny 13 و ا ستفاده از مبدل آنالوگ به دیجیتال راحت می شه این کار رو کرد
    حتی نیاز به تایمر های داخلی میکرو هم نداری





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

    دیدگاه


      #3
      پاسخ : تایمر متغیر

      سلام به نظر شما میشه توسط پتانسیو متر یک ولتاژ بین 0تا5 ایجاد کرد و یه ADC داد ویک متغیر تعریف کنیم که به اندازه عدد بدست آمده از ADC تاخیر ا یجاد کنه؟

      دیدگاه


        #4
        پاسخ : تایمر متغیر

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




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

        دیدگاه


          #5
          پاسخ : تایمر متغیر

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

          دیدگاه


            #6
            پاسخ : تایمر متغیر

            ضمن تبریک سال نو خدمت تمامی کار بران و اساتید من یک سوال دارم من تا حالا از آی سی های rtc استفاده نکردم آیا با این آی سی ها میشه میزان wait را دقیق کرد

            دیدگاه


              #7
              پاسخ : تایمر متغیر

              سلام
              عید شما هم مبارک
              می تونید میکرو رو تو مد RTC ببرین که دقت این کار بسته به نوع پالس وردی مدار(بهتره از نوسان ساز خارجی استفاده شود)و همچنین برنامه نوشته شده میکرو داره

              اگر از آی سی های RTC مثل ds1307 استفاده کنی دقت کار به شدت بالا می ره و نسبت به میکرو کیفیت بسیار بهتری داره(بهتره که مدار این آی سی ها نسبت به نویز بالا بوده و توسط فیلتر ها بهترین نوع نوسان و ولتاژ خروجی برای آی سی فراهم شود)
              هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

              دیدگاه


                #8
                پاسخ : تایمر متغیر

                با تشکر از توضیحات شما من همونطور که در بالا هم خدمتتون گفتم کار با تایمر ها رو بلد نیستم که اگر در این زمینه به من کمک کنید سپاسگذار خواهم بود مثلا نمی دونم معنی عبارت timer1=55535 یعنی چی از کتای کاهه هم چیزی دستگیرم نشد

                دیدگاه


                  #9
                  پاسخ : تایمر متغیر

                  دستور timer1=عدد مقدار تایمر رو با عدد مورد نظرتون پر می کنه و با اجرا دستور strat timer1
                  تایمر بر اساس نوع فرکانس ورودی شروع به شمردن تا رسیدن به مقداری که بهش دادین می کنه سپس بعد از رسیدن به مقدار عددی در صورتی که روال وقفه براش تعریف شده باشه به روال پرش می کنه و دستورات اونجا رو اجرا می کنه

                  timer1=12345

                  تایمر از 0 تا 12345 شروع به شمردن می کنه
                  هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                  دیدگاه


                    #10
                    پاسخ : تایمر متغیر

                    عدد مقدار تایمر طبق چه فرمولی به دست میاد ؟ چطور باید عدد مورد نظر را پیدا کرد؟

                    دیدگاه


                      #11
                      پاسخ : تایمر متغیر

                      با مقدار دادن پری اسکیل نوسان ساز مشخص می شود (که از چه مقسمی از فرکانس اصلی تایمر کار کند) در صورتی که مقدار یک باشد تایمر هر یک میکر ثانیه یک عدد بیشتر می شود
                      هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                      دیدگاه


                        #12
                        پاسخ : تایمر متغیر

                        ممنون از راهنماییتون من یک بر نامه دارم که اینطور نوشته شده
                        Config Timer1 = Timer , Prescale = 64
                        Start Timer1
                        Enable Interrupts
                        Enable Ovf1
                        On Ovf1 Shift_l
                        Timer1 = 55535
                        طبق گفته شما 4000000 فرکانس کریستال باید تقسیم بر 64 بشه که حاصل میشه
                        62500 ولی اینجا نوشته شده Timer1 = 55535

                        دیدگاه


                          #13
                          پاسخ : تایمر متغیر

                          دوست عزیز وقتی گفته میشه Prescale 64 به این معنیه که به ازای هر 64 نوسان میکرو ، یک واحد افزایش تایمر داریم .
                          وقتی هم که گفته میشه timer1=55535 یعنی وقتی تایمر به تعداد 55536 بار افزایش یافت (یا به عبارت دیگه از 0 شمارش کرد و به 55535 رسید) وقفه بوجود میاد.

                          دیدگاه


                            #14
                            پاسخ : تایمر متغیر

                            نوشته اصلی توسط محمد ایجی
                            وقتی هم که گفته میشه timer1=55535 یعنی وقتی تایمر به تعداد 55536 بار افزایش یافت (یا به عبارت دیگه از 0 شمارش کرد و به 55535 رسید) وقفه بوجود میاد.

                            فک کنم مفهوم این خط برنامه شمارش از 55536 تا 65536 باشه یعنی 10000 شمارش
                            نه شمارش از 0 تا 55536 یعنی 55536 شمارش

                            برنامه رو یه بار بنویس و چک کن



                            نوشته اصلی توسط baby_1
                            دستور timer1=عدد مقدار تایمر رو با عدد مورد نظرتون پر می کنه و با اجرا دستور strat timer1
                            تایمر بر اساس نوع فرکانس ورودی شروع به شمردن تا رسیدن به مقداری که بهش دادین می کنه سپس بعد از رسیدن به مقدار عددی در صورتی که روال وقفه براش تعریف شده باشه به روال پرش می کنه و دستورات اونجا رو اجرا می کنه

                            timer1=12345

                            تایمر از 0 تا 12345 شروع به شمردن می کنه
                            برای برنامه شما هم همچین شرایطی که گفتم صادقه




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

                            دیدگاه


                              #15
                              پاسخ : تایمر متغیر

                              ممنون از راهنمایی همه شما ولی چیزی که منو گیج کرده اینه که با توجه به برنامه ای که نوشتیم چطور به اون عدد تایمر مثلا 55535 برسیم یعنی این عدد چطور تعیین میشه طبق چه مبنایی باید اینقدر شمارش انجام بده البته ببخشید زیاد می پرسم من یکم iq (آی کیو) پایینه

                              دیدگاه

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