اطلاعیه

Collapse
No announcement yet.

سوال در مورد تایمر و وقفه int0

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

    سوال در مورد تایمر و وقفه int0

    سلام
    من تازه شروع به کار با AVR کردم و با بیسیک کار می کنم
    می خوام یه برنامه ای بنویسم که یک دستور رو با فاصله زمانی دقیق 1.5 ثانیه اجرا کنه .می خوام از تایمر استفاده کنم تو فروم هم گشتم اطلاعات خوبی در مورد تایمر به دست اوردم.ولی نمیدونم این وقفه رو (1.5ثانیه) رو چطوری تو برنامه بزارم از محاسباتم سر در نیاوردم
    یه سوال دیگه هم دارم .وقتی از دستور waitms 1500 استفاده می کنم 1.5 ثانیه وقفه نمی کنه.چرا؟این به مقدار کریستال تعریف شده بستگی داره؟
    بعد یه سوال دیگه هم دارم .وقتی از int0 استفاده می کنم وقتی یه کلید به پایه int0 وصل می کنم طرف دوم کلید رو باید به کجا وصل کرد .low level ,faling,raising چه فرقی باهم دارن
    من وقتی طرف دوم رو به GND وصل می کنم و config int0=lowlevel می نویسم کلید کار می کنه و از حلقه خارج میشه.از اون یکی ها چطوری میشه استفاده کرد؟

    #2
    پاسخ : سوال در مورد تایمر و وقفه int0

    مکث 1.5 ثانیه رو می تونی با Waitms 1500 انجام بدی . به شرط اینکه فرکانس کاری تعریف شده در برنامه با فرکانس اسیلاتور( در فیزوبیت ها ) یکی باشه .
    از تایمر هم میشه برای ایجاد 1.5 ثانیه استفاده کرد . محاسباتش هم سادست .
    پایه Int0 یه پایه ورودیه که با تغییر سطح (Low Level ) و یا حساس به لبه (Falling , Rising) کار می کنه . پس مثلا اگه می خوای به لبه بالا رونده حساس باشه اونو با یک مقاومت زمین کن . از طرفی همون پایه رو بده به سر میکروسوئیچ و سر دیگه میکروسوئیچو بده به Vcc مدار.

    دیدگاه

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