ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 8 از 8
  1. #1
    2006/02/10
    27
    0

    ايجاد زمان تاخير متغير

    سلام به همه دوستان
    همه ميدونيم كه براي ايجاد زمان تاخير ثابت ميتونيم از توابع كتابخانه delay_ms(const) ,delay_us(const) delayاستفاده كنيم كه const يك عدد ثابت هستش.
    حالا اگه عدد ما ثابت نباشه و متغير باشه و همچنين تايمرها هم مشغول كار ديگه باشن چطور ميشه اين تاخير زماني متغير رو ايجاد كرد؟ البته دقيق
    مثلا با اسمبلي ميشه ؟ لطفا كدش رو بنويسين

    ممنون
  2. #2
    2009/03/18
    همدان
    16
    0

    پاسخ : ايجاد زمان تاخير متغير

    سلام
    می تونی از دستور delay_ms(meghdar+m); استفاده کنی
    بدش هم مقدار m رو با یه دستور for تغییر بدی
    مثلا برای زیاد شدن:
    for m=0;m<1000;m++
    برای کم شدن
    for m=1000;m>0;m--;
    یا راه های دیگه
    موفق باشی...
  3. #3
    2009/03/18
    همدان
    16
    0

    پاسخ : ايجاد زمان تاخير متغير

    یا می تونی یه متد بسازی که مثلا 10 میلی ثانیه تاخیر داره
    بعد تعداد فراخوانی های این متد میشه تاخیر تو
    هر چه بیشتر فراخوانی کنی تاخیرت بیشتر میشه...
    موفق باشی...
  4. #4
    2006/02/10
    27
    0

    پاسخ : ايجاد زمان تاخير متغير

    void delay_us(unsigned int n)
    generates a delay of n useconds. n must be a constant expression.
    مرسي از راهنماييتون ولي مشكل اينجاست كه آرگمان تابع delay_us نميتونه يك متغير باشه و بايد يك عدد ثابت مثل 200 باشه. مشكل استفاده از حلقه مثل for اينه كه نميتونه زمان دقيق در ابعاد ميكرو ثانيه رو ايجاد كنه
  5. #5
    2009/02/11
    اصفهان
    283
    3

    پاسخ : ايجاد زمان تاخير متغير

    اگه مثلا فركانس ميكرو شما 1 مگ باشه با كد روبرو ميتوني R0 ميكروثانيه تاخير ايجاد كني

    ldi r0,200
    L0: nop
    dec r0
    brneq L0
    در اين برنامه r0 هر 3 ميكرو ثانيه 1 واحد كم ميشه پس مثلا در اينجا اگه 200 باشه 3*200+1=601 ميكروثانيه تاخير دقيق داري
    فرزندم در راه است
  6. #6
    2009/03/18
    همدان
    16
    0

    پاسخ : ايجاد زمان تاخير متغير

    نقل قول نوشته اصلی توسط ata
    void delay_us(unsigned int n)
    generates a delay of n useconds. n must be a constant expression.
    مرسي از راهنماييتون ولي مشكل اينجاست كه آرگمان تابع delay_us نميتونه يك متغير باشه و بايد يك عدد ثابت مثل 200 باشه. مشكل استفاده از حلقه مثل for اينه كه نميتونه زمان دقيق در ابعاد ميكرو ثانيه رو ايجاد كنه
    منظورتون رو از اینکه می گید حلقه for نمی تونه زمان دقیق در ابعاد میکرو رو ایجاد کنه متوجه نمی شم
    ولی خوب باید توجه داشته باشید که خود دستور for سه می کرو ثانیه وقت avr رو می کیره...
    و ...
    شما باید دستوراتتون رو هم زمان بندی کنین...
    موفق باشین...
  7. #7
    2011/05/06
    12
    0

    پاسخ : ايجاد زمان تاخير متغير

    با سلام

    اگه بخواییم یه تاخیر 100میلی ثانیه برای یک دات ماتریس ایجاد کنیم , چه طوری باید عمل کنیم, البته در زبان اسمبلی.....
  8. #8
    2010/04/22
    سبزوار
    886
    40

    پاسخ : ايجاد زمان تاخير متغير

    شما فقط کافیه متغیر و کم یا زیاد کنی
    حالا این که میخوای این متغیر سخت افزاری یا از طریق برنامه زیاد و کم بشه بستگی به خودتون داره
    مثلا شما میتونید خیلی راحت متغیر رو با فشردن کلید چند برابرش کنید پس زمان هم چند برابر میشه دیگه
    مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .
نمایش نتایج: از 1 به 8 از 8

موضوعات مشابه

  1. مشکل براي ايجاد متغير 32 بيتي - مشکل سرريز يک متغير
    توسط amirna3r در انجمن میکروکنترلرهای AVR
    پاسخ: 18
    آخرين نوشته: 2014/12/12, 11:00
  2. ايجاد كوچكترين تاخير در LPC1788
    توسط mehdia1968 در انجمن NXP
    پاسخ: 2
    آخرين نوشته: 2014/07/03, 09:30
  3. آيا بعد از مقداردهي يك متغير از نوع EEPROM نياز به تاخير هست؟
    توسط Questioner در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2013/01/04, 15:31
  4. ايجاد تاخير متغير بدون استفاده از تايمر
    توسط mehran640 در انجمن میکروکنترلرهای AVR
    پاسخ: 15
    آخرين نوشته: 2012/01/31, 12:22
  5. ايجاد تاخير 1 ثاخير
    توسط 1414 در انجمن 8051
    پاسخ: 3
    آخرين نوشته: 2007/10/18, 21:36

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •