اطلاعیه

Collapse
No announcement yet.

PWMدر Mega32

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

    PWMدر Mega32

    سلام
    با تایمر یک mega32 میخوام موج pwm درس کنم هر کاری میکنم نمیییییییییییشه. کلافم کرد.:((((
    اینم کدش تو بسکام خیلی خیلی ممنون از کمکتون.
    regfile = "m32def.dat"
    $crystal = 1000000
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1
    Do
    pwm1a=125
    Loop
    End
    یه led به پایه oc1a(پین d.5) مستقیم وصل کردم. عملا اگه pwm درس شده باشه باید led زوشن بشه که روشن نمیشه. و از اینجا میفهمم که pwmدرس نشده!!!
    در ضمن مقدار pwm1a رو هم تغییر میدم بازم هیچ اتفاقی نمیفته!!!:(((( :eek:
    با اسیلاتور داخلی نمیشه pwm درس کرد؟؟

    #2
    پاسخ : PWMدر Mega32

    نوشته اصلی توسط babak_hnf
    سلام
    با تایمر یک mega32 میخوام موج pwm درس کنم هر کاری میکنم نمیییییییییییشه. کلافم کرد.:((((
    اینم کدش تو بسکام خیلی خیلی ممنون از کمکتون.
    regfile = "m32def.dat"
    $crystal = 1000000
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1
    Do
    pwm1a=125
    Loop
    End
    یه led به پایه oc1a(پین d.5) مستقیم وصل کردم. عملا اگه pwm درس شده باشه باید led زوشن بشه که روشن نمیشه. و از اینجا میفهمم که pwmدرس نشده!!!
    در ضمن مقدار pwm1a رو هم تغییر میدم بازم هیچ اتفاقی نمیفته!!!:(((( :eek:
    با اسیلاتور داخلی نمیشه pwm درس کرد؟؟
    سلام.
    در این برنامه شما زمان اجرای هر دستور 1 میکرو ثانیه هست و همچنین PWM رو به صورت 8 بیتی پیکره بندی کردید. این یعنی TCNT1 از صفر تا 255 با فاصله 1 میکرو ثانیه، می شماره و دوباره صفر میشه از جایی که مقدار Pwm1a رو برابر 125 قرار دادید، LED تقریبا در نصف زمان روشن و در نصف زمان خاموشه. یعنی تقزیبا 128 میکرو ثانیه روشن و 128 میکرو ثانیه خاموشه. پس نباید انتظار دیدن نور LED رو داشته باشی. شما یا با اسکپ تست کن یا زمان رو بالا ببر. موفق باشی
    چقدر این ندیدن ها و نشنیدن ها مردم را خوشبخت کرده (دکتر علی شریعتی)

    دیدگاه


      #3
      پاسخ : PWMدر Mega32

      ممنون از پاسختون
      ولی حتی وقتی مقدار pwm1a برابر 255 هم میزارم. بازم led روشن نمیشه:((((
      دوستان کسی این مشکل رو نداشته با pwm??? لطفا کمکم کنید.

      دیدگاه


        #4
        پاسخ : PWMدر Mega32

        دوست عزیز، رجیستر Pwm1a برای مقایسه با مقدار TCNT1 در هر لحظه تعبیه شده که در صورت برابری مقدار شمارنده یا همون TCNT1 با Pwm1a ، پایه oc1a متناسب با پیکره بندی، تغییر وضعیت میده.
        شما وقتی مقدار Pwm1a رو 255 میذاری یعنی وقتی TCNT1=Pwm1a شد، پایه ی oc1a کلیردان بشه. اگه دقت کنی بازم 255 میکرو ثانیه طول میکشه که Led تغییر وضعیت بده. بنابراین بازم با چشم دیده نمیشه
        امشب نمیرسم، اگرنه کاملا توجیه ت میکردم. فعلا خدانگهدار
        موفق باشی
        چقدر این ندیدن ها و نشنیدن ها مردم را خوشبخت کرده (دکتر علی شریعتی)

        دیدگاه


          #5
          پاسخ : PWMدر Mega32

          مجتبی ممنون از راهنماییت!
          ولی من در مورد pwm اینجوری میدونم که وقتی Pwm1a رو برابر 255 میزاریم دیگه Duty Cycle ما برابر یک میشه یعنی همیشه پایه oc1a روشن میمونه. و تغییر وضعیت نمیده. مگه اینجوری نیست؟ :sad:

          دیدگاه


            #6
            پاسخ : PWMدر Mega32

            نه عزیز کاملا یک نمیشه
            پرسکیل رو 64 بزار و یک خازن 100 میکرو هم با ال ای دی موازی کن
            با اسکوپ هم یک نگاهی بکنی بعضی حقایق برات روشن میشه!

            دیدگاه


              #7
              پاسخ : PWMدر Mega32

              همین برنامه رو ت پروتیوس چک کردم با atmega 8 کاملا جواب داد. با اسیلوسکوپ شکل موج نگا کردم. ولی وقتی با mega32 همین برنامه رو تو پروتیوس ران میکنی. مثل حالتی که تو برد بورد نصب کردم جواب نمیده و این پیغام رو پایین نشون میده. کسی راه حلشو میدونه؟؟

              دیدگاه


                #8
                پاسخ : PWMدر Mega32

                AVR WATCHDOG] WDTOE is set but WDE is not. Do nothing.
                [AVR WATCHDOG ] Timer expired-Processor will be reset.
                اینم پیغامش

                دیدگاه


                  #9
                  پاسخ : PWMدر Mega32

                  داداش شما واچ داگ رو فعال کردی
                  احتمالا فیوز بیت ها رو دست زدی

                  دیدگاه


                    #10
                    پاسخ : PWMدر Mega32

                    حالا چطور میشه میکرو رو به حالت اولیه برگردونم؟؟

                    دیدگاه


                      #11
                      پاسخ : PWMدر Mega32

                      سلام منم مثه دوستمون فکر کنم تنظیمات فیوز بیت ها تغییر کردن.درسته ؟اگه بدونی چه فیوز بیتایی تغییر کردن میشه یه کاری کرد وگرنه باید کل فیوز بیت رو چک کنی که البته کار سخت هم نیست حوصله میخاد ؟
                      از عقل پرسیدم ایمان چیست،عشق در گوشه دل ندا داد که ایمان ادب است.

                      دیدگاه


                        #12
                        پاسخ : PWMدر Mega32

                        برنامت کلا همینه؟
                        فیوز بیت wdog رو یک قرار بده
                        با چه برنامه و پروگرمری پروگرم میکنی؟

                        دیدگاه

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