اطلاعیه

Collapse
No announcement yet.

دستور به میکرو توسط خط تلفن (فوری)

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

    #91
    پاسخ : دستور به میکرو توسط خط تلفن (فوری)

    سلام. مدار DTMF رو جداگانه و همونطور که شما میگید بستم و وقتی یک عدد رو میزنی پایه std یک لحظه 1 و بعد دوباره 0(خاموش) میشه. تنها مشکلی که وجود داره اینه که کد تولید شده در خروجی آی سی همون معادل BCD عدد فشرده شده نیست.

    * مدار آشکارساز رو دوباره بستم(البته خازن c1 رو عوض کردم) و خوشبختانه دیگه بلافاصله خط اشغال نمیشه و همچنین پایه وقفه int0 میکرو هم درست عمل میکنه اما الآن مشکلی که دارم اینه که (طبق برنامه میکرو)میکرو باید 5 تا بوق آزاد صبر کنه و بعد وقفه int0 که به رله وصل شده رو فعال کنه
    اما
    وقفه بعد یک بوق فعال میشه.به نظرتون علتش چی هست؟

    به نظر شما این قسمت از کد برای شمردن تعداد زنگها و فعال کردن وقفه int0 کافیه؟ مشکلی نداره؟


    interrupt[EXT_INT0]
    void ring(void)
    {
    tone++;
    if(tone==5)//تعداد زنگ ها
    {
    PORTB.5=0;//فرمان وصل رله برای اشغال کردن خط تلفن

    tone=0;

    دیدگاه


      #92
      پاسخ : دستور به میکرو توسط خط تلفن (فوری)

      نوشته اصلی توسط matt
      سلام. مدار DTMF رو جداگانه و همونطور که شما میگید بستم و وقتی یک عدد رو میزنی پایه std یک لحظه 1 و بعد دوباره 0(خاموش) میشه. تنها مشکلی که وجود داره اینه که کد تولید شده در خروجی آی سی همون معادل BCD عدد فشرده شده نیست.

      * مدار آشکارساز رو دوباره بستم(البته خازن c1 رو عوض کردم) و خوشبختانه دیگه بلافاصله خط اشغال نمیشه و همچنین پایه وقفه int0 میکرو هم درست عمل میکنه اما الآن مشکلی که دارم اینه که (طبق برنامه میکرو)میکرو باید 5 تا بوق آزاد صبر کنه و بعد وقفه int0 که به رله وصل شده رو فعال کنه
      اما
      وقفه بعد یک بوق فعال میشه.به نظرتون علتش چی هست؟

      به نظر شما این قسمت از کد برای شمردن تعداد زنگها و فعال کردن وقفه int0 کافیه؟ مشکلی نداره؟


      interrupt[EXT_INT0]
      void ring(void)
      {
      tone++;
      if(tone==5)//تعداد زنگ ها
      {
      PORTB.5=0;//فرمان وصل رله برای اشغال کردن خط تلفن

      tone=0;
      سلام.این برنامه مشکل نداره(چیزیم نداره نگاهش کنید یه دستور سادس)مدارو دقیق همونو بستی؟اون مقاومت خروجی اپتوکوپلرو گزاشتی؟اپتو کوپلرتو عوض کردی 4پایه بزاری؟مشکل از این 2جا میتونه باشه فقط
      برای mt8870یه آی سی دیگه امتحان کن اگه میشه شاید مشکل از آی سی باشه اگه مدارش درسته

      دیدگاه


        #93
        پاسخ : دستور به میکرو توسط خط تلفن (فوری)

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

        * امروز رفتم و یک آی سی dtmf دیگه خریدم اما بازم کدهای خروجی تولید شده آی سی جابجاست :surprised:

        * راستی اون رله دومی که دو تا ترانزیستور داشت و کد مربوط بهش رو به مدار اضافه کنم یا نه؟

        دیدگاه


          #94
          پاسخ : دستور به میکرو توسط خط تلفن (فوری)

          نوشته اصلی توسط matt
          بله.مقاومت خروجی اپتوکوپلر رو که گذاشتم.الآن دیگه خط اشغال نمیشه اما مشکل اینجاست که میکرو تا 5 تا بوق آزاد صبر نمیکنه و بعد پایه INT0 رو فعال کنه.به عبارت دیگه بعد یک بوق آزاد پایه وقفه صفر میشه.
          مگه دلیل این کار چیزی غیر برنامه میکرو میتونه باشه؟
          میکرو هست که پایه وقفه رو فعال میکنه.پس مشکل اینجاست که انگار زیرروال وقفه ای که برای پایه int0 نوشته شده ایراد داره.

          * امروز رفتم و یک آی سی dtmf دیگه خریدم اما بازم کدهای خروجی تولید شده آی سی جابجاست :surprised:

          * راستی اون رله دومی که دو تا ترانزیستور داشت و کد مربوط بهش رو به مدار اضافه کنم یا نه؟
          اون قسمت دوم رااضافه نکن.اپتوکوپلرت چی عوضش کردی؟مطمئنی مدارو درست بستی؟میتونی مدارو بزاری ببینم؟

          دیدگاه


            #95
            پاسخ : دستور به میکرو توسط خط تلفن (فوری)

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

            عکس مدار رو چطور باید بفرستم؟؟؟!!!!!! :sad:

            دیدگاه


              #96
              پاسخ : دستور به میکرو توسط خط تلفن (فوری)

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

              عکس مدار رو چطور باید بفرستم؟؟؟!!!!!! :sad:
              اون پالسی که ساخته میشه حتما خرابه مثلا با یه بوق خوردن 5تا پالس درست بشه.اسیلوسکوپ نداریم که اینو الان چک کنیم مجبوریم واسه احتمالش بگیم مشکل از اینه شایدم اشتباه باشه.من با قطعات اون مدار جواب گرفتم مشکلم نداشتم حتی با mt8870دو نفرم توی همین پست نتیجه گرفتن.عکس بنداز پلودش کن

              دیدگاه

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