اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام خدمت مهندسین عزیز ، میخوام یه پالسی که با گیرنده فرستنده مادون قرمز و آی سی LM324 درست کردم به یکی از پایه های مگا8 بدم و میکرو کنترل کنه ببینه آیا پالس میاد ( در یک بازه زمانی مشخص مثلاً یک ثانیه ) یا نه که وقتی نیومد به یک رله فرمان روشن بده .در صورت امکان نمونه کد در محیط BaSComeAVR می خواستم .

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

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

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

    دیدگاه


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

      سلام و تشکر ، من با وقفه ها زیاد آشنایی ندارم ، میتونی در برنامه نویسی کمکم کنی ؟ یه مثال کوچیک میتونی بزنی؟ خودم شروع میکنم لطفاً کمک کنید تکمیلش کنم


      $regfile = "m8def.dat"
      $crystal = 8000000
      '----------

      Config Lcd = 16 * 2
      Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = _
      Portc.3 , Db6 = Portc.4 , Db7 = Portc.5

      Config Int0 = Rising
      Enable Interrupts
      On Int0 Q

      Do
      lcd"no pulse"
      Loop
      End

      Q:
      lcd "pulse in "

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

      دیدگاه


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

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

        دیدگاه


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

          در مورد وقفه ها چشم اما من با پروتوس کار نمیکنم شاید یه مشگل تو شبیه سازی باشه
          البته عنایت داشته باشین برای کار شما باید دوتا ورودی رو فعال کنیم یکی برای لبه بالا یکی برای لبه پاین
          بعد یه تایمر عکس العمل نشون بده البته اگر میکرو وطیفه دیگه ای نداره بدون ئقفه هم میشه برنامه رو نوشت من یه کار بهم خورده اعصابمو خراب کرده تا فردا به امید حق تمومش میکنم فردا شب براتون پست میزارم شب خوش
          بعدا یه جمله قشنگ مینویسم

          دیدگاه


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

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

            دیدگاه


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

              خوب شما که خودت برنامرو نوشتی
              1- شما دوتا ورودی رو به عنوان وقفه معرفی کنید یکی با لبه بالا رونده یکی با لبه پایین رونده
              2- با کوپلر یا هر وسیله ای اونا رو به ورودی پالسها مرتبط کنید
              3- با فعال شدن وقفه با لبه بالا رونده تایمر استارت میشه
              4- بارسیدن وقفه لبه پایین رونده تایمر صفر میشه و منتطر وقفه لبه بالا رونده میمونه
              5 -زمان تایمر با پهنای پالس شما تنظیم میشه و در صورت بیشتر شدن ونرسیدن پالس یا به عبارتی لبه پاین رونده تایمر سرریز میشه و در منوی سرریز تایمر هر کاری میخاهید انجام بدید
              بعدا یه جمله قشنگ مینویسم

              دیدگاه


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

                با سلام وتشکر آیا مثلاً با دستور Debounce Pind.0 , 1 , Q هم میشه این کار را انجام داد؟
                در آدمي عشقي و دردي هست که اگر صد هزار عالم ملک او شود آرام نگيرد. اين خلق به تفضيل در هر پيشه اي تحصيل نجوم و طب و غير ذالک مي کنند و هيچ آرام نمي گيرند زيرا مقصود به دست نيامده است. آخر معشوق را دل آرام مي گويند يعني که دل به وي آرام گيرد پس به غير، چون آرام و قرار گيرد؟ اين جمله خوشي ها و مقصود ها چون نردباني است و چون پايه هاي نردبان جاي اقامت و باش نيست، از بهر گذشتن است. خنک او را که زود تر بيدار و واقف گردد تا راه دراز برو کوته شود و درين پايه هاي نردبان عمر خود را را ضايع نکند.

                دیدگاه


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

                  البته در ابتدا عرض کردم اگه میکرو در گیر کارهای دیگه نیست با دستورات شرطی هم میتونین اینکارو انجام بدین مثلا
                  Debounce Pind.0 , 1 , Q
                  یا این if pind.0=0 then goto Q
                  یا هر روش دیگری
                  البته روی دوتا ورودی

                  A :
                  if pind.0=0 then goto Q
                  if pind.1=1 then goto Q1
                  GOTO A
                  حالا هر وقت سیگنال دیده بشه برنامه میره به
                  : Q1
                  TIMER1 = XXXX
                  START TIMER 1
                  GOTO A
                  یعنی با دیدن پالس تایمر با مقدار مورد نظر که بستگی به پهنای پالس شما داره استارت میشه
                  با صفر شدن سیگنال برنامه میره به خط
                  : Q
                  STOP TIMER1
                  TIMER1=0
                  GOTOA

                  حالا اگر در زمان مورد نظر این اتفاق نیفته برنامه میره روی منوی تایمر


                  T1 :
                  XXXXXXXX
                  بعدا یه جمله قشنگ مینویسم

                  دیدگاه


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

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

                    دیدگاه

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