اطلاعیه

Collapse
No announcement yet.

کمک برنامه نویسی بسکام در مورد کریستال زمان

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

    کمک برنامه نویسی بسکام در مورد کریستال زمان

    دوستان سلام. من یه برنامه ساده نوشتم و میخوام چندتا فرکانس ساده رو بسازم. ولی هنگام شبیه سازی متوجه شدم که چون کریستال داخلی ATMEGA 8 هشت مگاهرتز هست زمان هایی که توی برنامه برای تاخیر نوشتم درست اجرا نمیشن. میشه کمک کنید من زیاد در این مورد اطلاعاتی ندارم.
    میخوام تاخیر در حد میکرو ثانیه ایجاد کنم چیکار کنم از کریستال خارجی استفاده کنم یا راهی وجود داره. اگه باید از کریستال خارجی استفاده کنم لطفا راهنمایی کنید ممنونم
    یه جور دیگه سوالمو میگم شاید بهتر متوجه بشید
    من میخوام فرکانس 50کیلو هرتز رو با میکرو ATMEGA8 تولید کنم. من برنامه زیر رو نوشتم اما درست جواب نمیده.
    do
    set portb.o
    waitus 10
    reset portb.o
    waitus 10
    loop
    برخی آدمها[ تنها ] به یک دلیل از مسیر زندگی ما می گذرند [ تا ] به ما درسهایی بیاموزند ؛ که اگر می ماندند هرگز [ آن درسها را ] یاد نمی گرفتیم …

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

    اگه میخواین که زمانبندی ها تون دقیق باشن باید از کریستال خارجی استفاده کنین
    من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
    آلبرت اینشتین
    منبع: http://fa.wikiquote.org

    دیدگاه


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

      نوشته اصلی توسط silicon0
      اگه میخواین که زمانبندی ها تون دقیق باشن باید از کریستال خارجی استفاده کنین
      با تشکر از جوابتون
      فرقی نمیکنه از چه کریستالی استفاده کنم؟ 4MHz یا 8MHz یا باید از کریستال ساعت استفاده کنم (32768Hz) ؟
      برخی آدمها[ تنها ] به یک دلیل از مسیر زندگی ما می گذرند [ تا ] به ما درسهایی بیاموزند ؛ که اگر می ماندند هرگز [ آن درسها را ] یاد نمی گرفتیم …

      دیدگاه


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

        فرقی نمی کنه از چه کریستالی استفاده کنید چون دستورات تاخیر (waitus-waitms-wait-delay) به هیچ وجه دقیق نیستند و برای ساخت سیگنال های با فرکانس دقیق مناسب نیستند. باید از تایمرها استفاده کنید. ممکنه بتونید فرکانس ثابت درست کنید اما مقدار فرکانس رو نمی تونید به طور دقیق با دستورات تاخیر اعمال کنید.

        دیدگاه


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

          نوشته اصلی توسط aed
          فرقی نمی کنه از چه کریستالی استفاده کنید چون دستورات تاخیر (waitus-waitms-wait-delay) به هیچ وجه دقیق نیستند و برای ساخت سیگنال های با فرکانس دقیق مناسب نیستند. باید از تایمرها استفاده کنید. ممکنه بتونید فرکانس ثابت درست کنید اما مقدار فرکانس رو نمی تونید به طور دقیق با دستورات تاخیر اعمال کنید.
          lممنون از چوابتون. یک سوال کریستال خارجی هرچی بالاتر بره دقیق تر میشه یا پایین تر بره؟
          برخی آدمها[ تنها ] به یک دلیل از مسیر زندگی ما می گذرند [ تا ] به ما درسهایی بیاموزند ؛ که اگر می ماندند هرگز [ آن درسها را ] یاد نمی گرفتیم …

          دیدگاه


            #6
            پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

            در مورد دقت نمی دونم ولی اگر مدار با فرکانس پائین کار می کند، فرکانس را زیاد بالا نبرید. در فرکانس های بالا، تاثیر نویز بر عملکرد سیستم بیشتر است. بهترین گزینه استفاده از اسیلاتور و تنظیم میکرو برای کلاک خارجی است.

            دیدگاه


              #7
              پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

              باسلام دوست من اگر شما این فرکانس برای تولید انواج التراسونیک میخواین بهتره که از opamp استفاده کنید اما میکرو یک دستور داره که میتونی پالس تولید کنی که به نسبت فرکانس کار میکرو خواهدبود.برای نمونه با فرکانس 4MHZ زمان 1us میباشد
              crystal=4000000
              config portD=output
              do
              pulseout portd,7,500
              loop
              موفق باشید

              دیدگاه


                #8
                پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

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

                دیدگاه


                  #9
                  پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

                  نوشته اصلی توسط mehrzad119
                  باسلام دوست من اگر شما این فرکانس برای تولید انواج التراسونیک میخواین بهتره که از opamp استفاده کنید اما میکرو یک دستور داره که میتونی پالس تولید کنی که به نسبت فرکانس کار میکرو خواهدبود.برای نمونه با فرکانس 4MHZ زمان 1us میباشد
                  crystal=4000000
                  config portD=output
                  do
                  pulseout portd,7,500
                  loop
                  موفق باشید
                  ممنون از راهنماییتون من هم با دستور بالا که نوشتین موافقم. این دستوری که نوشتین چند هرتز هست؟
                  (فرمول نسبت فرکانس کاری میکرو با پالس خروجی رو میتونید توضیح بدید؟)
                  برخی آدمها[ تنها ] به یک دلیل از مسیر زندگی ما می گذرند [ تا ] به ما درسهایی بیاموزند ؛ که اگر می ماندند هرگز [ آن درسها را ] یاد نمی گرفتیم …

                  دیدگاه


                    #10
                    پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

                    نوشته اصلی توسط PouYa007
                    یک سوال کریستال خارجی هرچی بالاتر بره دقیق تر میشه یا پایین تر بره؟
                    باسلام
                    کریستال هرچه بالاتر بره سرعت سیستم بیشتر میشه. (البته تاثیر نویز روی سیستم هم بیشتر میشه!)
                    ================================================== ==========
                    برای اینکاری که گفتید بهتره از تایمر استفاده کنید (تایمر داخلی دقت زیادی نداره پس بهتره از تایمر خارجی استفاده کنید.)
                    1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
                    من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
                    !Electronic On! Programming On
                    هوشمندانه سوال بپرسیم!
                    http://ir02x6.persiangig.com/logo/eca/tanks_01.png

                    دیدگاه


                      #11
                      پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

                      نوشته اصلی توسط Mahan.Rafiee
                      باسلام
                      کریستال هرچه بالاتر بره سرعت سیستم بیشتر میشه. (البته تاثیر نویز روی سیستم هم بیشتر میشه!)
                      ================================================== ==========
                      برای اینکاری که گفتید بهتره از تایمر استفاده کنید (تایمر داخلی دقت زیادی نداره پس بهتره از تایمر خارجی استفاده کنید.)
                      یادم رفت بگم!
                      فقط تا 16 مگاهرتز میتونید به میکرو کلاک بدید وگرنه سیسیتم بهم میریزه!
                      در ضمن باید فیوزبیت هارا متناسب با کریسالی که میخواید وصل کنید تنظیم کنید.
                      1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
                      من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
                      !Electronic On! Programming On
                      هوشمندانه سوال بپرسیم!
                      http://ir02x6.persiangig.com/logo/eca/tanks_01.png

                      دیدگاه


                        #12
                        پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

                        سلام بر دوستان
                        crystal=4000000
                        config portd=output
                        do
                        pulseout portd,7,500
                        loop
                        500us on----500us off)
                        کریستال برای سرعت کار میکرو است .شما ازاسیلاتور داخلی میکرو استفاده کنید وفرکانسش 8MHZ است

                        دیدگاه


                          #13
                          پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

                          باپرتیوزمدارببند تست کن

                          دیدگاه


                            #14
                            پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

                            نوشته اصلی توسط mehrzad119
                            سلام بر دوستان
                            crystal=4000000
                            config portd=output
                            do
                            pulseout portd,7,500
                            loop
                            500us on----500us off)
                            کریستال برای سرعت کار میکرو است .شما ازاسیلاتور داخلی میکرو استفاده کنید وفرکانسش 8MHZ است
                            سلام ممنون متوجه شدم برای PULESOUT PORTD , 7 , 500 زمان یک بودن 500 و صفر بودن هم 500 میکرو ثانیه هست پس این دستور فرکانس 1KHz رو تولید میکنه.
                            برخی آدمها[ تنها ] به یک دلیل از مسیر زندگی ما می گذرند [ تا ] به ما درسهایی بیاموزند ؛ که اگر می ماندند هرگز [ آن درسها را ] یاد نمی گرفتیم …

                            دیدگاه


                              #15
                              پاسخ : کمک برنامه نویسی بسکام در مورد کریستال زمان

                              دوستان سلام . من هر کاری میکنم شکل موج خروجی به شکل زیر هست و با تغییر مقادیر فرکانس فقط زمان یک بودن تغییر میکنه
                              و من میخوام زمان صفر بودن و یک بودن مساوی باشه و بتونم فرکانس های مختلفی بسازم؟
                              برخی آدمها[ تنها ] به یک دلیل از مسیر زندگی ما می گذرند [ تا ] به ما درسهایی بیاموزند ؛ که اگر می ماندند هرگز [ آن درسها را ] یاد نمی گرفتیم …

                              دیدگاه

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