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

موضوع: چرا وقتی تو برنامه یه زمان 1 ثانیه ای تعریف میکنم زمان بیشتر میشه؟

  1. #1
    تازه وارد
    تاریخ عضویت
    Feb 2012
    نام
    محمد یوسف زاده
    نوشته ها
    2
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض چرا وقتی تو برنامه یه زمان 1 ثانیه ای تعریف میکنم زمان بیشتر میشه؟

    با atmega32 برنامه ای با کدویژن نوشتم که یک led به طور مداوم یک ثانیه روشن و یک ثانیه خاموش بشه (چشمک بزنه) اما زمانش به جای یک ثانیه حدود 4 ثانیه طول میکشه. فرکانس داخلی رو 4مگا هرتز انتخاب کردم و تو حلقه while برنامه رو بصورت زیر نوشتم:
    while (1)
    {
    delay_ms(1000);
    PORTA.0=~PORTA.0;


    };
    مشکل کار کجاست؟

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

  3. #2
    مدیر انجمن cmuiran آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    پیمان غلامی
    نوشته ها
    1,071
    تشکر
    407
    تشکر شده 966 بار در 553 پست

    پیش فرض

    سلام
    دلیل عمدش میتونه تنظیم نبودن فرکانس باشه
    در درجه بعدی مثلا میتونه کاهش ولتاژ و... باشه
    به نام آن کسی که به من بال پرواز داد تا اوج بگیرم

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


  5. #3
    کاربر فعال abbasalifix آواتار ها
    تاریخ عضویت
    Apr 2011
    نام
    عباسعلی محمدنیا
    نوشته ها
    187
    تشکر
    266
    تشکر شده 139 بار در 80 پست

    پیش فرض

    شما وقتی فرکانس رو روی 4 مگ قرار دادین فیوز بیت رو هم روی 4 مگا داخلی یا کریستال خارجی تنظیم کردین ؟
    اگه چیزی از فیوز بیت ها نمیدونید بهتره که برنامه رو با فرکانس 1 مگا بنویسید که نیازی با تنظیم فیوز بیت نداره

  6. #4
    تازه وارد
    تاریخ عضویت
    May 2015
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    بهترین حالت روی 8 داخلی هست
    که باید در هنگام پروگرم کردن برنامه فیوز بیت اون هم روی 8 داخلی بزاری

  7. #5
    تازه وارد
    تاریخ عضویت
    Feb 2012
    نام
    محمد یوسف زاده
    نوشته ها
    2
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    نقل قول نوشته اصلی توسط abbasalifix نمایش پست ها
    شما وقتی فرکانس رو روی 4 مگ قرار دادین فیوز بیت رو هم روی 4 مگا داخلی یا کریستال خارجی تنظیم کردین ؟
    اگه چیزی از فیوز بیت ها نمیدونید بهتره که برنامه رو با فرکانس 1 مگا بنویسید که نیازی با تنظیم فیوز بیت نداره
    از کجا فیوز بیت رو تنظیم کنم؟

  8. #6
    کاربر علاقه مند
    تاریخ عضویت
    Aug 2015
    نوشته ها
    85
    تشکر
    7
    تشکر شده 4 بار در 3 پست

    پیش فرض

    شما اگر یک ثانیه ی دقیق میخای باید از تایمر دو میکرو استفاده کنی. و در ورودی فرکانس کلاک میکرو یک کیریستال 32768 قرار بدی.

    Sent from my D6502 using Tapatalk

  9. #7
    کاربر علاقه مند
    تاریخ عضویت
    Aug 2015
    نوشته ها
    85
    تشکر
    7
    تشکر شده 4 بار در 3 پست

    پیش فرض

    اگر یک ثانیه خیلی دقیق باشه فیوزبیت رو تنظیم کن.برای تنظیم فیوزبیت از یک برنامه دیگه استفاده کن چون در کدویژن جایی رو برای تنظیم دقیق فرکانس ندیدم.میتونی از بسکام استفاده کنی. اول میکرو رو داخل پروگرامر بزار بعد روی پروگرام دستی کلیک کن و بعد به قسمت فیپزبیت برو و بعد فیوزبیت فرکانس رو روی RC 4MH قرار بده و بعد بزن روی write. و بعد از تنظیم شدن فیوزبیت از داخل کدویژن میکرو رو پروگرام کن.

    Sent from my D6502 using Tapatalk

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

  1. پاسخ: 0
    آخرين نوشته: 23-09-2013, 20:32
  2. سوال : 1768 تو لیتوکس (ابونتو)
    توسط microprocesor_2002 در انجمن LPC series (NXP)
    پاسخ: 7
    آخرين نوشته: 19-05-2013, 13:47
  3. نکاتی در مورد IC سینتی سایزر AD9833
    توسط codev در انجمن مباحث متفرقه در زمینه میکروو الکترونیک
    پاسخ: 10
    آخرين نوشته: 19-11-2009, 11:15
  4. پاسخ: 3
    آخرين نوشته: 28-08-2009, 23:41

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

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