اطلاعیه

Collapse
No announcement yet.

مشکل در درک برنامه ی بسکام

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

    مشکل در درک برنامه ی بسکام

    سلام دوستان من یه برنامه نوشته شده دارم که می خوام ازش سر در بیارم به زبان بسکام هستش و متوجه چند موردش نمی شم یکیشم این خطه!

    کد:
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1
    می شه لطفا کمکم کنی متوجه شم این چی می خواد بگه ، ممنون و واقعا شرمنده

    #2
    پاسخ : مشکل در درک برنامه ی بسکام

    توی بسکام برخلاف کد ویژن شما دستورات رو مینویسید بعد بسکام با توجه به اونا خودش رجیسترها رو مینویسه ... این کار یکی از مزیتهای مهم بسکام هستش!
    تو اون خط شما تایمر 1 رو مد PWM تعریف کردین به صورت 8 بیتی و خروجی Oc1a به صورت Invert انتخاب میشه و Prescale هم یک هست
    فرکانس Pwm از رابطه ی زیر بدست می آد":
    8bit PWM frequncy=Fosc / 510 * Prescale
    9bit PWM frequncy=Fosc / 1022 * Prescale
    10bit PWM frequncy=Fosc / 2046 * Prescale
    این یعنی اینکه در PWM 8 بیتی میتونید فرکانس بیشتری رو نسبت به 9 و 10 بیتی تولید کنید

    [br /][hr]http://pcenter.ir[hr][br /]

    دیدگاه


      #3
      پاسخ : مشکل در درک برنامه ی بسکام

      نوشته اصلی توسط adelavr110
      توی بسکام برخلاف کد ویژن شما دستورات رو مینویسید بعد بسکام با توجه به اونا خودش رجیسترها رو مینویسه ... این کار یکی از مزیتهای مهم بسکام هستش!
      تو اون خط شما تایمر 1 رو مد PWM تعریف کردین به صورت 8 بیتی و خروجی Oc1a به صورت Invert انتخاب میشه و Prescale هم یک هست
      فرکانس Pwm از رابطه ی زیر بدست می آد":
      8bit PWM frequncy=Fosc / 510 * Prescale
      9bit PWM frequncy=Fosc / 1022 * Prescale
      10bit PWM frequncy=Fosc / 2046 * Prescale
      این یعنی اینکه در PWM 8 بیتی میتونید فرکانس بیشتری رو نسبت به 9 و 10 بیتی تولید کنید
      می شه لطفا بگید معادل این توی کد ویژن چی می شه ؟
      یک جای دیگه از برنامه هم هست
      Pwm1a = Pw
      If Up = 0 Then Pw = Pw -5
      این معادلش توی سی چی می شه ؟
      اینجا منظور از pwm یه متغییر جدا نیست که ؟
      :redface:

      دیدگاه


        #4
        پاسخ : مشکل در درک برنامه ی بسکام

        توی کدویژن بایستی مستقیما روی رجیسترها بنویسی:
        کد:
        TCCR1A=0b10000001;
        حالا تایمر1 به صورت PWM هشت بیتی تعریف شده اگه فرکانست هشت مگ باشه فرکانس PWM میشه 15.6 کیلو که از پایه خروجی OC1A میتونی ببینیی با تغییر مقدار رجیستر OCR1A میتونی مقدار دیوتی سایکل رو تغییر بدی مثال D.C سی درصد:
        کد:
        OCR1AH=0;
        OCR1AL=(unsigned char) (0.3*0xff);
        به مدیریت سایت هم پیشنهاد میدم که تگ کد رو در حالت چپ چین قرار بدن کسی که قرار نیست توی کدها کاراکتر فارسی بنویسه

        [br /][hr]http://pcenter.ir[hr][br /]

        دیدگاه


          #5
          پاسخ : مشکل در درک برنامه ی بسکام

          می شه مستقیما با کدویزارد انجامش بدم مثلا اگه بزارمش روی fast pwm می شه معادل همین؟
          واسه قسمت دوم که اومده 5 واحد ازش کم کرده چی کار می تونم انجام بدم؟

          دیدگاه

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