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





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









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









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





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

نمایش نتایج: از 1 به 8 از 8
  1. #1
    2009/12/10
    501
    3

    نحوه توليد 1 ميلي ثانيه دقيق با تايمر

    سلام.
    من براي ساخت مداري نياز دارم هر يك ميلي ثانيه يه كاري انجام بدم و اين زمان خيلي خيلي حساسه.
    من خودم اومدم با تايمر 1 با Prescale = 8 و مقدار اوليه Timer1 = 64535 و يه كريستال خارجي 8 مگاهرتز اينكارو كردم. اما زمان دقيق نيست.
    كسي ميتونه راهنمايي كنه و مشكل برنامه منو بگه؟

    تو برنامه زير هر 1 ثانيه متغير s يه مقدار زياد ميشه كه باهاش ثانيه رو نشون ميدم تا بتونم دقت برنامه رو اندازه بگيرم.

    اين برناممه

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

    Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , _
    Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0
    Config Lcd = 16 * 2
    Cls

    Config Timer1 = Timer , Prescale = 8
    Enable Timer1
    Enable Ovf1
    On Ovf1 Ovfroutin
    Timer1 = 64535
    Stop Timer1

    Dim W As Long
    Dim S As Byte

    Enable Interrupts
    Start Timer1

    Do

    Loop

    End

    Ovfroutin:
    Timer1 = 64535
    Incr W
    If W = 1000 Then
    W = 0
    Incr S
    If S => 60 Then S = 0
    Home : Lcd S ; " "
    End If
    Return

    ممنون.
  2. #2
    2012/05/09
    تهران
    185
    1

    پاسخ : نحوه توليد 1 ميلي ثانيه دقيق با تايمر

    سلام
    اين رو هم امتحان کن
    تايمر رو در وضيعت CTC قرار بده prescaler 64 و OCRn رو 124 قرار بده و وققه compare match رو فعال کن .
    هر 1 ثانيه يه وقفه صورت مي گيره.
  3. #3
    2009/12/10
    501
    3

    پاسخ : نحوه توليد 1 ميلي ثانيه دقيق با تايمر

    نقل قول نوشته اصلی توسط mehrdad_italy
    تايمر رو در وضيعت CTC قرار بده prescaler 64 و OCRn رو 124 قرار بده و وققه compare match رو فعال کن .
    ممنون اما من هيچ كدومو غير از prescaler 64 نميفهمم متاسفانه. در ضمن من نميخوام يك ثانيه درست كنم ميخوام 1 ميلي ثانيه درست كنم.
  4. #4
    2012/05/09
    تهران
    185
    1

    پاسخ : نحوه توليد 1 ميلي ثانيه دقيق با تايمر

    ببخشيد منظور منم 1 ميلي ثانيه بود اشتباه نوشتم

    من زياد با تايمر در بسکام کار نکردم ولي در کل به اين صورته

    CONFIG TIMER1= TIMER,COMPARE A =DISCONNECT,COMPARE B=DISCONNECT,PRESCALE=64,CLEAR TIMER=1
    و در ادامه برنامه :
    Enable Interrupts
    Enable Oc1a
    compare1a=124
    On Oc1a lable


    do
    loop
    end

    labe:
    يک ميلي ثانه
    return


  5. #5
    2009/12/10
    501
    3

    پاسخ : نحوه توليد 1 ميلي ثانيه دقيق با تايمر

    اين برنامه هم مثل برنامه خودم تو هر يك دقيقه حدود 1 ثانيه عقب ميوفته. ميگم براي تنظيم فيوز بيت ها براي كريستال خارجي كدوم گزينه رو براي كريستال 8 مگاهرتز بايد انتخاب كنيم؟
  6. #6
    2007/11/26
    tehran
    380
    11

    پاسخ : نحوه توليد 1 ميلي ثانيه دقيق با تايمر

    سعی کنید از زبان اسمبلی استفاده کنید چون اجرای دستورات خودش چند کلاک زمان میگیره و سرعت اجرای اسمبلی از c یا بیسیک بیشتر هستش
    http://www.eca.ir/forum2/index.php/topic,10159.0.html
    Engineering is the art of making what you want from things you can get.
    اموزش DSP ...........................
    http://www.eca.ir/forum2/index.php?topic=29824.0
    http://www.eca.ir/forum2/index.php?topic=32324.0
  7. #7
    2009/12/10
    501
    3

    پاسخ : نحوه توليد 1 ميلي ثانيه دقيق با تايمر

    نقل قول نوشته اصلی توسط ali833
    سعی کنید از زبان اسمبلی استفاده کنید چون اجرای دستورات خودش چند کلاک زمان میگیره و سرعت اجرای اسمبلی از c یا بیسیک بیشتر هستش
    فكر نميكنم ربطي به زبان برنامه نويسي داشته باشه. ما نداريم با تاخير ساده كار كنيم. تو برنامه داريم از تايمر استفاده ميكنيم و تايمر كه ربطي به زبان برنامه نويسي نداره.
  8. #8
    2012/05/09
    تهران
    185
    1

    پاسخ : نحوه توليد 1 ميلي ثانيه دقيق با تايمر

    نقل قول نوشته اصلی توسط شازده
    فكر نميكنم ربطي به زبان برنامه نويسي داشته باشه. ما نداريم با تاخير ساده كار كنيم. تو برنامه داريم از تايمر استفاده ميكنيم و تايمر كه ربطي به زبان برنامه نويسي نداره.
    به زبان برنامه نويسي مربوطه ولي تو اين برنامه 1 ثانيه فکر کنم يکم زياده احتمالا به خاطر کريستال باشه
    CKSEL3..0=1111
    يه سوال , برنامه شما براي ساعته ؟ چرا از RTC تايمر/کانتر2 استفاده نمي کنيد ؟
نمایش نتایج: از 1 به 8 از 8

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

  1. توليد زمانهاي دقيق توسط تايمر ميكرو امكان داره؟
    توسط mostafa6369 در انجمن میکروکنترلرهای AVR
    پاسخ: 10
    آخرين نوشته: 2016/04/27, 12:38
  2. ايجاد فرکانس 50 هرتز با دوره 1تا 2 ميلي ثانيه
    توسط aengpower در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2014/08/11, 10:56
  3. پاسخ: 2
    آخرين نوشته: 2012/11/22, 23:32
  4. پ امپ خيلي خيلي دقيق براي توليد موج چند ميلي ولتي
    توسط saadatfar در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 9
    آخرين نوشته: 2010/01/31, 18:18
  5. چطوري ميشه يه خروجي 20 ميلي ثانيه اي رو به رله داد و قفل بشه؟
    توسط arvinfx در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 14
    آخرين نوشته: 2009/10/08, 21:27

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

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

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

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

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