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

أدوات الموضوع

mkopbophy
:: مهندس ::
تاريخ التسجيل: Feb 2007
المشاركات: 13
نشاط [ mkopbophy ]
قوة السمعة:0
قديم 05-10-2016, 10:38 PM المشاركة 1   
ha دائرة بسيطة للجمع Twitter FaceBook Google+



اريد عمل دائرة بسيطة تحتوى على 5 ازرار
عند الضغط على زر يقوم بجمع قيمة الرقم الخاص لهذا الزر وعند الضغط عليه
مره اخرى يقوم بجمعه ثانياً وعند الضغط على زر اخر يقوم باضافة قيمته بالجمع
مثال :
مفتاح خاص برقم 2 عند الضغط عليه مرتين يعطى 4 وعند الضغط عليه 5 مرات يعطى النتيجة 10 اى يجمع الرقم 5 مرات
واذا ضغطنا المفتاح الاخر وليكن قيمته 6 تقوم الدائرة بعملية جمع 6+10=16
ارجو الافادة وجزاكم الله خيراً

اعلانات

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 05-10-2016, 11:46 PM المشاركة 2   
افتراضي


اريد عمل دائرة بسيطة تحتوى على 5 ازرار
عند الضغط على زر يقوم بجمع قيمة الرقم الخاص لهذا الزر وعند الضغط عليه
مره اخرى يقوم بجمعه ثانياً وعند الضغط على زر اخر يقوم باضافة قيمته بالجمع
مثال :
مفتاح خاص برقم 2 عند الضغط عليه مرتين يعطى 4 وعند الضغط عليه 5 مرات يعطى النتيجة 10 اى يجمع الرقم 5 مرات
واذا ضغطنا المفتاح الاخر وليكن قيمته 6 تقوم الدائرة بعملية جمع 6+10=16
ارجو الافادة وجزاكم الله خيراً


السلام عليكم

أخى الكريم ...

لو أمكن بعض التوضيح لأن الموضوع كدة فيه غموض .,

ياريت توضح الفكرة العامه للدائرة وفيما تستخدم هل هى للجمع فقط ام يوجد مهام أخرى للدائرة ستقوم بتنفيذها عند الوصول لرقم معين ..

وايضااا هل النتائج ستظهر على شاشه 7SEGMENT ام شاشه بيكسل ..

نرجو التوضيح لكى نستطيع المساعدة .. انا وباقى الأخوة ..


تحياتى وبالتوفيق

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

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 06-10-2016, 02:28 AM المشاركة 3   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


يمكنك البداية هنا من خلال الدائرة القادمه ..

اليك الدائرة مع كود البرنامج


https://drive.google.com/file/d/0Bxg...ew?usp=sharing


كود

كود:
          unsigned short mask(unsigned short num);
unsigned int s1=0,s2=0,s3=0,s4=0,s5=0,s6=0;
      void interrupt(){
         porta=1;
      portb=mask(s1);
      delay_ms(10);
         porta=2;
      portb=mask(s2);
      delay_ms(10);
         porta=4;
      portb=mask(s3);
      delay_ms(10);
         porta=8;
      portb=mask(s4);
      delay_ms(10);
        porta=16;
      portb=mask(s5);
      delay_ms(10);

   INTCON=0b00100000;
       TMR0=0;
 }






      void number_1(){
      while(1){
      s1=3;

   if(PORTC.F0==1) { s1++; delay_ms(350);}


    }
    }


    void number_2() {
    while(1){




    }
    }


    void number_3() {
    while(1){



    }
    }

    void number_4() {
    while(1){


    }
    }

    void number_5() {

       while(1){


    }
    }












     void main() {
     
     adcon1=0x06;
     OPTION_REG=0x81;
     INTCON=0b10100000;
     TMR0=217;
     trisb=0; portb=0;
     trisa=0; porta=0;
     trisc=31; portc=0;
       
     while(1){
       
      
       
    
    
      if( PORTC.F0==1){ s1=1;  delay_ms(20); goto loop1;  }
      if( PORTC.F1==1 ) {  number_2; s2=2; delay_ms(20);  }
      if( PORTC.F2==1 ) {  number_3; s3=3; delay_ms(20);  }
      if( PORTC.F3==1 ) {  number_4; s4=4; delay_ms(20);  }
      if( PORTC.F4==1 ) {  number_5; s5=5; delay_ms(20);  }
      if( PORTC.F5==1 ) {                  delay_ms(20); }
       
       
    }
       
       loop1:
      while(1){
      


       if(PORTC.F0==1) { s1++; delay_ms(20);}


    }
       
       
       
       
       
       

}
 unsigned short mask(unsigned short num){
               switch (num){
 case 0 : return 0xC0;
 case 1 : return 0xF9;
 case 2 : return 0xA4;
 case 3 : return 0xB0;
 case 4 : return 0x99;
 case 5 : return 0x92;
 case 6 : return 0x82;
 case 7 : return 0xD8;
 case 8 : return 0x80;
 case 9 : return 0x90;
}
}

