اطلاعیه

Collapse
No announcement yet.

تایمر avr

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

    تایمر avr

    سلام
    من با اصول کارکرد تایمر آشنایی دارم
    می خواهم وقتی کلید متصل به وقفه INT0 زده شد در پورت خروجی یک پالس به پهنای 4us ایجاد شود
    می خواهم از timer1 استفاده کنم و تنظیمات لازم را در قسمت codewizard انجام دهم
    از دوستان خواهشمندم راهنمایی کنند
    با تشکر
    685
    از زبان c استفاده میکنم
    0%
    401
    در برنامه چه کدی را وارد کنم؟
    0%
    284

    #2
    پاسخ : تایمر avr

    یه موج pwm میخوای یا فقط هدفت ساخت 1پالسه؟
    انقدر احمق نیستم که فکر کنم کارم تموم شده

    دیدگاه


      #3
      پاسخ : تایمر avr

      خوب اگر فقط 1پالس بخوای خیلی ساده میشه
      تایمر رو تو مد معمولی بزار و وقفه سرریز رو فعال کن و فرکانس تایمرو رو 8مگا تنظیم کن
      وقتی کدهاش ساخته شد مقدار TCCR1 رو عوض کن(بزار 0) تا تایمر با سروع برنامت ران نشه
      بعد تو سابروتین وقفه قرار بدهTCNT1=0xffdf بعد پینی که میخوای پالس روش باشه رو 1کن و مقدار TCCR1 رو دوباره همون مقدار قبلی بده.
      از سابروتین وقفه خارج شو و تو سابروتین تایمر پین مورد نظرتو 0 کن
      واضح بود؟
      انقدر احمق نیستم که فکر کنم کارم تموم شده

      دیدگاه


        #4
        پاسخ : تایمر avr

        نوشته اصلی توسط SILVER MAN
        خوب اگر فقط 1پالس بخوای خیلی ساده میشه
        تایمر رو تو مد معمولی بزار و وقفه سرریز رو فعال کن و فرکانس تایمرو رو 8مگا تنظیم کن
        وقتی کدهاش ساخته شد مقدار TCCR1 رو عوض کن(بزار 0) تا تایمر با سروع برنامت ران نشه
        بعد تو سابروتین وقفه قرار بدهTCNT1=0xffdf بعد پینی که میخوای پالس روش باشه رو 1کن و مقدار TCCR1 رو دوباره همون مقدار قبلی بده.
        از سابروتین وقفه خارج شو و تو سابروتین تایمر پین مورد نظرتو 0 کن
        واضح بود؟
        سابروتین چیه؟
        منظورتون همون تابع اینتراپت نیست؟ :question:

        دیدگاه


          #5
          پاسخ : تایمر avr

          آره
          انقدر احمق نیستم که فکر کنم کارم تموم شده

          دیدگاه

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