NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4988 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 8 از 8

موضوع: کمک در راه اندازی تایمر

  1. #1
    کاربر فعال
    تاریخ عضویت
    Aug 2008
    نام
    مهدی هاشمی
    نوشته ها
    113
    تشکر
    79
    تشکر شده 66 بار در 35 پست

    Red face کمک در راه اندازی تایمر

    سلام
    من با کدویژن کار میکنم
    تازه میخوام کار با تایمر رو شروع کنم
    ولی هر چی بیشتر میخونم،بیشتر گیج میشم
    میخوام یه زمان مثلا 10 ثانیه ای رو بدست بیارم،با کریستال 16 مگ
    از کجا بفهمم از چه مقدار clock valu باید استفاده کنم؟
    اصلا بهتره که از تایمر 0 استفاده کنم یا 1 یا 2 ؟(هشت بیتی یا 16 بیتی؟)
    ممنون

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    تا جایی که من بلدم این زمان را نمیشه مستقیم با تایمر ساخت باید از وقفه تایمرهم استفاده کنید.مثلا کلاک ولیو را روی 250 کیلو هرتز بزارید و از تایمر 1 استفاده کنید.اگر مقدار اولیه تایمر را روی 40535 بزارید بعد از اینکه تایمر به 65535 رسید سر ریز میشه و یه وقفه ایجاد می کنه اینطوری زمانی برابر با 100 میلی ثانیه ایجاد کردیم حالا اگر صد بار این عمل تکرار بشه یعنی تایمر 100 بار سرریز بشه زمانی برابر با 10 ثانیه درست میشه.
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


  4. #3
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلام
    آقای هنرفر این مقدار اولیه ای که به دست آووردید رو میشه بگین چطوری به دست میاد؟(40535)

  5. #4
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    ببین فرکانس کلاک تایمر 250 کیلوهرتز هست.یعنی زمانی که طول میکشه تا تایمر یک عدد اضافه کنه برابر با 4 میکرو ثانیه است حالا اگه تایمر از صفرتا 250 شمارش کنه زمانی که طی میشه برابر با 1 میلی ثانیه میشه و اگر تا 2500 بشموره 10 میلی ثانیه و اگر تا 25000 بشموره 100 میلی ثانیه طول میکشه.من عدد65535 که تایمر در آن سر ریز میشه را منهای 25000 کردم که شد 40535 .حالا اگه تایمر از این عدد شروع کنه به شمارش بعداز امدن 25000 کلاک تایمر سرریز میشه و زمانی برابر با 100 میلی ثانیه تولید میکنه.
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


  6. تشکرها از این نوشته :


  7. #5
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    یه سوال دیگه برام پیش اومده تو کتاب آقای الوندی یه سری محاسبات انجام داده که مقدار اولیه ای برای تایمر به دست میاره که تایمر رو برای هر زمانی که میخواد تنظیم میکنه راستش من هر چی اونا رو میخونم نمیتونم چیز زیادی بفهمم
    خواستم ببینم از این محاسبات شما سر درمیارین؟؟
    اگه سر در میارین به منم بگین چون واقعا گیج کنندس

  8. #6
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    من این کتاب را ندارم.اگه میتونید محاسبات را قرار بدید تا ببینم.
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


  9. #7
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    الان کتاب دست خودم نیست
    تو روزهای آینده توهمین جا میذارم

  10. #8
    کاربر فعال
    تاریخ عضویت
    Aug 2008
    نام
    مهدی هاشمی
    نوشته ها
    113
    تشکر
    79
    تشکر شده 66 بار در 35 پست

    پیش فرض

    من یه چیزایی یاد گرفتم
    با اجازه ی بزرگتر ها اینجا مینویسم
    خواهشا اگه جائیش ایراد داره،بگید


    از یک حیث دو نوع تایمر داریم:8 بیتی (timer 0) و 16 بیتی (timer 1)
    در تایمر 8 بیتی ،256 پاالس لازم است تا 8 بیت پر شود و در تایمر 16 بیتی 65536 (دو بتوان 16) پالس لازم است
    برای محاسبه ی مدت زمان کدویزارد کدویژن بصورت زیر عمل میکنیم

    در ابتدا عدد 1 را بر clock valu تقسیم میکنیم،تا مدت زمان هر پالس را به میکرو ثانیه بدست آوریم
    سپس عدد بدست آمده را در عدد 256 یا 65536 (بستگی به اینکه از کدام نوع تایمر استفاده میکنید) ضرب میکنیم،تا زمان پر شدن تممی بیتها و در نتیجه سرریز تایمر را بدست آوریم(به میکرو ثانیه)

    مثال 1:مدت زمانی که با کریستال 16 مگ و با clock valu =125.000 kh بدست می آید را محاسبه کنید(از تایمر 16 بیتی استفاده میشود)

    (1/125)*65536=524.288 میکرثانیه

    مثال 2:در مثال قبل در صورتی که بخواهیم زمان 500 میکرو ثانیه را برای پر شدن بیت ها بدست آوریم،چه عددی باید داخل timer valu قرار دهیم؟

    قبل از جواب دادن نکات زیر را بخونید
    1-بصورت پیش فرض تایمر از عدد صفر شرع به شمارش میکنهولی می توان این عدد را با تغییر مقدار timer valu تغییر داد

    2-عدد داخل timer valu باید به فرم hex باشه

    و اما جواب:
    طبق جواب مثال قبل 524.288 میکرو ثانیه طول میکشه تا 65536 پالس برا پر شدن 16 بیت انجام بشه
    با تناسب زیر مشخص میشه که چند پالس لازم داریم تا 500 میکرو ثانیه برای پر شدن این 16 بیت بطول انجامد

    524.288 65536
    500 ?
    ?==>62500

    حالا این عدد را از 65536 کم میکنیم ،تا مقدار timer valu را بدست آوریم
    65536-62500=3036 --> به فرمت هگز -->bdc

    توجه:عدد مربوط به clock valu را باید به کیلو هرتز بنویسیم

    فرمول کلی: (1/clock valu)*(256 or 65536)=زمان پر شدن بیت ها به میکرو ثانیه

  11. تشکرها از این نوشته :


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

  1. ره اندازی smt160 با پورت موازی
    توسط M.ABDOLLAHI در انجمن AVR
    پاسخ: 3
    آخرين نوشته: 27-04-2009, 21:34

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

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