طبعاااا الكود غير كامل لأن لازم حضرتك تعطينى بعض التفاصيل عشان اقدر ابنى برنامج مناسب للدائرة ..

تحياتى وبالتوفيق


mkopbophy
:: مهندس ::
تاريخ التسجيل: Feb 2007
المشاركات: 13
نشاط [ mkopbophy ]
قوة السمعة:0
قديم 06-10-2016, 07:46 AM المشاركة 4   
افتراضي


شكراً لك م/ عبد الله على الرد السريع
هى دائرة للجمع فقط والنتيجة اريدها باى شكل سواء 7SEGMENT او غيرها المهم انها ارخص فى السعر


mkopbophy
:: مهندس ::
تاريخ التسجيل: Feb 2007
المشاركات: 13
نشاط [ mkopbophy ]
قوة السمعة:0
قديم 06-10-2016, 07:55 AM المشاركة 5   
افتراضي


رجاء كيف يمكن تغير قيم المفاتيح
و الفكرة هى اشبه بماكينة كاشير صغيرة لحساب الزبائن ولا تحتاج لمفاتيح كثيرة


التعديل الأخير تم بواسطة : mkopbophy بتاريخ 06-10-2016 الساعة 08:26 AM

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 08-10-2016, 12:54 AM المشاركة 6   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


شكراً لك م/ عبد الله على الرد السريع
هى دائرة للجمع فقط والنتيجة اريدها باى شكل سواء 7SEGMENT او غيرها المهم انها ارخص فى السعر
اقدر افهم من كلامك ان الكاشير دة زى الأله الحاسبه بس على كبير وشاشة كبيرة ..

ولا انت محتاج تعد .. عدد الزبائن فقط ؟


mkopbophy
:: مهندس ::
تاريخ التسجيل: Feb 2007
المشاركات: 13
نشاط [ mkopbophy ]
قوة السمعة:0
قديم 09-10-2016, 01:23 AM المشاركة 7   
ha


هو زى الالة الحاسبة بس اكون مش محتاج اكتب رقم رقم مجرد ضغطه تقوم باضافة قيمة المفتاح مثال:
زبون قام بشراء 8 قطع سعر القطعه 2 جنيه وقام بشراء 9 قطع سعر القطعه 2.5 جنيه لحسابه اقوم انا بالضغط 8 مرات على زر الاثنين جنيه وتسع مرات على زر الاثنين ونصف ليعطينى ناتج العمليه بسرعه وبسهوله
وياريت لو يكون حجمها على صغير زى الاله الحاسبة

وعدد المفاتيح هو (9) وهذه هى القيم

( 2 و 2.5 و 3 و 3.5 و 4 و 4.5 و 5 و 5.5 و 6.5 )


ولك جزيل الشكر م/ عبد الله


التعديل الأخير تم بواسطة : mkopbophy بتاريخ 09-10-2016 الساعة 01:32 AM

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 10-10-2016, 03:33 AM المشاركة 8   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


هو زى الالة الحاسبة بس اكون مش محتاج اكتب رقم رقم مجرد ضغطه تقوم باضافة قيمة المفتاح مثال:
زبون قام بشراء 8 قطع سعر القطعه 2 جنيه وقام بشراء 9 قطع سعر القطعه 2.5 جنيه لحسابه اقوم انا بالضغط 8 مرات على زر الاثنين جنيه وتسع مرات على زر الاثنين ونصف ليعطينى ناتج العمليه بسرعه وبسهوله
وياريت لو يكون حجمها على صغير زى الاله الحاسبة

وعدد المفاتيح هو (9) وهذه هى القيم

( 2 و 2.5 و 3 و 3.5 و 4 و 4.5 و 5 و 5.5 و 6.5 )


ولك جزيل الشكر م/ عبد الله


تم بحمد الله انجاز 80% من الجهاز .. وباقى فقط عمليه الجمع ..

الجهاز الأن يجمع مجموع الأرقام المدونه على المفاتيح .. وينقصنا الأن تكرار الجمع للمفتاح الواحد كما وضحت حضرتك .. انك تريد تكرار الجمع للمفتاح الواحد .. ومن ثم يجمع الناتج النهائى .. محتاج بعض الوقت للتفكير فى انجاز المهمه ..

تحياتى ..

صورة للدائرة الإلكترونيه .. للجهاز ..









المفتاح رقم واحد قيمتة جنيه 2

والمفتاح رقم 2 قمتة 2.5

والمفتاح رقم 3 قيمتة 3 جنيه

والمفتاح رقم 4 قيمتة 3.5 جنيه ... الى الوصول للمفتاح التاسع وقيمتة 6 جنيهات ..

تحياتى بالتوفيق ..

جارى كتابه باقى البرنامج ..


التعديل الأخير تم بواسطة : عبدالله حجازى بتاريخ 10-10-2016 الساعة 03:44 AM
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025