اطلاعیه

Collapse
No announcement yet.

مشکل با وقفه خارجی(INT 0)میکرو

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

    #16
    پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

    سلام .
    داش BABY وقتی از POWERDOWN استفاده میکنم میکرو به حالت SLEEPمیره ولی وقتی پایه رو یک میکنم دیگه میکرو راه اندازی نمیشه و دستور CASE 1 رو اجرا نمیکنه (میکرو خاموش هست)

    وقتی دستور POWER DOWN رو که برداشتم CASE 1 هم اجرا میشه .مشکل الان در قسمت POWER DOWN هست که بعد ازSLEEP دیگه را اندازی نمیشه .بنظرتون به خاطر چی هست؟؟
    یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

    دیدگاه


      #17
      پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

      شما که پیداتون نیس لا اقل ما مشکلاتمون رو مطرح کنیم. :cry: :cry: :cry2: :cry2: :cry2:

      الان برنامه در وضعیتی هست که از مد POWER DOWN استفاده نمیکنم .الان دستور CASE 0 وCASE 1دوبار اجرا میشه.


      In:
      Select Case Pind.2
      Case 0:
      Set Portc.5
      Waitms 900
      Reset Portc.5
      Waitms 900
      Set Portc.5
      Wait 2
      Reset Portc.5
      Cls
      Return


      Case 1:
      Set Portc.4
      Waitms 900
      Reset Portc.4
      Waitms 900
      Set Portc.4
      Wait 2
      Reset Portc.4
      End Select
      Return

      قانونا وقتی برق قطع و وصل میشه باید این دستورات برا هر کدومش یکبار اجرا بشه .ولی هر کدومش دو بار اجرا میشه
      یه جواری تداخل داره بعضی مواقع جابه جا رله ها خاموش و روشن میشه .که حدسم میزنه از pull down باشه
      یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

      دیدگاه


        #18
        پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

        سلام
        دوستان من میکرو رو به حالت power down میبرم ولی وقتی پایه INT 0 رو 1 یا (تحریک)میکنم ،میکرو راه اندازی نمیشه و از SLEEP خارج نمیشه .این به خاطر چی میتونه باشه ؟؟
        یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

        دیدگاه


          #19
          پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

          سلام
          لطفا کانفیگ ها رو هم بزار! اگه سکرت نیست

          دیدگاه


            #20
            پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

            نوشته اصلی توسط علی علی پور ریکنده

            اگه سکرت نیست
            منظورت از سکرت همون سکلت هست دیگه (موتور سکلت) :icon_razz: :icon_razz: :icon_razz:

            منظورت از کانفیگ پورت INT 0 هست ؟؟؟
            اگر منظورت اینه بیا عزیز دل انگیز Config Portd.2 = Input

            یا اگر چیز دیگه ای هست بگو تا بذارم
            یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

            دیدگاه


              #21
              پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

              کلا بالای برنامت قبل از حلقه اصلی هر چی هست میشه کافیگ

              دیدگاه


                #22
                پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                سلام
                خوب بزارین بهتر توضیح بدم
                اگر به حالت powerdown وارد بشین یه مشکل هست اونم اینکه باید
                Config Int0 =change
                تبدیل به
                Config Int0 = Low Level

                بشه تا میکرو از حالت powerdown خارج بشه (این ساختار این دستور هست) یعنی اگر لبه بالارونده یا پایین رونده یا change اعمال بشه میکرو از این حالت خارج نمی شه تا خروجی حتما باید سطح صفر به خودش بگیره و config هم باید تغییر پیدا کنه.

                با برنامه جدید هم که نوشتین مدار هم قرار بدین تا بهتر بشه کمکتون کرد
                هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                دیدگاه


                  #23
                  پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                  نوشته اصلی توسط baby_1
                  سلام
                  خوب بزارین بهتر توضیح بدم
                  اگر به حالت powerdown وارد بشین یه مشکل هست اونم اینکه باید
                  Config Int0 =change
                  تبدیل به
                  Config Int0 = Low Level

                  بشه تا میکرو از حالت powerdown خارج بشه (این ساختار این دستور هست) یعنی اگر لبه بالارونده یا پایین رونده یا change اعمال بشه میکرو از این حالت خارج نمی شه تا خروجی حتما باید سطح صفر به خودش بگیره و config هم باید تغییر پیدا کنه.

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

                  http://www.up.98ia.com/images/1a1axqkb279sm6g982qs.rar

                  هدف اصلی کار من اینه ::
                  1--وقتی برق قطع میشه یه رله فعال بشه و در نهایت میکرو به حالت POWER DOWN بره
                  2=وقتی برق وصل میشه میکرو راه اندازی بشه و یه رله وصل بشه و و روند مابقی برنامه طی بشه



                  الان شماتیک مدار اینه .2 تا LED حکم رله رو داره که وقتی برق قطع و وصل میشه این رله ها روشن و خاموش میشوند.
                  یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                  دیدگاه


                    #24
                    پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                    سلام و شرمنده دیر می رسم جواب بدم
                    PORTD.0 بیانگر این هست که میکرو در حال کار هست و در محیط powerdown وارد نشده
                    برای اینکه از حالت استراحت خارج بشه تغییر کانفیگ وقفه رو دادم به علاوه اینکه یه آی سی 4049 بافر معکوس قرار دادم

                    اگر برق بره مثل این می مونه که کلید فشار داده شده یعنی خروجی به سطح یه می ره و میکرو powerdown می شه در غیر اینصورت میکرو فعالیت خودش که خاموش و روشن کردن portd.0 هست رو ادامه می ده


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

                    http://vip.eca.ir/sharing/uploads/13398565181.rar
                    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                    دیدگاه


                      #25
                      پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                      وقفه خارجی رو حساس به سطح کن(Low Level)و پایه وقفه رو با 1k به vcc وصل کن.کلید یا رله به صورتی که باشه که صفر رو به پایه وقفه برسونه.
                      اگر جواب نداد از مد IDLE استفاده کن.
                      انا لله و انا اليه الراجعون

                      دیدگاه


                        #26
                        پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                        نوشته اصلی توسط شاهین شرق
                        وقفه خارجی رو حساس به سطح کن(Low Level)و پایه وقفه رو با 1k به vcc وصل کن.کلید یا رله به صورتی که باشه که صفر رو به پایه وقفه برسونه.
                        اگر جواب نداد از مد IDLE استفاده کن.
                        سلام
                        پایه وقفه رو با 1k به vcc وصل کن. منظورتون اینه که pull up کنم ؟؟این پایه همیشه 5 ولت روش هست ،پس باید pull down بشه .
                        یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                        دیدگاه


                          #27
                          پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                          نوشته اصلی توسط baby_1
                          سلام و شرمنده دیر می رسم جواب بدم
                          PORTD.0 بیانگر این هست که میکرو در حال کار هست و در محیط powerdown وارد نشده
                          برای اینکه از حالت استراحت خارج بشه تغییر کانفیگ وقفه رو دادم به علاوه اینکه یه آی سی 4049 بافر معکوس قرار دادم

                          اگر برق بره مثل این می مونه که کلید فشار داده شده یعنی خروجی به سطح یه می ره و میکرو powerdown می شه در غیر اینصورت میکرو فعالیت خودش که خاموش و روشن کردن portd.0 هست رو ادامه می ده


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

                          http://vip.eca.ir/sharing/uploads/13398565181.rar
                          سلام مرسی از راهنمایتون .
                          میشه در مورد این قسمت ها توضیح بدید

                          Do
                          If Pind.2 = 1 Then
                          Reset Portc.5
                          Set Portc.4
                          Powerdown
                          End If
                          Toggle Portd.0
                          Loop
                          End

                          و این قسمت

                          Baby:
                          Set Portc.5
                          Reset Portc.4
                          Return

                          چرا این قسمت رو set وreset گذاشتی؟ وقتی برق میره یک رله باید فعال بشه وقتی برق هم میاد یه رله باید فعال بشه .

                          اگر بخایم از مد idle استفاده کنیم بهتر و راحتتر نیست؟؟ چون نمیخام از ای سی 4049 استفاده کنم
                          یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                          دیدگاه


                            #28
                            پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                            سلام
                            این قسمت بدنه اصلی برنامه هست

                            Do
                            If Pind.2 = 1 Then
                            Reset Portc.5
                            Set Portc.4
                            Powerdown
                            End If
                            Toggle Portd.0
                            Loop
                            End

                            در دستور زیر چک می کنه که اگر برق رفته باشه یکی از led ها رو خاموش و دیگری رو روشن می کنه
                            If Pind.2 = 1 Then
                            Reset Portc.5
                            Set Portc.4
                            Powerdown
                            End If
                            اگر می خواین تنها یکی روشن بشه همون رو حذف یا تغییر بدین


                            Baby:
                            Set Portc.5
                            Reset Portc.4
                            Return

                            این قسمت هم موقع برق اومدن که با برق امدن یکی از led ها که اگر تو حالت خاموشی بوده روشن و دیگری خاموش می شه دقیقا مثل بالا هر کدوم رو که می خواین حذف کنین

                            با حالت idle مشکلی نخواهین داشت


                            هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                            دیدگاه


                              #29
                              پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                              اگر بخایم از مد IDLE استفاده کنیم باید همین مراحل POWER DOWN رو طی کنیم ؟؟؟

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

                              دیدگاه


                                #30
                                پاسخ : مشکل با وقفه خارجی(INT 0)میکرو

                                دوستان ببخشید یهو میام وسط بحث ولی چندتا نکته مهم رو بهتره بعد از خوندن تمامی مطالب بگم :

                                1- شما میتونید در روتین وقفه حساسیت اون رو تغییر بدید. مثلا در روتین روشن شدن حساسیت رو رو سطح پایین بیاری و در روتین سطح پایین (خاموش شدن) حساسیت رو روی لبه بالا بزاری.
                                2- چون ولتاژ رگولاتور مستقیم میرسه پس میکنه از ولتاژ کاری میکرو بیشتر باشه که اگه این تفاوت طبق دیتاشیت بیشتر از 0.5 ولت بشه مشکل ساز میشه. پس بهتره که از یه رله یا اپتوکوپلر یا سوییچ ترانزیستوری استفاده کنی که قبلا گفتم چطوری.
                                3- چون وقتی برق میره ولتاژ رگولاتور قطع میشه به معنی صفر شدن ولتاژ نیست. باید پایه میکرو رو با یه مقاومت بین 10K تا 47K زمین کنی.
                                4- پایه میکرو رو در تمام برنامه بصورت ورودی و ست شده نگه دار.
                                5- هیچ وقت زمانی که وقفه رو فعال میکنی نباید در طی برنامه اون رو از ورودی به خروجی تغییر بدی یا سطح ولتاژ ست یا ریست پایه رو تغییر بدی چون باعث رخداد وقفه میشه. (طبق دیتاشیت)

                                یه خواهش بزرگ هم دارم دوستان اگه حرفی میزنن مستدل باشه و حدث میزنم نباشه چون متاسفانه خیلی اشتباهات تو نظرات بعضی دوستان دیدم. شرمنده متذکر میشم. با تشکر از راهنمایی های خوب دوستمون baby
                                Love is the slowest way of suicide

                                دیدگاه

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