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

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

besho_basha
:: مهندس ::
تاريخ التسجيل: Jul 2015
المشاركات: 6
نشاط [ besho_basha ]
قوة السمعة:0
قديم 04-07-2015, 12:40 PM المشاركة 1   
افتراضي مشكلة في برمجة للبيك pic16f877a Twitter FaceBook Google+



رغم الاكواد المكتوبة في كتاب المفتاح للباش مهندس احمد
لا استطيع كتابة احد المشاريع المطلوبة على البيك pic16f877a
بسبب لا اعلمه
اطلب المساعدة من الجميع
ومن الباشمهندس احمد طبعا لانه احد اهم الخبراء
>>>>>>>

المطلوب : توصيل 6 مفاتيح سويتش بالبيك في البورت A
والمخرجات عبارة عن انارة لمبات - ليدات - مثبتة في البورت B,E
وكل المحاولات وكل الاكواد وكل الاسرار وكل المفاتيح لم تجدي حتى الان

جربت برنامج مايكروسي وبعد محاولات فاشلة
كان يحدث دائما اخراجات غير مطلوبة على البورت A ويمتنع اي اخراج على البورتات التانية
وجربت اكواد كتاب المفتاح ولم تصلح المشكلة
ثم جربت برنامج فلوكود نسخة 4 وكانت الكثير من البنات لا تعمل حسب المطلوب
_______

هكتب الان لحضراتكم المهمة المطلوبة واتمنى ان تساعدني
بان تكتبوا لي الاسطر اللازمة من الاكواد
:::::
المطلوب

عند الضغط على سويتش مثبت في A0 يخرج كهرباء على مخرجين E0 + b0

عند الضغط على سويتش مثبت في A1 يخرج كهرباء على مخرجين E1+b0

عند الضغط على سويتش مثبت في A2 يخرج كهرباء على مخرجين E2+b0

عند الضغط على سويتش مثبت في A3 يخرج كهرباء على مخرجين E0 + b1

عند الضغط على سويتش مثبت في A4 يخرج كهرباء على مخرجين E1+b1

عند الضغط على سويتش مثبت في A5 يخرج كهرباء على مخرجين E2+b1
>>>>
ارجو ممن يقدر على مساعدةتي :
كتابة الكود اللذي يجب ان يكتب مع الاعتبار اكود ضبط المخارج والمداخل الصعبة في هذا البيك
>>>>>>>>>>
اعرف ان الموضوع ده مطروح اكثر من مرة في المنتدى لكن كل ما سبق لم يفلح معي
ارجو المساعدة بقدر الامكان سريعا ويكافئ الله خيرا من يساعدني ومن يتمى لي التوفيق ولو في قلبه فقط


>>>> رمضان كريم للجميع





اعلانات

hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 04-07-2015, 12:46 PM المشاركة 2   
افتراضي


رغم الاكواد المكتوبة في كتاب المفتاح للباش مهندس احمد
لا استطيع كتابة احد المشاريع المطلوبة على البيك pic16f877a
بسبب لا اعلمه
اطلب المساعدة من الجميع
ومن الباشمهندس احمد طبعا لانه احد اهم الخبراء
>>>>>>>

المطلوب : توصيل 6 مفاتيح سويتش بالبيك في البورت A
والمخرجات عبارة عن انارة لمبات - ليدات - مثبتة في البورت B,E
وكل المحاولات وكل الاكواد وكل الاسرار وكل المفاتيح لم تجدي حتى الان

جربت برنامج مايكروسي وبعد محاولات فاشلة
كان يحدث دائما اخراجات غير مطلوبة على البورت A ويمتنع اي اخراج على البورتات التانية
وجربت اكواد كتاب المفتاح ولم تصلح المشكلة
ثم جربت برنامج فلوكود نسخة 4 وكانت الكثير من البنات لا تعمل حسب المطلوب
_______

هكتب الان لحضراتكم المهمة المطلوبة واتمنى ان تساعدني
بان تكتبوا لي الاسطر اللازمة من الاكواد
:::::
المطلوب

عند الضغط على سويتش مثبت في A0 يخرج كهرباء على مخرجين E0 + b0

