اطلاعیه

Collapse
No announcement yet.

delay ایجاد تاخیر بدون استفاده از

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

    delay ایجاد تاخیر بدون استفاده از

    سلام بدون استفاده از delay وبا for هم میشه تاخیر ایجاد کرد؟ به چه صورت؟

    #2
    پاسخ : delay ایجاد تاخیر بدون استفاده از

    با تایمر داخلی میکرو میتونی زمان های دلخواه برا خودت بسازی
    ---------
    .
    .
    ...........

    دیدگاه


      #3
      پاسخ : delay ایجاد تاخیر بدون استفاده از

      با حلقه فور چجوری میشه؟

      دیدگاه


        #4
        پاسخ : delay ایجاد تاخیر بدون استفاده از

        نوشته اصلی توسط mohsen23esf
        با حلقه فور چجوری میشه؟
        بله با اونم میشه میتونی چند تا حلقه for تو در تو درست کنی تا زمان رو تلف کنه

        ولی کار عاقلانه استفاده از تایمرهاست چون در برنامه های طولانی یا شلوغ شما نمیتونی زمان رو اینجوری در یه حلقه تاخیر تلف کنی و مجبور میشی از تایمرها استفاده کنی
        من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
        آلبرت اینشتین
        منبع: http://fa.wikiquote.org

        دیدگاه


          #5
          پاسخ : delay ایجاد تاخیر بدون استفاده از

          نوشته اصلی توسط mohsen23esf
          با حلقه فور چجوری میشه؟
          سلام باید مقدار هر دور حلقت را بدست آوری آنوقت به صورت تقریبی می توانی یک تأخیر با for بسازی
          یک راه عملی برای اینکه مقدار تأخر for را بدست آوری استفاده از یک پین و اسکوپ است مانند زیر
          کد:
          while(1)
          {
          PORTB.0=!PORTB.0;
          for(i=0;i<1000;i++)
          {    # asm
              nop
              #endasm 
           }
          }
          التبه دقت داشته باش که خود دستور معکوس کردن پین حدود یک میکرو وقت می گیرد وقتی پین B.0 در اسکوپ ببینی مقدار تأخیر هر 1000 تا چرخش دست می آید.
          دکتر چمران در 1311 در تهران متولد شد
          وي در زمان اقامت در آمريکا انجمن اسلامي آمريکا را تأسيس کرد که منجر به قطع بورسيه وي توسط شاه شد.
          او با اينکه يکي از دانشمندان مطرح آمريکا به حساب مي آمد بدون توجه به مدرک به مصر رفت و آموزش نظامي ديد.

          دیدگاه


            #6
            پاسخ : delay ایجاد تاخیر بدون استفاده از

            سلام همون جورکه دوستمون گفتند باید با nop اینکارو بکنید.اما
            for(i=0;i<xxx;i++)
            { # asm
            nop
            #endasm
            }
            کافی است .و xxx را با توجه به زمانتون بدست می اورید .بعبارتی بایستی نگاه کنید که این دستور چند سیکل ساعت می برد .(من با avr کار نکردم نمیدونم با کامپایلر شما چه جوری میشه فهمید.)بعد با توجه به کرستالی که دارید (فرکانس کاریتون )می تونید بفهمید که چند بار بایستی در این حلقه بود .راستی خود callکردن این تابع نیز چند سیکل می برد که اونرو هم بایستی لحاظ کرد
            ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ‌فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
            شهید دکتر مصطفی چمران

            دیدگاه


              #7
              پاسخ : delay ایجاد تاخیر بدون استفاده از

              دوست عزیز اگر هدر فایل delay را باز کنی متوجه میشی که اونم for نوشته شده
              .The best question deserves a better answer
              =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
              «پناه»می برم «به خدا»
              از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
              محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

              دیدگاه


                #8
                پاسخ : delay ایجاد تاخیر بدون استفاده از

                با دستور do loop until هم میشه تاخیر ایجاد کرد

                دیدگاه


                  #9
                  پاسخ : delay ایجاد تاخیر بدون استفاده از

                  سلام ، میشه بگید به چه شکل و ی نمونه کد قرار بدید؟

                  دیدگاه

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