اطلاعیه

Collapse
No announcement yet.

ساختن فرکانس با میکرو ؟

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

    ساختن فرکانس با میکرو ؟

    سلام من خیلی تو انترنت جستجو کردم ولی چیزی پیدا نشد !
    چطوری میشه با زبان بیسیک تو بسکام رو یکی از پایه های میکرو فرکانس تولیئ کرد ؟میشه همزمان چند تا فرکانس داشت ؟
    چه رنجی رو میکرو هایی مثل مگا 32 پشتیبانی میکنند ؟ این فرکانس یکسره هست یا فقط میشه یه لحظه تولید کرد ؟
    من نیاز دارم با میکرو یه فرکانس 40 کیلو درست کنم تو بسکام . میشه یکی از دوستان یه مثال عملی بهم بده ؟
    ممنون از همتون

    #2
    پاسخ : ساختن فرکانس با میکرو ؟

    من بسکام کار نکردم. ولی راحت ترین راه تنظیم یکی از تایمر ها رو حال تولید PWM هستش. شما دنبال این سرچ کنید.
    AVR PWM Bascom
    حتما پیدا می کنید.
    برای تولید چند فرکانس روی پایه های دلخواه باید از وقفه تایمرها استفاده کنید که کار یکم پیچیده میشه.
    بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
    اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

    دیدگاه


      #3
      پاسخ : ساختن فرکانس با میکرو ؟

      مرسی
      میسرچم اگه چیزی پیدا شد این جا میزارم
      ولی فکر نکنم بشه یه یرنامه اماده اسون برای یاد گیری پیدا کرد

      دیدگاه


        #4
        پاسخ : ساختن فرکانس با میکرو ؟

        $regfile = "m32def.dat"

        $crystal = 1000000

        Config Portb = Output
        Do
        Portb.1 = 1
        Waitus 12
        Portb.1 = 0
        Waitus 9
        Loop

        دیدگاه


          #5
          پاسخ : ساختن فرکانس با میکرو ؟

          ممنون مجید جان، میشه در مورد اینکه چرا یکی رو 12 و دیگری رو 9 قرار دادی بیشتر توضیح بدی؟ با توجه به نوع کامپایل بود یا دلیل دیگه ای داره؟
          از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
          هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
          اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
          اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
          شاد و موفق باشید

          دیدگاه


            #6
            پاسخ : ساختن فرکانس با میکرو ؟

            نوشته اصلی توسط مجید نصراله زاده
            $regfile = "m32def.dat"

            $crystal = 1000000

            Config Portb = Output
            Do
            Portb.1 = 1
            Waitus 12
            Portb.1 = 0
            Waitus 9
            Loop
            این کار می کنه . ولی :
            1. این روش کاربردی نیست، چون اگه میکرو بخواد کار دیگه ای انجام بده(مثلا نمایش یه چیزی روی LCD ) زمان بندی و فرکانس و ... همشون بهم میخورن.
            2. چون کد اسمبلی تولید شده توسط کامپایلر خیلی تو زمانبندی ها تاثیر داره، با هر ورژنی کامپیل کنید یکم فرکانس جا به جا میشه.
            بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
            اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

            دیدگاه


              #7
              پاسخ : ساختن فرکانس با میکرو ؟

              با اقا مصطفی موافقم
              بهتره واسه این کار از یه تایمر استفاده کنی

              در حین فرا خوان lable تایمر میتونی هر پین رو هر جور که دلت میخواد set or reset کنی و واسه خودت تولید فرکانس کنی
              بدون این که به برنامت هم اسیب برسه
              علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

              دیدگاه


                #8
                پاسخ : ساختن فرکانس با میکرو ؟

                من دنبال تایمر گشتم ولی نشد که نشد !
                اون کد هم دادید فرکانس تولید میکنه ولی 40 کیلو نیست (ولی جالب بود )
                کسی یه سورس اماده نداره؟ :angry:

                دیدگاه


                  #9
                  پاسخ : ساختن فرکانس با میکرو ؟

                  نوشته اصلی توسط Masih Nazari
                  من دنبال تایمر گشتم ولی نشد که نشد !
                  اون کد هم دادید فرکانس تولید میکنه ولی 40 کیلو نیست (ولی جالب بود )
                  کسی یه سورس اماده نداره؟ :angry:
                  شما هم دنبال لقمه حاضری می گردیدا
                  بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
                  اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

                  دیدگاه


                    #10
                    پاسخ : ساختن فرکانس با میکرو ؟

                    آقا مصطفی راست میگه

                    این یک نمونه بود . در عمل باید از تایمر و وقفه اون استفاده کنی .

                    دستور loop سه میکرو ثانیه زمان می بره . راستی فرکانس چقدر بود؟

                    دیدگاه


                      #11
                      پاسخ : ساختن فرکانس با میکرو ؟

                      من هر چی دنبال یه کد اماده خیلی خیلی ساده گشتم برای یاد گیری با بیسیک گیر نیاوردم
                      نتیجه گیری کلی این که این رو هم بی خیال بشیم بهتره :biggrin:

                      دیدگاه


                        #12
                        پاسخ : ساختن فرکانس با میکرو ؟

                        نوشته اصلی توسط Masih Nazari
                        من هر چی دنبال یه کد اماده خیلی خیلی ساده گشتم برای یاد گیری با بیسیک گیر نیاوردم
                        نتیجه گیری کلی این که این رو هم بی خیال بشیم بهتره :biggrin:
                        شما باید اصولی یاد بگیرید. باید ابتدا یه مطالعه رو ساختار تایمرها انجام بدید و بعد با هر زبانی دوست دارید برنامه رو بنویسید. اینطوری که دنبال کد حاضری بگردید که همون کار شما رو بکنه چیزی دستتون رو نمیگیره.
                        دیتاشیت Mega32 رو دانلود کنید(350 صفحه) بشینید لا اقل عکس هایی که تو بخش تایمرها قرار داره رو نگاه کنید. من مطمئنم همین کار رو هم نکردید. یاد گرفتن با آزمون و خطا و دستور حفظ کردن به درد نمیخوره. چون هیچ وقت به موضوع مسلط نمیشید.
                        بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
                        اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

                        دیدگاه


                          #13
                          پاسخ : ساختن فرکانس با میکرو ؟

                          نوشته اصلی توسط Masih Nazari
                          من هر چی دنبال یه کد اماده خیلی خیلی ساده گشتم برای یاد گیری با بیسیک گیر نیاوردم
                          نتیجه گیری کلی این که این رو هم بی خیال بشیم بهتره :biggrin:
                          این هم برنامه

                          فقط اگه نحوه عملکردشو یاد بگیری بهتره

                          $regfile = "m32def.dat"

                          $crystal = 8000000

                          Enable Interrupts
                          Enable Ovf0
                          Config Timer0 = Timer , Prescale = 8
                          On Ovf0 Rrr
                          Config Portb.1 = Output
                          Timer0 = 243
                          Start Timer0

                          Do

                          Loop

                          Rrr:
                          Toggle Portb.1
                          Timer0 = 243
                          Return

                          بین do و loop برنامه دلخواهتو بنویس

                          دیدگاه


                            #14
                            پاسخ : ساختن فرکانس با میکرو ؟

                            نوشته اصلی توسط Study
                            ممنون مجید جان، میشه در مورد اینکه چرا یکی رو 12 و دیگری رو 9 قرار دادی بیشتر توضیح بدی؟ با توجه به نوع کامپایل بود یا دلیل دیگه ای داره؟
                            12 میکرو ثانیه یک است و 9 میکرو ثانیه صفر است یعنی pwm است زمان یک بودن و صفر بودن آن یکی نیست اگر یک انتخاب کنید pto است.
                            ولی همانطور که دوستمون گفتند این روش عملی نیست و باید از تایمر استفاده کنید.

                            موفق باشید

                            دیدگاه


                              #15
                              پاسخ : ساختن فرکانس با میکرو ؟

                              نوشته اصلی توسط علی حیاتی

                              12 میکرو ثانیه یک است و 9 میکرو ثانیه صفر است یعنی pwm است زمان یک بودن و صفر بودن آن یکی نیست اگر یک انتخاب کنید pto است.
                              نه جناب حیاتی

                              12 میکرو ثانیه 1 و 12 میکرو ثانیه 0 است . در واقع 9 میکرو ثانیه + تاخیر حلقه loop همان 12 میکرو ثانیه می شود.


                              دیدگاه

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