عند الضغط على سويتش مثبت في A1 يخرج كهرباء على مخرجين E1+b0

عند الضغط على سويتش مثبت في A2 يخرج كهرباء على مخرجين E2+b0

عند الضغط على سويتش مثبت في A3 يخرج كهرباء على مخرجين E0 + b1

عند الضغط على سويتش مثبت في A4 يخرج كهرباء على مخرجين E1+b1

عند الضغط على سويتش مثبت في A5 يخرج كهرباء على مخرجين E2+b1
>>>>
ارجو ممن يقدر على مساعدةتي :
كتابة الكود اللذي يجب ان يكتب مع الاعتبار اكود ضبط المخارج والمداخل الصعبة في هذا البيك
>>>>>>>>>>
اعرف ان الموضوع ده مطروح اكثر من مرة في المنتدى لكن كل ما سبق لم يفلح معي
ارجو المساعدة بقدر الامكان سريعا ويكافئ الله خيرا من يساعدني ومن يتمى لي التوفيق ولو في قلبه فقط


>>>> رمضان كريم للجميع




السلام عليكم

اخ besho_basha بما انك بدات برمه البيك فارحو ان ترفق البرنامح الدي لديك حتى نعدله ان امكن وتستفيد من التصحيح في المرات القادمه

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

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


رغم الاكواد المكتوبة في كتاب المفتاح للباش مهندس احمد
لا استطيع كتابة احد المشاريع المطلوبة على البيك pic16f877a
بسبب لا اعلمه
اطلب المساعدة من الجميع
ومن الباشمهندس احمد طبعا لانه احد اهم الخبراء
>>>>>>>

المطلوب : توصيل 6 مفاتيح سويتش بالبيك في البورت A
والمخرجات عبارة عن انارة لمبات - ليدات - مثبتة في البورت B,E
وكل المحاولات وكل الاكواد وكل الاسرار وكل المفاتيح لم تجدي حتى الان

جربت برنامج مايكروسي وبعد محاولات فاشلة
كان يحدث دائما اخراجات غير مطلوبة على البورت A ويمتنع اي اخراج على البورتات التانية
وجربت اكواد كتاب المفتاح ولم تصلح المشكلة
ثم جربت برنامج فلوكود نسخة 4 وكانت الكثير من البنات لا تعمل حسب المطلوب
_______

هكتب الان لحضراتكم المهمة المطلوبة واتمنى ان تساعدني
بان تكتبوا لي الاسطر اللازمة من الاكواد
:::::
المطلوب

عند الضغط على سويتش مثبت في A0 يخرج كهرباء على مخرجين E0 + b0

عند الضغط على سويتش مثبت في A1 يخرج كهرباء على مخرجين E1+b0

عند الضغط على سويتش مثبت في A2 يخرج كهرباء على مخرجين E2+b0

عند الضغط على سويتش مثبت في A3 يخرج كهرباء على مخرجين E0 + b1

عند الضغط على سويتش مثبت في A4 يخرج كهرباء على مخرجين E1+b1

عند الضغط على سويتش مثبت في A5 يخرج كهرباء على مخرجين E2+b1
>>>>
ارجو ممن يقدر على مساعدةتي :
كتابة الكود اللذي يجب ان يكتب مع الاعتبار اكود ضبط المخارج والمداخل الصعبة في هذا البيك
>>>>>>>>>>
اعرف ان الموضوع ده مطروح اكثر من مرة في المنتدى لكن كل ما سبق لم يفلح معي
ارجو المساعدة بقدر الامكان سريعا ويكافئ الله خيرا من يساعدني ومن يتمى لي التوفيق ولو في قلبه فقط


>>>> رمضان كريم للجميع





السلام عليكم
الكود ليس صعبا ويمكن كتابته ولكن عليك التوضيح الامر التالي

عند الضغط على سويتش مثبت في A0 يخرج كهرباء على مخرجين E0 + b0

عند الضغط على سويتش مثبت في A1 يخرج كهرباء على مخرجين E1+b0

عند الضغط على سويتش مثبت في A2 يخرج كهرباء على مخرجين E2+b0

عند الضغط على سويتش مثبت في A3 يخرج كهرباء على مخرجين E0 + b1

