اطلاعیه

Collapse
No announcement yet.

ایجاد پالس دائم بر روی یک پایه میکرو

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

    ایجاد پالس دائم بر روی یک پایه میکرو

    با سلام دوستان عزیز چند سوال و راهنمائی نیاز داشتم اگر کمک بفرمائید ممنون میشوم
    1) اینکه چطور می توانم روی یک پایه میکرو به طور دائم یک پالس با فرکانس مثلا 1khz ایجاد کنم در حالی که میکرو به سایر کار های خودش به پردازه و کاری به اون نداشته باشه من با bascom کار می کنم و دستور puls out را دیده ام ولی سر در نیاوردم اگه بر نامه اش رو بنویسید که در این ماه رمضانی دوعاتون می کنم! :applause:
    2) اینکه می خواستم بدونم اگر مثلا زیر بر نامه یک وقفه خارجی در حال اجرا باشه و در حین اجرا برنامه دو باره همون وقفه رخ بده میکرو ایا دوباره از اول زیر برنامه شروع میکنه یا اینکه اول زیر برنامه اون وقفه رو تا انتها میره و تموم میکنه بعد میره دوباره اول زیر برنامه؟

    ((نماز روزهاتون قبول در گاه حق))

    #2
    پاسخ : ایجاد پالس دائم بر روی یک پایه میکرو

    در مورد اولی
    با تایمر و وقفه تایمر میشه اینکار رو انجام داد.

    در مورد دومی
    بله از اول شروع میکنه و وقتی جدیده تموم شد میره سراغ ادامه قبلیه.
    برای اینکه اینطور نشه , میتونی وقفه رو تا انتهای پروسه غیر فعال کنی.
    الهم عجل لولیک الفرج

    دیدگاه


      #3
      پاسخ : ایجاد پالس دائم بر روی یک پایه میکرو

      سلام
      برای ایجاد این پالس به صورت دایمی شما باید از مد PWM تایمر استفاده کنید که دیگه نیازی به کد نوشتن براش ندارید
      بعد از وقوع وقفه به صورت سخت افزاری بیت I رجیستر وضعیت میکرو پاک میشه تا دیگه وقفه رخ نده،بعد از آن دوباره ست میشه که بقیه وقفه ها رخ بدن
      در دیر مغان آمد یارم قدحی در دست
      مست از می می خواران از نرگس مستش مست

      دیدگاه


        #4
        پاسخ : ایجاد پالس دائم بر روی یک پایه میکرو

        نوشته اصلی توسط محمد یارمحمدی
        سلام
        برای ایجاد این پالس به صورت دایمی شما باید از مد PWM تایمر استفاده کنید که دیگه نیازی به کد نوشتن براش ندارید
        بعد از وقوع وقفه به صورت سخت افزاری بیت I رجیستر وضعیت میکرو پاک میشه تا دیگه وقفه رخ نده،بعد از آن دوباره ست میشه که بقیه وقفه ها رخ بدن

        دوست عزیز میشه کمی بیشتر توضیح بدهی به نظرم این گفته شما نظر iran-pcکمی متفاوت است با سپاس

        دیدگاه


          #5
          پاسخ : ایجاد پالس دائم بر روی یک پایه میکرو

          سلام
          در مورد سوال اول ،باید بگم که روشی که Iran_PC عزیز فرمودند هم درسته،اما نیاز به کد نویسی داره ولی برای اییکه میکرو کار خودش رو انجام بده باید از مد PWM استفاده کنید،فقط باید مقدار رجیسترها رو طوری تنظیم کنید که فرکانس مورد نظرتون بدست بیاد،من در بسکام نمیدونم ولی در codevision می تونم راهنماییت کنم
          در مورد سوال دوم به دیتاشیت میکرو مراجعه کنید و توضیحات بیت Global Interrupt Enable در رجیستر Status Register رو ببینید.
          در دیر مغان آمد یارم قدحی در دست
          مست از می می خواران از نرگس مستش مست

          دیدگاه


            #6
            پاسخ : ایجاد پالس دائم بر روی یک پایه میکرو

            من شارگد محمد جان هستم.
            فرمایشش کاملا متینه.
            توی کار با pwm دیگه نیازی به کد نویسی نداری.
            هر چند که کدش یک خط میشه , اما نمیدونم چرا هنگام رخ دادن وقفه کلی سیگنال هدر میره.
            خودمو سر یه برنامه کلافه کرده.

            محمد جان یعنی تا بعد از reti وقفه دیگه ای اجرا نمیشه؟
            الهم عجل لولیک الفرج

            دیدگاه


              #7
              پاسخ : ایجاد پالس دائم بر روی یک پایه میکرو

              سلام
              محمدرضا جان شکسته نفسی نکن
              بر اساس حرفی که تو دیتاشیت زده قراره که اینجوری باشه :icon_razz: :biggrin:
              در دیر مغان آمد یارم قدحی در دست
              مست از می می خواران از نرگس مستش مست

              دیدگاه


                #8
                پاسخ : ایجاد پالس دائم بر روی یک پایه میکرو

                با سلام خدمت اساتیید
                تو بحث pwm و بیسکام اگه از کتاب علی کاه یاد گرفتین دو تا از مد های pwm رو اصلا نگفته و فقط ctc و pwm fast رو گفته برای دو تا از مد های دیگه که بیشتر به درد این مبحث میخورن یا باید تو بیسکام از کد اسمبلی استفاده کنید و رجیستر هارو خودتون مقدار دهی کنید و یا از همه راحتر از ویزارد کد ویژن استفاده کنید

                دیدگاه


                  #9
                  پاسخ : ایجاد پالس دائم بر روی یک پایه میکرو

                  نوشته اصلی توسط محمد یارمحمدی
                  سلام
                  در مورد سوال اول ،باید بگم که روشی که Iran_PC عزیز فرمودند هم درسته،اما نیاز به کد نویسی داره ولی برای اییکه میکرو کار خودش رو انجام بده باید از مد PWM استفاده کنید،فقط باید مقدار رجیسترها رو طوری تنظیم کنید که فرکانس مورد نظرتون بدست بیاد،من در بسکام نمیدونم ولی در codevision می تونم راهنماییت کنم
                  در مورد سوال دوم به دیتاشیت میکرو مراجعه کنید و توضیحات بیت Global Interrupt Enable در رجیستر Status Register رو ببینید.
                  از اینکه راهنمای کردید متشکرم راستش من همان طور که از اسمم پیداست هنوز در الف"avr"هستم! و با بسکام کار میکنم اگر اساتید حاضر در مورد بسکام راهنمایی بفرمایند به گمانم به درد تازه کار های مثل من زیاد بیاد از تمام دوستانی که وقت گذاشتند متشکرم :applause:

                  دیدگاه

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