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

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

محمد ع يسى
:: عضو فضي ::
تاريخ التسجيل: May 2015
الدولة: مصر
المشاركات: 1,044
نشاط [ محمد ع يسى ]
قوة السمعة:81
قديم 18-03-2016, 03:55 PM المشاركة 1   
افتراضي المسابقة الثالثة.. من العبقري الذي يستطيع تصميم هذا الكود (كيباد بدون مكتبة كيباد) Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته.
مرحبا بإخواني مرة أخرى مع التفكير المعقد والمتعة وعصرة الدماغ.
مسابقة اليوم لن تكون سهلة كالمسابقة الأولى.
يمكنك في هذه المسابقة استخدام المتغيرات واستخدام حلقة for ولكن لا تفرح كثيرا.. فأنت في هذه المسابقة محروم من استخدام المقاطعات والتايمرات.. كما أنه مطلوب منك أن تستخدم الكيباد بدون استخدام مكتبة الكيباد.
أولا الهاردوير:
سنستخدم كيباد 4×4
سنضعها على أي بورت في أي متحكم بشرط عدم الاستفادة من مقاومة الرفع الداخلية التي تتمتع بها بعض المتحكمات... بمعنى أن هناك بعض المتحكمات تحتوي بعض بورتاتها داخليا على مقاومة رفع يمكن تشغيلها أو تعطيلها بحيث عند تشغيلها كدخل (مع مفتاح واصل للأرضي) لا تحتاج أن تضع لها مقاومة رفع خارجيا من عندك... الشرط يقول أنه لا يجوز الاستفادة من إحدى مقاومات الرفع الداخلية لبعض المتحكمات.
سنستخدم أربع مقاومات رفع على الأطراف 4 و5 و6 و7
ولا يجوز استخدام مقاومات رفع أو خفض على الأطراف 0 و1 و2 و3
هذا بالنسبة للبورت الذي عليه الكيباد.
أما البورت الآخر سيكون عليه ليدات.
هذا عن الهاردوير.
ثانيا الوظيفة المطلوبة:
لاحظ أن الكيباد تحتوي على 16 زر.
سيكون هناك 16 برنامج.
البرنامج الأول هو أن الليد الأول يضيء 5 ثوان ويطفئ 5 ثوان ثم تضيء كل الليدات ما عدا الأول 5 ثوان وتطفئ 5 ثوان.
البرنامج الثاني مثله لكن بوضع كلمة الليد الثاني مكان كلمة الليد الأول.
وهكذا البرنامج الثالث والرابع والخامس والسادس والسابع والثامن.
البرنامج التاسع يجعل الليد الأول يضيء 10 ثوان ثم يطفئ.. ثم يضيء الليد الثاني 15 ثانية ثم يطفئ.. ثم يضيء الليد الثالث 20 ثانية ثم يطفئ.
البرنامج العاشر مثل البرنامج التاسع لكن بزيادة زمن كل ليد 3 ثوان.
البرنامج الحادي عشر مثل التاسع والعاشر لكن زمن إضاءة الليد الأول 8 ثوان وزمن إضاءة الليد الثاني 3 ثوان وزمن إضاءة الليد الثالث 19 ثانية.
البرنامج الثاني عشر مثل البرنامج الحادي عشر لكن بمضاعفة زمن كل ليد من الثلاثة.
البرنامج الثالث عشر مثل الذي قبله لكن مع زيادة زمن كل ليد 5 ثوان.
البرنامج الرابع عشر مثل الذي قبله لكن مع زيادة زمن كل ليد 5 ثوان.
البرنامج الخامس عشر مثل الذي قبله لكن مع زيادة زمن كل ليد 5 ثوان.
البرنامج السادس عشر مثل الذي قبله لكن مع زيادة زمن كل ليد 5 ثوان.
الضغط على الزر الأول معناه الدخول في البرنامج الأول وتكراره وعدم الخروج منه إلا بالضغط على زر غير الزر الأول.
إذا تم الضغط على الزر الأول مرة أخرى لا يعاد تنفيذ البرنامج الأول من بدايته.. وإنما يستمر في خطواته وكأن شيئا لم يحدث.
عند الضغط على الزر العاشر يقطع البك تنفيذه لأي برنامج كان ينفذه ويذهب للبرنامج العاشر.
عند الضغط على الزر السابع يذهب البك فورا لتنفيذ البرنامج السابع.
الصعوبة هنا أنك إذا استخدمت أمر delay لمدة خمس ثوان فإن المستخدم عندما يضغط على أحد الأزرار لن يعرف البك بذلك حتى ينتهي من تنفيذ الأمر delay
هناك حل سهل جدا باستخدام مقاطعة التايمر زيرو حيث يعد البك الزمن وفي نفس الوقت يراقب البورتات وينفذ التعليمات ولكن من الشروط عدم استخدام التايمرات.
كما أنه هناك حل آخر باستخدام المقاطعة الخارجية على الأطراف B4 و B5 و B6 و B7 ولكن أيضا من الشروط عدم استخدام أي مقاطعات.
قد يقول قائل إن تنفيذ هذا البرنامج سهل جدا باستخدام التايمر زيرو فَلِمَ حرمتنا منه؟
الإجابة لأن تنفيذ هذا البرنامج سهل جدا باستخدام التايمر زيرو.. يعني لن تكون هناك عصرة دماغ ولا متعة.
ألم أقل لكم مسابقة اليوم ليست كالمسابقة الأولى؟!!
الإعلان عن متغير 8 بت سنعده ثلاث تعليمات.
بينما المتغير ال16 بت سنعده 6 تعليمات.
حلقة for سنعدها ثلاث تعليمات.
بقية الأوامر سنعدها بالطريقة التي وردة في المسابقة الأولى في المسابقة الأولى:
http://www.qariya.info/vb/showthread...94#post1018194
والسلام عليكم ورحمة الله وبركاته.