عند الضغط على سويتش مثبت في A4 يخرج كهرباء على مخرجين E1+b1

عند الضغط على سويتش مثبت في A5 يخرج كهرباء على مخرجين E2+b1
الاحظ ان مخارج هي E0,E1,E2,B0,B1 وهي تعمل عند الضغط على مفاتيح المذكوره
سؤال هنا هل عند ضغط على مفتاح بيشتغل مخرجين فقط والبقيه يجب ان تطفئ

كما انت تقول
وكل المحاولات وكل الاكواد وكل الاسرار وكل المفاتيح لم تجدي حتى الان

جربت برنامج مايكروسي وبعد محاولات فاشلة
ممكن تعطينا الكود لكي نوضح لك اين خطأ مثل ما قال اخ العزيز hamzazayyad

تحياتي


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 04-07-2015, 05:07 PM المشاركة 4   
افتراضي


رغم الاكواد المكتوبة في كتاب المفتاح للباش مهندس احمد
لا استطيع كتابة احد المشاريع المطلوبة على البيك pic16f877a
بسبب لا اعلمه
اطلب المساعدة من الجميع
ومن الباشمهندس احمد طبعا لانه احد اهم الخبراء
>>>>>>>

المطلوب : توصيل 6 مفاتيح سويتش بالبيك في البورت A
والمخرجات عبارة عن انارة لمبات - ليدات - مثبتة في البورت B,E
وكل المحاولات وكل الاكواد وكل الاسرار وكل المفاتيح لم تجدي حتى الان

جربت برنامج مايكروسي وبعد محاولات فاشلة
كان يحدث دائما اخراجات غير مطلوبة على البورت A ويمتنع اي اخراج على البورتات التانية
وجربت اكواد كتاب المفتاح ولم تصلح المشكلة
ثم جربت برنامج فلوكود نسخة 4 وكانت الكثير من البنات لا تعمل حسب المطلوب
_______

هكتب الان لحضراتكم المهمة المطلوبة واتمنى ان تساعدني
بان تكتبوا لي الاسطر اللازمة من الاكواد
:::::
المطلوب

عند الضغط على سويتش مثبت في A0 يخرج كهرباء على مخرجين E0 + b0

عند الضغط على سويتش مثبت في A1 يخرج كهرباء على مخرجين E1+b0

عند الضغط على سويتش مثبت في A2 يخرج كهرباء على مخرجين E2+b0

عند الضغط على سويتش مثبت في A3 يخرج كهرباء على مخرجين E0 + b1

عند الضغط على سويتش مثبت في A4 يخرج كهرباء على مخرجين E1+b1

عند الضغط على سويتش مثبت في A5 يخرج كهرباء على مخرجين E2+b1
>>>>
ارجو ممن يقدر على مساعدةتي :
كتابة الكود اللذي يجب ان يكتب مع الاعتبار اكود ضبط المخارج والمداخل الصعبة في هذا البيك
>>>>>>>>>>
اعرف ان الموضوع ده مطروح اكثر من مرة في المنتدى لكن كل ما سبق لم يفلح معي
ارجو المساعدة بقدر الامكان سريعا ويكافئ الله خيرا من يساعدني ومن يتمى لي التوفيق ولو في قلبه فقط


>>>> رمضان كريم للجميع





اخى الكريم

شكرا على السؤال

وكل عام وأنت بخير

برجاء الاطلاع على الملف المرفق

http://www.mediafire.com/download/vn...4kac/FILES.zip


besho_basha
:: مهندس ::
تاريخ التسجيل: Jul 2015
المشاركات: 6
نشاط [ besho_basha ]
قوة السمعة:0
قديم 05-07-2015, 12:01 AM المشاركة 5   
افتراضي


اولا اشكر الجميع .. جميع اساتذتي المدين لهم بالكثير والكثير

ثانيا قمت بتحميل ملف الاستاذ F.Abdelaziz المشرف
وقمت بتجربة ملف hex على برنامج البروتوس
واشتغل تمام تمام تمام
والف شكر لحضرتك يا استاذ F.Abdelaziz

