قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

سعد القاضي
:: مهندس ::
تاريخ التسجيل: Mar 2012
المشاركات: 16
نشاط [ سعد القاضي ]
قوة السمعة:
قديم 05-06-2014, 11:56 PM المشاركة 9   
افتراضي



قمت بالتعديل على ملف dtmf_8_relays.DSN


http://www.gulfup.com/?scOdx2

حتى اوضح لك ما اريد بالفعل هل الرجل 6 و 7 يصبح عليها 5 فولت بعد ان اقوم بالضغط على # ومن ثم 1
بعد هذا التعدبل؟؟؟

اعلانات

سعد القاضي
:: مهندس ::
تاريخ التسجيل: Mar 2012
المشاركات: 16
نشاط [ سعد القاضي ]
قوة السمعة:
قديم 06-06-2014, 12:03 AM المشاركة 10   
افتراضي


عذرا 6 و 7 من 18f84a

وبالنسبة للكريستال بين 15 و 16 ما قيمتها ؟؟؟

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 06-06-2014, 05:05 AM المشاركة 11   
افتراضي


قمت بالتعديل على ملف dtmf_8_relays.DSN


http://www.gulfup.com/?scOdx2

حتى اوضح لك ما اريد بالفعل هل الرجل 6 و 7 يصبح عليها 5 فولت بعد ان اقوم بالضغط على # ومن ثم 1
بعد هذا التعدبل؟؟؟
عذرا لم أتمكن من تحميل ملف ارجو اعاده رفعه
تحياتي


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 06-06-2014, 05:06 AM المشاركة 12   
افتراضي


عذرا 6 و 7 من 18f84a

وبالنسبة للكريستال بين 15 و 16 ما قيمتها ؟؟؟
قيمتها 4 ميكاهيرتز يمكنك معرفه قيمتها بالضغط عليها في بروتيس


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 06-06-2014, 05:11 AM المشاركة 13   
افتراضي


قمت بالتعديل على ملف dtmf_8_relays.DSN


http://www.gulfup.com/?scOdx2

حتى اوضح لك ما اريد بالفعل هل الرجل 6 و 7 يصبح عليها 5 فولت بعد ان اقوم بالضغط على # ومن ثم 1
بعد هذا التعدبل؟؟؟
عند الضغط على # يضيئ ليد في رجل رقم 7 لدلاله على انه تم بدء بقراءه البيانات ويقوم ايضا بتفعيل مقاطعه تايمر0 لغرض أحتساب الوقت 10 ثواني لغرض ايقاف العمليه
اما الرجل 6 يصبح 5 فولت عندما تضغط على # ومن ثم 1


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 06-06-2014, 05:58 AM المشاركة 14   
افتراضي


السلام عليكم
تم تعديل على مشروع
http://up.top4top.net/downloadf-top4...a8ad1-rar.html

تجد ملف اسمه dtmf_relay_final وهو ملف مخطط كامل للمشروع
ويمكن استفاد من هذا مخطط لربط سماعه تليفون مع 8870
http://www.8051projects.net/files/pu..._interface.jpg

من ناحيه التعقيد في الكود فلا ارى اي تعقيد لانه عندما تضغط مثلا # فانه لابد من قراءه الكود ومن ثم عمل مقارنه له

على عموم أختصرت كود قراءه من متكامله 8870 لفقط 0 و 1 و # وبقيه تم حذفهم

بأختصار
هذا كود مجرد تعاريف فقط يعني اقصد مثلا DTMF0 اعرفته هو نفسه porta.f0 وبتالي بدلا من استخدم porta.f0 في برمجه أستخدم DTMF0 لاني قمت بتعريفه على انه porta.f0
كود:
#define new_click              porta.f4
#define new_click_dir          trisa.f4
#define DTMF0                  porta.f0
#define DTMF0_dir              trisa.f0
#define DTMF1                  porta.f1
#define DTMF1_dir              trisa.f1
#define DTMF2                  porta.f2
#define DTMF2_dir              trisa.f2
#define DTMF3                  porta.f3
#define DTMF3_dir              trisa.f3
#define relay                  portb.f0
#define relay_dir              trisb.f0
#define led_data                 portb.f1
#define led_data_dir              trisb.f1

