اطلاعیه

Collapse
No announcement yet.

سوال درمورد تایمر AVR فوری

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

    سوال درمورد تایمر AVR فوری

    سلام .
    اقا من یک مشکل دارم می خام یک زمان رو با تایمر ایجاد کنم . توی برنامه نویسیش فرمولی هست که بشه یک زمان رو بدست اورد مثلا یک ثانیه یا دو ثانیه . البته از طریق کریستال داخلی میکرو . برنامه هم برام بنویسین اگه ممکنه هم برای تایمر یک و هم برای تایمر صفر
    اگه ممکنه توضیحات رو کامل بگین
    انجمن LABVIEW
    http://www.eca.ir/forum2/index.php?board=279.0
    اموزش ميكروكنترلرهاي AVR به زبان ساده
    http://www.eca.ir/forum2/index.php/topic,7070.0.html

    #2
    پاسخ : سوال درمورد تایمر AVR فوری

    دوست عزیز

    به چه زبانی میخواهید ؟


    دیدگاه


      #3
      پاسخ : سوال درمورد تایمر AVR فوری

      یادم رفت بگم که من با نرم افزار bascom کار می کنم و به زبان بیسیک می خام اگه ممکنه کامل توضیح بدین ممنون
      انجمن LABVIEW
      http://www.eca.ir/forum2/index.php?board=279.0
      اموزش ميكروكنترلرهاي AVR به زبان ساده
      http://www.eca.ir/forum2/index.php/topic,7070.0.html

      دیدگاه


        #4
        پاسخ : سوال درمورد تایمر AVR فوری

        دوست عزیز
        در AVR چیزی به نام ضریب تقسیم وجود دارد که فرکانس اسیلاتور بر آن تقسیم میشود و نتیجه آن را فرکانس پالس ساعت تایمر مینامند .
        در ATMega8 این ضرایب تقسیم وجود دارد :
        1و 8 و 64 و 256 و 1024

        اول باید فرکانس پالس ساعت تایمر را بدست بیاورید

        با فرض فرکانس کاری 8 مگاهرتز داریم

        مگاهرتز 0.0078125= 8/1024 که فرکانس پالس ساعت میباشد

        میکروثانیه 128=1/0078125 که زمان یک شمارش تایمر میباشد .

        پالس 7812.5=1000000/128 تعداد پالس لازم برای زمان 1 ثانیه

        در تایمر یک داریم

        57724=7812-65536

        چنانچه 57724 را در تایمر یک بگذاریم بعد از یک ثانیه تایمر سرریز میشود و صفر میشود و چنانچه وقفه سرریز فعال باشد روتین وقفه اجرا میشود

        $regfile = "m8def.dat"
        $crystal = 8000000

        Config Timer1 = Timer , Prescale = 1024
        Enable Interrupts
        Enable Ovf1
        Timer1 = 57724
        Enable Timer1
        On Ovf1 Ovf1routine
        Do

        Loop

        Ovf1routine:

        ' your program

        Return

        میتوانید با تغییر در فرکانس و ضریب تقسیم بهتربن مقدار را پیدا کنید


        موفق باشید

        دیدگاه


          #5
          پاسخ : سوال درمورد تایمر AVR فوری

          ممنون از جواب اگه ممکنه برای تایمر صفر هم یک مثال بزنید منظورم هم فرموله هم مثال .
          اگه خواسته باشم که مثال یک ثانیه تبدیل بشه به دو ثانیه چی رو باید تغییر بدم .؟
          سوال دیگه هم دارم اونم اینکه اگه خواستم که یک تایم مثلا یک ثانیه دقیق تولید بشه باید کریستال مقدارش چند باشه ایا فرمول ها هم تغییر می کنه ؟
          ممنون .
          موفق باشید :smile:
          انجمن LABVIEW
          http://www.eca.ir/forum2/index.php?board=279.0
          اموزش ميكروكنترلرهاي AVR به زبان ساده
          http://www.eca.ir/forum2/index.php/topic,7070.0.html

          دیدگاه


            #6
            پاسخ : سوال درمورد تایمر AVR فوری

            اگه ممکنه جواب سوالامو بدین ممنون :smile:
            انجمن LABVIEW
            http://www.eca.ir/forum2/index.php?board=279.0
            اموزش ميكروكنترلرهاي AVR به زبان ساده
            http://www.eca.ir/forum2/index.php/topic,7070.0.html

            دیدگاه


              #7
              پاسخ : سوال درمورد تایمر AVR فوری

              نوشته اصلی توسط nex2004
              ممنون از جواب اگه ممکنه برای تایمر صفر هم یک مثال بزنید منظورم هم فرموله هم مثال .
              اگه خواسته باشم که مثال یک ثانیه تبدیل بشه به دو ثانیه چی رو باید تغییر بدم .؟
              سوال دیگه هم دارم اونم اینکه اگه خواستم که یک تایم مثلا یک ثانیه دقیق تولید بشه باید کریستال مقدارش چند باشه ایا فرمول ها هم تغییر می کنه ؟
              ممنون .
              موفق باشید :smile:
              دوست گرامی

              در قسمت "تعداد پالس لازم برای زمان 1 ثانیه" بجای 1000000 از 2000000 استفده بفرمایید

              تایمر 0 هشت بیتی است و ماکزیمم آن 255 و باید محاسبه بفرمایید که برای 1 ثانیه چند بار تایمر باید سر ریز شود و آنرا در محاسبات منظور بفرمایید

              موفق باشید

              دیدگاه


                #8
                پاسخ : سوال درمورد تایمر AVR فوری

                ممنون از شما :smile:
                موفق باشید
                انجمن LABVIEW
                http://www.eca.ir/forum2/index.php?board=279.0
                اموزش ميكروكنترلرهاي AVR به زبان ساده
                http://www.eca.ir/forum2/index.php/topic,7070.0.html

                دیدگاه


                  #9
                  پاسخ : سوال درمورد تایمر AVR فوری

                  salam
                  man medare gofle ramze digital mikham
                  ke barname micro AVR be zabane bascom dashte bashe
                  lotfam be man mail bezanid
                  montazeram: mah_khak@yahoo.com
                  montazeram

                  دیدگاه


                    #10
                    پاسخ : سوال درمورد تایمر AVR فوری

                    زمان مورد نظر = 1 تقسیم بر فرکانس کاری میکرو ضربدر prescale ضربدر(اگر تایمر 16 بیتی بود در 2 به توان 16 ضرب کنید اگه هشت بیتی در 2 به توان 8 ضرب کنید )
                    زمان مورد نظر به دست می آید
                    فقط اگر فرکانس میکرو بر حسب مگا هرتز باشد زمان بر حسب میکرو ثانیه بدست می آید
                    برای تشکر از امتیاز + استفاده کنید

                    دیدگاه

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