التعديل الأخير تم بواسطة : محمد ع يسى بتاريخ 18-03-2016 الساعة 04:04 PM
احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً عبدالله حجازى, حسن هادي محمود ( شكر العضو على هذه المشاركة )
اعجاب عبدالله حجازى, حسن هادي محمود ( أعجبته المشاركة )
اعلانات

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


وعليكم السلام ورحمه الله وبركاته ....

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

واخيراااا .. تحياتى لك على الجهد الواضح فى المنتدى ,,, بارك الله فيك أخى محمد ..

وأن شاء الله ابدأ فى التفكير فى كتابة هذا البرنامج ... وللعلم بصراحة سيكون هذا البرنامج درس عملى يزيد من خبراتى البرمجيه .. لأن دى أول مرة أكتب برنامج يتعامل مع الكى باد ...


الأستعانة بالله والتفكير والصبر .. وجارى كتابة البرنامج ....

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً محمد ع يسى ( شكر العضو على هذه المشاركة )
اعجاب محمد ع يسى ( أعجبته المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 20-03-2016, 04:09 AM المشاركة 3   
افتراضي


السلام عليكم ورحمة الله وبركاته.
مرحبا بإخواني مرة أخرى مع التفكير المعقد والمتعة وعصرة الدماغ.
مسابقة اليوم لن تكون سهلة كالمسابقة الأولى.
يمكنك في هذه المسابقة استخدام المتغيرات واستخدام حلقة for ولكن لا تفرح كثيرا.. فأنت في هذه المسابقة محروم من استخدام المقاطعات والتايمرات.. كما أنه مطلوب منك أن تستخدم الكيباد بدون استخدام مكتبة الكيباد.
أولا الهاردوير:
سنستخدم كيباد 4×4
سنضعها على أي بورت في أي متحكم بشرط عدم الاستفادة من مقاومة الرفع الداخلية التي تتمتع بها بعض المتحكمات... بمعنى أن هناك بعض المتحكمات تحتوي بعض بورتاتها داخليا على مقاومة رفع يمكن تشغيلها أو تعطيلها بحيث عند تشغيلها كدخل (مع مفتاح واصل للأرضي) لا تحتاج أن تضع لها مقاومة رفع خارجيا من عندك... الشرط يقول أنه لا يجوز الاستفادة من إحدى مقاومات الرفع الداخلية لبعض المتحكمات.
سنستخدم أربع مقاومات رفع على الأطراف 4 و5 و6 و7
ولا يجوز استخدام مقاومات رفع أو خفض على الأطراف 0 و1 و2 و3
هذا بالنسبة للبورت الذي عليه الكيباد.
أما البورت الآخر سيكون عليه ليدات.
هذا عن الهاردوير.
ثانيا الوظيفة المطلوبة:
لاحظ أن الكيباد تحتوي على 16 زر.
سيكون هناك 16 برنامج.
البرنامج الأول هو أن الليد الأول يضيء 5 ثوان ويطفئ 5 ثوان ثم تضيء كل الليدات ما عدا الأول 5 ثوان وتطفئ 5 ثوان.
البرنامج الثاني مثله لكن بوضع كلمة الليد الثاني مكان كلمة الليد الأول.
وهكذا البرنامج الثالث والرابع والخامس والسادس والسابع والثامن.
البرنامج التاسع يجعل الليد الأول يضيء 10 ثوان ثم يطفئ.. ثم يضيء الليد الثاني 15 ثانية ثم يطفئ.. ثم يضيء الليد الثالث 20 ثانية ثم يطفئ.
البرنامج العاشر مثل البرنامج التاسع لكن بزيادة زمن كل ليد 3 ثوان.
البرنامج الحادي عشر مثل التاسع والعاشر لكن زمن إضاءة الليد الأول 8 ثوان وزمن إضاءة الليد الثاني 3 ثوان وزمن إضاءة الليد الثالث 19 ثانية.
البرنامج الثاني عشر مثل البرنامج الحادي عشر لكن بمضاعفة زمن كل ليد من الثلاثة.
البرنامج الثالث عشر مثل الذي قبله لكن مع زيادة زمن كل ليد 5 ثوان.
البرنامج الرابع عشر مثل الذي قبله لكن مع زيادة زمن كل ليد 5 ثوان.
البرنامج الخامس عشر مثل الذي قبله لكن مع زيادة زمن كل ليد 5 ثوان.
البرنامج السادس عشر مثل الذي قبله لكن مع زيادة زمن كل ليد 5 ثوان.
الضغط على الزر الأول معناه الدخول في البرنامج الأول وتكراره وعدم الخروج منه إلا بالضغط على زر غير الزر الأول.
إذا تم الضغط على الزر الأول مرة أخرى لا يعاد تنفيذ البرنامج الأول من بدايته.. وإنما يستمر في خطواته وكأن شيئا لم يحدث.
عند الضغط على الزر العاشر يقطع البك تنفيذه لأي برنامج كان ينفذه ويذهب للبرنامج العاشر.
عند الضغط على الزر السابع يذهب البك فورا لتنفيذ البرنامج السابع.
الصعوبة هنا أنك إذا استخدمت أمر delay لمدة خمس ثوان فإن المستخدم عندما يضغط على أحد الأزرار لن يعرف البك بذلك حتى ينتهي من تنفيذ الأمر delay
هناك حل سهل جدا باستخدام مقاطعة التايمر زيرو حيث يعد البك الزمن وفي نفس الوقت يراقب البورتات وينفذ التعليمات ولكن من الشروط عدم استخدام التايمرات.
كما أنه هناك حل آخر باستخدام المقاطعة الخارجية على الأطراف B4 و B5 و B6 و B7 ولكن أيضا من الشروط عدم استخدام أي مقاطعات.
قد يقول قائل إن تنفيذ هذا البرنامج سهل جدا باستخدام التايمر زيرو فَلِمَ حرمتنا منه؟
الإجابة لأن تنفيذ هذا البرنامج سهل جدا باستخدام التايمر زيرو.. يعني لن تكون هناك عصرة دماغ ولا متعة.
ألم أقل لكم مسابقة اليوم ليست كالمسابقة الأولى؟!!
الإعلان عن متغير 8 بت سنعده ثلاث تعليمات.
بينما المتغير ال16 بت سنعده 6 تعليمات.
حلقة for سنعدها ثلاث تعليمات.
بقية الأوامر سنعدها بالطريقة التي وردة في المسابقة الأولى في المسابقة الأولى:
http://www.qariya.info/vb/showthread...94#post1018194
والسلام عليكم ورحمة الله وبركاته.
السلام عليكم
من ناحيه عمل مكتبه كيباده فهذا الامر سهل ان شاء الله ولكن
بصراحه لم أفهم اليه عمل
حسب ماقلت انه هناك 16 زر ولكن ذكرت انت فقط زر 1 و 7 و 10 ولكن والبقيه ؟
اساسا كيف يبدأ البيك بالعمل اولا
مع تحياتي

احصائية الشكر والاعجاب - 0 شكراً, 0 عدم اعجاب, 1 اعجاب
اعجاب عبدالله حجازى ( أعجبته المشاركة )

محمد ع يسى
:: عضو فضي ::
تاريخ التسجيل: May 2015
الدولة: مصر
المشاركات: 1,044
نشاط [ محمد ع يسى ]
قوة السمعة:81
قديم 20-03-2016, 06:18 PM المشاركة 4   
افتراضي


السلام عليكم
من ناحيه عمل مكتبه كيباده فهذا الامر سهل ان شاء الله ولكن
بصراحه لم أفهم اليه عمل
حسب ماقلت انه هناك 16 زر ولكن ذكرت انت فقط زر 1 و 7 و 10 ولكن والبقيه ؟
اساسا كيف يبدأ البيك بالعمل اولا
مع تحياتي
وعليك السلام ورحمة الله وبركاته.
أما عن الأزرار فكل زر يؤدي إلى برنامج نفس رقم الزر... يعني الزر الرابع يجعل البك ينفذ البرنامج الرابع.. الزر الخامس يجعل البك ينفذ البرنامج الخامس.. وهكذا.
البك يبدأ بالعمل كل الليدات مطفأة ولا يدخل أي برنامج إلا بالضغط على الزر الخاص به.
وأما عن رفع ملف الهكس والمحاكاة فغدا إن شاء الله.

احصائية الشكر والاعجاب - 0 شكراً, 0 عدم اعجاب, 1 اعجاب
اعجاب عبدالله حجازى ( أعجبته المشاركة )

rashad shubita
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2014
الدولة: Palestine
المشاركات: 81
نشاط [ rashad shubita ]
قوة السمعة:0
قديم 21-03-2016, 12:33 PM المشاركة 5   
افتراضي السلام عليكم


عندي اقتراح لو يكون مع استخدام شاشة ال LCD ويعرض المهمة او البرنامج الي عم يتنفد دون استخدام مكتبة ال LCD وبشرط يستخدم كمان ال CGROM بكون الشي افضل
وشكرا ^^


محمد ع يسى
:: عضو فضي ::
تاريخ التسجيل: May 2015
الدولة: مصر
المشاركات: 1,044
نشاط [ محمد ع يسى ]
قوة السمعة:81
قديم 21-03-2016, 03:34 PM المشاركة 6   
افتراضي


عندي اقتراح لو يكون مع استخدام شاشة ال LCD ويعرض المهمة او البرنامج الي عم يتنفد دون استخدام مكتبة ال LCD وبشرط يستخدم كمان ال CGROM بكون الشي افضل
وشكرا ^^
مرحبا بالأخ رشاد.
بصراحة.. لم أتقن التعامل حتى الآن مع الشاشات الـLCD
ولكن....
ولكن كيف يمكن التعامل مع هذه الشاشات بدون مكتبة الـLCD؟
يعني ما فكرة عملها أصلا؟
وما معنى CGROM؟
وما معنى fig؟
ومعذرة إخواني.. ربما لا أضع ملف الهكس والمحاكاة اليوم.
وشكرا لكم ولتفاعلكم.

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً rashad shubita ( شكر العضو على هذه المشاركة )

rashad shubita
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2014
الدولة: Palestine
المشاركات: 81
نشاط [ rashad shubita ]
قوة السمعة:0
قديم 21-03-2016, 04:29 PM المشاركة 7   
افتراضي السلام عليكم


اخي الكريم :
لتعرف كل شي عن lcd هذه بعض المصادر من الي تعلمت منها ^^
https://www.8051projects.net/lcd-interfacing/
http://www.electronicshub.org/interf...16x2-lcd-8051/
ويمكنك الرجوع للداتاشيت .

واعتقد انها فكره منيحه تكون بالمسابقة وبلاخض انوا معتادين على استخدام المكاتب وهيك رح يكون فيه تحدي اكبر ^^ .
وانتا كمان شارك بالمسابقة عادي .


محمد ع يسى
:: عضو فضي ::
تاريخ التسجيل: May 2015
الدولة: مصر
المشاركات: 1,044
نشاط [ محمد ع يسى ]
قوة السمعة:81
قديم 21-03-2016, 06:28 PM المشاركة 8   
افتراضي


جزاك الله خيرا على الرابط.
ولكن أيضا لم أفهم كيف يمكن كتابة شيء بدون مكتبة الlcd ؟
يعني ممكن تضرب مثال لو أريد أن أكتب كذا على الlcd بدون المكتبة ماذا أفعل؟

إضافة رد

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

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

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


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

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