لكن الملفات المرفقة غالبا ليس لدي البرنامج التي سيفتحهم
ربما بروتس نسخة حديثة ....
سابحث عن برنامجهم وانزله لكي اتمكن من تعديل اوقات اطفاء الليدات بعد زمن معين
واذا احتجت مساعدة هطلب من حضراكتم لكي اكون مدين لكم اكثر واكثر
((جازاكم الله خيرا وفيرا بسبب مساعدتي ))


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

==========================
الاكواد التي كنت اكتبها تبدأ بـ
void main() {cmcon=0x07;
TRISA=0B00111111;
TRISB=0 ;
TRISE=0 ;

وعند تجربة هذه السطور الاربعة فقط وتجربتها كان يجب ان اجد لا اخراجات محددة
لكنن اتفاجئ بخرج كهربي على البنات E0,B0,B1,B2,B7
واذا كنت واضع عليهم ليدات اجدهم يضيئو
وكذلك جربت الكود
void main() {adcon1=0x07;
تكون ايضا اخطاء في مخارج سواء هي او غيرها لا اتذكر . لكن دائما يظهر اخراج كهرباء غير مرغوب

وعند استكمال اي اكواد بجملة IF
او بدونها
او اعطي اي امر بإضاء اي شيء او بن اجد الخمس المخارج تلك يخرجوا كهرباء بغ النظر عن اكواد اطفائهم او تشغيلهم حسب إرادتي ( يعملون برغبتهم هم )
وانا حتى الان لا افهم لماذا

()()()()()()()()()()()()()()()()()()()()()()()()
بخصوص الرد على الاخ الحبيب حسن هادي محمود

الاحظ ان مخارج هي E0,E1,E2,B0,B1 وهي تعمل عند الضغط على مفاتيح المذكوره سؤال هنا هل عند ضغط على مفتاح بيشتغل مخرجين فقط والبقيه يجب ان تطفئ
بصراحة نعم اريد ان يكون مطفيين بمجرد انتهاء الضغط
لهذا اريد ان اعدل الملفات الاكواد التي اعطاها لي الاستاذ F.Abdelaziz

==================
الاستاذ hamzazayyad اشكرك كثيرا على مساعدتك
اخ besho_basha بما انك بدات برمه البيك فارحو ان ترفق البرنامح الدي لديك حتى نعدله ان امكن وتستفيد من التصحيح في المرات القادمه
انا ذكرت الان بالاعلى الجزء الذي يقف اماميي في بداية الكود
اما عن باقي اكواد المشروع التي حتما ساستفيد من علمكم الوفير (بارك الله فيكم به وبسببه ) فبمجرد اخذ الاكواد الجديدة سأقوم بتطويرها وتعديلها وسنناقش اي مشاكل تحدث يوم بيوم
اشكرك
اشكركم جميعا .. انقذتوني


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 05-07-2015, 01:23 AM المشاركة 6   
افتراضي


أخى الكريم إليك فكرة البرنامج لخرج واحد ويمكنك التكرار لباقى المخارج:

كود:
void main() 
{
ADCON1=0x07 ;
TRISA=0B00111111;
TRISB=0 ;
TRISE=0 ;
PORTB=0;
PORTE=0;
while(1)
{
if(PORTA.B0 | PORTA.B1 | PORTA.B2 ) PORTB.B0=1; 
else PORTB.B0=0;
}
}
أعتقد أن سبب المشكلة يكمن فى منطق البرنامج ، فمن المحتمل أن نكتب مئات السطور البرمجية الصحيحة من حيث تركيب بناء الجملة وبالتالى لن يعطى المترجم أى أخطاء ، لكن هذه أحد مهام المترجم وليس كلها ، المهمة الأهم هى أن المترجم يقيم التعبيرات (مثل جمل الشرط) ويعالجها منطقيا وإذا لم يكن هناك منطق فى خطوات البرنامج فسوف تكون النتائج على غير المتوقع .

إذا ما هو الحل ؟

نتبع منطق التحكم المبرمج مع استخدام إمكانيات لغة السى والمترجم المستخدم ، وهنا نقول : نستخدم المداخل للتحكم فى المخارج ، بمعنى أنه من المنطقى أن يقراء المترجم المدخلات (المفاتيح) وبناء عليها يحدد المخرجات ، ففى حالتنا نصف المطلوب بالشكل التالى " عند تشغيل المفتاح RA0 أو OR تشغيل المفتاح RA1 أو OR تشغيل المفتاح RA2 يتم توصيل الخرج RB0 وإلا يتم عدم توصيله . كما فى نموذج البرنامج أعلاه .

ومع المترجم ccs c والذى يقوم نيابة عنا بالكثير ويرفع عنا حرج نسيان بعض المعلومات :

كود:
#include <16f877a.h>
#use delay(clock=4M)

void main()
{
while(true)
{
if(input(pin_a0)|input(pin_a1)|input(pin_a2)) output_high(pin_b0);
else output_low(pin_b0);
}
}
ومع برنامج منطق السلم والمتخصص فى برمجة المتحكمات المنطقية :

كود:
LADDER DIAGRAM:

   ||                                  ||
   ||       XA0              YB0       ||
 1 ||-------] [------+-------( )-------||
   ||                |                 ||
   ||       XA1      |                 ||
   ||-------] [------+                 ||
   ||                |                 ||
   ||       XA2      |                 ||
   ||-------] [------+                 ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||       XA3              YB1       ||
 2 ||-------] [------+-------( )-------||
   ||                |                 ||
   ||       XA4      |                 ||
   ||-------] [------+                 ||
   ||                |                 ||
   ||       XA5      |                 ||
   ||-------] [------+                 ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||       XA0              YE0       ||
 3 ||-------] [------+-------( )-------||
   ||                |                 ||
   ||       XA3      |                 ||
   ||-------] [------+                 ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||       XA1              YE1       ||
 4 ||-------] [------+-------( )-------||
   ||                |                 ||
   ||       XA4      |                 ||
   ||-------] [------+                 ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||       XA2              YE2       ||
 5 ||-------] [------+-------( )-------||
   ||                |                 ||
   ||       XA5      |                 ||
   ||-------] [------+                 ||
   ||                                  ||
   ||                                  ||
   ||                                  ||
   ||------[END]-----------------------||
   ||                                  ||
   ||                                  ||


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 05-07-2015 الساعة 01:45 AM

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 05-07-2015, 02:24 AM المشاركة 7   
angry


السلام عليكم ورحمة الله وبركاتة
كل عام وانتم جميعا بخير
ورمضان كريم

بعد ان راجعت الموضوع والردود
اعتقد ان المشكلة لديك لم تكن الا فى عدم كتابة هذا الامر
PORTB=0;
PORTE=0;
ولذلك يتم خرج غير مرغوب بة فى البنات
انا فقط قمت باخذ كود مهندسنا الغالى مهندس/فتح الله عبد العزيز
بارك الله فية وفى اهلة ومالة وولدة وجازاة الله عنا كل خير وكل الاخوة المساهمين فى الردود ومساعدة الاخرين .
وقمت فقط بوضع تعديل بسيط لما طلبتة باعلى الموضوع
اتمنى ان يكون هذا الكود هو طلبك :
كود:
void main() { ADCON1=0x07 ; TRISA=0B00111111; TRISB=0 ; TRISE=0 ; PORTB=0; PORTE=0; while(1) { if(PORTA.B0==0){ PORTB=0; PORTE=0; PORTE.B0=1;PORTB.B0=1; } if(PORTA.B1==0){ PORTB=0; PORTE=0; PORTE.B1=1;PORTB.B0=1; } if(PORTA.B2==0){ PORTB=0; PORTE=0; PORTE.B2=1;PORTB.B0=1; } if(PORTA.B3==0){ PORTB=0; PORTE=0; PORTE.B0=1;PORTB.B1=1; } if(PORTA.B4==0){ PORTB=0; PORTE=0; PORTE.B1=1;PORTB.B1=1; } if(PORTA.B5==0){ PORTB=0; PORTE=0; PORTE.B2=1;PORTB.B1=1; }}}
تمنياتى لكم بالتوفيق جميعا
.


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 05-07-2015, 11:02 AM المشاركة 8   
افتراضي


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

مع تمنياتى بدوام التوفيق


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 05-07-2015 الساعة 11:08 AM
إضافة رد

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

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

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


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

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