اما هذا الكود لتهيئه مايكرو (( كمداخل ومخارج))
كود:
void init()
{
  DTMF0_dir=1; // input
  DTMF1_dir=1;
  DTMF2_dir=1;
  DTMF3_dir=1;
  new_click_dir=1;
  relay_dir=0; // output
  relay=0;// off  relays
  led_data =0;//off led
  led_data_dir=0;//output
}

اما هذا الكود هو كود مقاطعه لغرض أحتساب 10 ثواني
كود:
//Timer0
//Prescaler 1:128; TMR0 Preload = 100; Actual Interrupt Time : 19.968 ms

//Place/Copy this part in declaration section
void InitTimer0(){
  OPTION_REG         = 0x86;
  TMR0                 = 100;
  INTCON         = 0;
}

void Interrupt(){
  if (TMR0IF_bit){
    TMR0IF_bit         = 0;
    TMR0                 = 100;
    //Enter your code here
    timer++;
    if(timer>500){ //10 sec
                   timer=0;
                   flag_data=0;
                 }
  }
}

هذا الكود لقراءه من متكامله 8870
كود:
if(new_click ==1){
                           code1=255;// intial value

                           if(DTMF3==1 && DTMF2==0&& DTMF1==1&& DTMF0==0) //0
                                       {
                                        code1=0;
                                       }
                           else if(DTMF3==0 && DTMF2==0&& DTMF1==0&& DTMF0==1) //1
                                       {
                                        code1=1;
                                       }

                           else if(DTMF3==1 && DTMF2==1&& DTMF1==0&& DTMF0==0) //#
                                       {
                                        code1='#';

                                       }
حيث أختصرته لفقط 0 و1 و#


اما هذا الكود لغرض التحقق مما تم قراءته من 8870

كود:
if( code1=='#')
                                           {
                                            cont=0;
                                            INTCON=0xA0;//enable interrupts
                                            flag_data=1;
                                            led_data=1;
                                           }
                           if(code1 !=255)
                                          {
                                           output_state[cont]=code1;
                                           cont++;
                                           if(cont==2)
                                                     {
                                                       if(output_state[0]=='#')flag_recive=1;
                                                     }
                                           }

اما هذا الكود لتشغيل وأطفاء الريلي
كود:
if(flag_recive==1 && cont==2)
                           {
                            if( output_state[1]==0 )
                                                     {
                                                      relay= 0; //  relays is OFF
                                                     }


                            else if( output_state[1]==1  )
                                                          {
                                                           relay= 1;// relay is ON
                                                          }

                            for(cont=0;cont<2;cont++)output_state[cont]=0xFF;// clear output_state
                            cont=0;
                            flag_recive=0;

                           }


سعد القاضي
:: مهندس ::
تاريخ التسجيل: Mar 2012
المشاركات: 16
نشاط [ سعد القاضي ]
قوة السمعة:
قديم 06-06-2014, 09:09 AM المشاركة 15   
افتراضي


مشكور جدادا جدا جدا الله يزوجك بنت حلال واذا كنت متزوج يزوج اولادك بنات حلال


سعد القاضي
:: مهندس ::
تاريخ التسجيل: Mar 2012
المشاركات: 16
نشاط [ سعد القاضي ]
قوة السمعة:
قديم 06-06-2014, 09:25 AM المشاركة 16   
افتراضي


العفو


بالنسبة للارجل 6 و 7 ايهما التي تضيئ بعد وضع الكود #1

وايهما تضيئ للاشارة الى ان البيك بدت جاهزة لاستقبال الكود


ونقطة اخره بالنسبة للصورة التي للتوصيل البيك مع الهاتف

ما هي القطعه الموصوله على الرجل 17 للبيك من الهاتف

شكرا



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:51 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)