اطلاعیه

Collapse
No announcement yet.

زمان سنجی در بسکام

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

    زمان سنجی در بسکام

    سلام خدمت دوستان. در یک پروژه دانشجویی ساده (تایمر پارکینگ) قصد دارم با وارد کردن یک عدد بوسیله ی keypad4*4 چندتا led را که به خروجی atmega8 متصلند جداگانه انتخاب و روشن کنم و بعد از مدت دلخواه یکی را انتخاب و خاموش کنم بلافاصله زمان روشن بودن آن led محاسبه شود و در یک lcd نمایش داده شود. مشکل اینجاست که چطوری در مدتی که برنامه در حال دریافت کد از صفحه کلید است ، تایمر مربوط به ledها متوقف نشود؟

    *میدونم تایمر همچنان مشغول است ولی اگه وارد کردن عدد به صفحه کلید طول بکشه و تایمر سرریز بشه چه اتفاقی میفته *


    [color=green]به نظر شما برای این مشکل از کجا باید شروع کنم ؟ لطفا قدم به قدم راهنماییم کنید چون این اولین پروژه من هست در ضمن اصلا عجله ای هم ندارم ، وقت زیاد هست.ممنون[/col
    هستم اگر می روم، گر نروم نیستم :rolleyes:

    #2
    پاسخ : زمان سنجی در بسکام

    وقفه تایمر رو فعال کن دوست عزیز
    هميشه به ياد خدا باش !

    دیدگاه


      #3
      پاسخ : زمان سنجی در بسکام

      اجازه بدید یه جور دیگه بگم،پین های portb میکرو به صورتهای مختلفی که براش تعریف کردم دارن reset و set میشن.

      میخوام با استفاده از تایمر1 میکرو مدت set بودن هر پین رو حساب کنم ، همین.

      به نظر شما اصلا شدنی هست. اگه یه راهنمایی بکنید فکر کنم از پسش بربیام.
      هستم اگر می روم، گر نروم نیستم :rolleyes:

      دیدگاه


        #4
        پاسخ : زمان سنجی در بسکام

        نوشته اصلی توسط saeedbordbar
        اجازه بدید یه جور دیگه بگم،پین های portb میکرو به صورتهای مختلفی که براش تعریف کردم دارن reset و set میشن.

        میخوام با استفاده از تایمر1 میکرو مدت set بودن هر پین رو حساب کنم ، همین.

        به نظر شما اصلا شدنی هست. اگه یه راهنمایی بکنید فکر کنم از پسش بربیام.
        شما باید تمام پایه های portb رو بصورت مداوم چک کنید و اولی که یک شد تایمر شروع به کار کنه و زمانی که صفر شد مقدار تایمر برابر زمان یک بودن پایه هست برای بقیه وقتی یک میشن باید مقدار تایمر رو در یک متغیر word ذخیره کنید و زمانی که پایه صفر شد دوباره مقدار تایمر رو بررسی کنید و با کم کردن این دو زمان از هم زمان یک بودن پایه رو بدست بیارید

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

        دیدگاه


          #5
          پاسخ : زمان سنجی در بسکام

          از کبچر تایمر استفاده کنید

          دیدگاه

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