اطلاعیه

Collapse
No announcement yet.

تعریف تایمر کانتر 2 atmega8 به عنوان pwm

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

    تعریف تایمر کانتر 2 atmega8 به عنوان pwm

    من به سه تا pwm نیاز دارم و می خوام از atmega8 استفاده کنم،
    برای 2تاش از تایمر کانتر 1 میکرو استفاده کردم این دستور رو نوشتم:

    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
    Pwm1a = 0
    Pwm1b = 0

    ولی با اینکه داخل دیتاشیت این میکرو نوشته که از تایمر کانتر 2 هم میشه در مد pwm استفاده کرد،(تو help برنامه هم نوشته) اما وقتی دستور زیر رو نوشتم
    Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
    Compare2 = 0
    و پروگرام کردم، بعد به پایه های متناظر میکرو led اضافه کردم و مقدار compare سه pwm رو از صفر تا 255 افزایش دادم دو led که به Pwmهای کانتر 1 وصل بودن درست کار کردن ولی pwm کانتر 2 درست کار نمی کنه، البته چون خود برنامه در config کانتر 2 در مد pwm همراهی نمی کنه احتمالا کد رو اشتباه نوشتم
    اگر لطف کنید درست کد رو بنویسید ممنون میشم

    #2
    پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

    خروجی تایمر 2 رو از کدوم پین گرفتی :question:






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

    دیدگاه


      #3
      پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

      نوشته اصلی توسط Saeed Bagherani
      خروجی تایمر 2 رو از کدوم پین گرفتی :question:
      از پین شماره17 یا همون PB3 که نوشته MOSI/OC2

      دیدگاه


        #4
        پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

        کافیه پایه رو با دستور config خروجی تعریف کنید درست میشه

        موفق باشی

        دیدگاه


          #5
          پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

          نوشته اصلی توسط behi88
          کافیه پایه رو با دستور config خروجی تعریف کنید درست میشه

          موفق باشی
          متوجه نشدم، یعنی تعریم کنم
          config portb.3
          بعد به صورت Pwm هم config کنم و خروجی pwm میده،

          دیدگاه


            #6
            پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

            کافیه اضافه کنی
            config portb.3 = output
            PWM رو هم Config کن اونوقت از pwm خروجی میگیری

            دیدگاه


              #7
              پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

              فقط میشه شما دستور کانفیگ کردن pwm رو هم بزارید تا مطمئن بشم که دستورات رو درست وارد کردم

              دیدگاه


                #8
                پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

                مثالش توی help کامپایلر Bascom هست به نظرم اونی که نوشتید درست باشه
                اگر میخواید دقیقا بگید چه قابلیتی با چه فرکانسی تا دستورس ور بنویسم
                اما فکر نکنم مشکلی داشته باشید

                موفق باشی

                دیدگاه


                  #9
                  پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

                  ممنون کار کرد
                  نمی دونم چرا درست کار نمی کرد چون الان همون دستور قبلی رو نوشتم و داره کار می کنه
                  من از این حلقه استفاده کردم:

                  For A = 0 To 255
                  COMPARE2=a
                  Pwm1b = B
                  Pwm1a = A
                  Waitms 25
                  B = B - 1

                  Next A

                  و به
                  پایه های مخصوص pwm ال ای دی وصل کردم و نورشون کم و زیاد میشه

                  دیدگاه


                    #10
                    پاسخ : تعریف تایمر کانتر 2 atmega8 به عنوان pwm

                    ببخشید ظاهرا این مشکل را خیلی ها دارن . تو کتاب علی کاهه در ضمیمه آخر کتاب در بخش خطاهای میکرو نوشته شده در اتمگا 8 کانتر 2 اشکال داره! روش اصلاحشم اونجا توضیح داده. توصیه اکید می کنم زمانی که میکرو را تهیه می کنید قبل از کار کردن اون ضمیمه را بخونید تا سر کار نرید!

                    دیدگاه

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