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

   

2sa1302
:: عضوية غير مفعلة ::
تاريخ التسجيل: Sep 2005
المشاركات: 81
نشاط [ 2sa1302 ]
قوة السمعة:
قديم 09-01-2010, 02:13 AM المشاركة 9   
افتراضي



اريد عندما أضغط على زر AUTO STAR =PORTD.F2 ان يقوم البك بالتالى
1-يجعل PORTC.F4 يشتغل لحظيا لمدة 0.5ثانية ثم ينطفى ثم يضىء PORTC.F2 لمدة ثانية ونصف ويستمر ثم يضىءPORTC.F7 ويستمر مادام PORTB.F6=1 عندما يصبح PORTB.F6=0 فان&PORTC.F1=1&PORTC.F7=0&PORTC.F6=0 &PORTC.F2=1
وتستمر العملية و يحدث تأخير حتى يتم تغيير وضع المفتاح PORTB.F6=0
ينطفئ PORTC.F2&F1 ويضئ PORTC.F3 لمدة 0.5 ثانية ثم تصبح جميع المخارج PORTC=0;

هذا ما قد قمت بعمله بالأضافة للوضع اليدوى
اريد عندما اقوم بالضغط على PORTD.F4=0; يتوقف البرنامج وتصبح جميع المخارج PORTC=0; وعند الضغط على PORTD.F6 يستكمل البرنامج من حيث توقفت
وهاهو البرنامج الذى كتبته
void main()
{TRISB=0XFF;TRISC=0X00;TRISD=0XFF;NOANA:
while(PORTD.F0==0)//MANUAL MODE
{if(PORTB.F0==0){PORTC.F4=1;delay_ms(500);PORTC.F4 =0;}else PORTC.F4=0;//TOURCH UP
if(PORTB.F1==0){PORTC.F3=1;;delay_ms(500);PORTC.F3 =0;}else PORTC.F3=0;//TOURCH DW
if(PORTB.F3==0){PORTC.F5=1;}else PORTC.F5=0;//WIRE DW
if(PORTB.F2==0){PORTC.F6=1;}else PORTC.F6=0;//WIRE UP AND CONTROL OF MAIN PWM
if(PORTB.F4==0){PORTC.F2=1;}else PORTC.F2=0;
if(PORTB.f5==0){PORTC.F1=1;;delay_ms(1500);while(P ORTB.F6==1)PORTC.F1=1;}else PORTC.F1=0;
if(PORTB.f4==0){PORTC.F2=1;delay_ms(1500);while(PO RTB.F6==1)PORTC.F2=1;}else PORTC.F2=0;
}
if(PORTD.F0==1&&PORTD.F1==1&&PORTB.F6==0)//AUTOMATIC MODE
{if(PORTD.F2==0)
{PORTC.F3=1;delay_ms(500);PORTC.F3=0;PORTC.F2=1;de lay_ms(500);
PORTC.F6=1;delay_ms(500);PORTC.F7=1;delay_ms(1000) ;
while(PORTB.F6==1)PORTC.F7=1;PORTC.F6=1;PORTC.F2=1 ;delay_ms(3200);
while(PORTB.F6==0);PORTC.F6=0;PORTC.F2=1;PORTC.F1= 1;
while(PORTB.F6==1)PORTC.F7=0;PORTC.F6=0;PORTC.F2=0 ;PORTC.F1=0;delay_ms(500);
PORTC.F4=1;delay_ms(500);PORTC.F4=0;}
else PORTC.F7=0;PORTC.F6=0;PORTC.F4=0;PORTC.F2=0;PORTC. F1=0;}
goto NOANA;
}

اعلانات

geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,134
نشاط [ geniusse01 ]
قوة السمعة:
قديم 10-01-2010, 01:02 AM المشاركة 10   
افتراضي


السلام عليكم ورحمة الله وبركاته :
تحية طيبة لكل اهل هذا المنتدى العلمى
اخوانى المهندسين الكرام ارجو لمن لدية الأجابة الايبخل على حيث انى فى أشد الحاجة للتالى
1-فى قسم النقاشات الخاص بالبرمجة بأستخدام MIKROC قد سألت سؤال يتضمن كيفية عمل عداد من .الى 99 يقوم بحفظ الأعداد داخلة فى اى لحظة افصل جهد التغذية عن البك وعندما اوصلة مرة أخرى يظهر اخر رقم قد قام البك بالتوقف عنده هل هذة الخاصية ممكنة

2- لقد صممت برنامج يستخدم فية المفاتيح وبه وليكن 15 امر بتوقيتات معينة اريد أثناء تنفيذ البرنامج عند الضغط على زر معين ان يتوقف البرنامج وعند الضغط على زر أخر يتم استكمال البرنامج حتى النهاية فما هو الأمر الذى يفعل ذلك

السلام عليكم

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

بالنسبة للسؤال الاول ما رايك ان ترفق البرنامج ونتناقش فيه ونضع النقاط على الحروف...

اما السؤال الثاني فهو مخربط جدا وتسلسل البرنامج في النظام الاوتوماتيكي يختلف عما شرحته في اخر مشاركة يعني اختلاف الشرح عن البرنامج
؟ فما رايك ان تعمل البرنامج بترتيب افضل قليلا وتضع شرح الخطوة التي تعملها حتى نحلها معا...

ربنا يوفقك ويسهل امورك ..

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

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

2sa1302
:: عضوية غير مفعلة ::
تاريخ التسجيل: Sep 2005
المشاركات: 81
نشاط [ 2sa1302 ]
قوة السمعة:
قديم 10-01-2010, 05:16 PM المشاركة 11   
ha


اخى الكريم : geniusse01 شكرا جدا لك وجزاك الله كل خير على اهتمامك.
بالنسبة للسوال الأول فأنا لااملك برنامج لة بل ارجو التكرم بالمساعدة ولو حتى بالفكرة فى وضع برنامج العداد الذى يقوم بحفظ الرقم الموجود على شاشة اليفن سيجمنت

بالنسبة للسؤال الثانى سأشرح الفكرة من البداية حسب ترتيب البرنامج
للبرنامج وضعان احدهما اوتوماتيك والأخر يدوى
فى الوضع اليدوى واظنة واضحا = عند تغير حالة البورت XX شغل البورت YY كمثال. الا فى الأمر الخاص ببورتB4&B5 فلهم شرط محدد
1- عند الضغط على المفتاح الموصل ب B4 وهو يجعل الموتور يلف يمينا
(PORTC4)شرط ان يتوقف عن الدوران عند تغير حالة المفتاح B6 وهو ليمت سويتش و الذى سيكون نقطة بداية الدوران ونقطة الأنتهاء
2-- عند الضغط على المفتاح الموصل ب B5 وهو يجعل الموتور يلف يسارا(PORTC3)شرط ان يتوقف عن الدوران عند تغير حالة المفتاح B6 وهو ليمت سويتش الذى سيكون نقطة بداية الدوران ونقطة الأنتهاء ايضا

بالنسبة للوضع الأتوماتيكى
فهو محكوم بعدة شروط
اولهما ان يكون المفتاح على البورت D0=1 وهو وضع التشغيل الأتوماتيكى
ثانيا ان يكون المفتاح على البورت D1=1 وهو ليمت اسويتش عند الضغط علية يوكد تمام نزول بكرة السلك استعداد لأن يتم السحب منها
والشرط الثالث ان يكون مفتاح العربة القائمة على لف السلك على البكرة الموجوج على البورت B6=0
فى حالة تحقق الشروط جميعا وعند الضغط على المفتاح الموجود على البورتD2=0 تبداء عملية اللف بالتسلسل التالى ومبدئيا سيبك من الوقت الى انا كاتبة حيث سيتم تعديلة حسب الأحتياج


{PORTC.F3=1;delay_ms(500);PORTC.F3=0;PORTC.F2=1;de lay_ms(500);
PORTC.F6=1;delay_ms(500);PORTC.F7=1;delay_ms(1000) ;
حت الأن اعتقد الكود مفهوم
حيث سيقوم بتنزيل الزراع الحامل لبكرة السلك ويعطى اشارة للبلف لحظيا ثم سيقوم بأدارة البكرة ثم سيقوم بتشغيل موتور السلك ثم سيأمر العداد بالعد
ونأتى للأمور المعقدة
فى بداية الدوران سيكون البورت B6=0 ثم بعد الدوران بثوانى سيكون B6=1 اريد عند تغير حالة البورت B6=1 الى صفر ان يستمر السيتم كما هو لمدة ثلاث ثوانى ثم يعكس أتجاة موتور البكرة ويستمر فى اللف حتى يلامس المفتاح B6 ويجعل حالة البورت B6=0
وعندها يتوقف البرنامج وكأنة انهى عملة

اريد وقت ما يتم تنفيذ البرنامج ( {PORTC.F3=1;delay_ms(500);PORTC.F3=0;PORTC.F2=1;de lay_ms(500);
PORTC.F6=1;delay_ms(500);PORTC.F7=1;delay_ms(1000) ;
) وعندما اغير حالة البورت D3 واجعلها =0 لحظيا ان يجعل جميع مخارج البورت C=0;
وعند الضغط عى مفتاح الأستكمال الموجود على البورتD6 ان يستكمل عمل البرنامج بتشغيل بورتات C7&6&2 مع وضع الشرط السابق ذكرة وهو
بعد الدوران بثوانى سيكون B6=1 اريد عند تغير حالة البورت B6=1 الى صفر ان يستمر السيتم كما هو لمدة ثلاث ثوانى ثم يعكس أتجاة موتور البكرة ويستمر فى اللف حتى يلامس المفتاح B6 ويجعل حالة البورت B6=0
وعندها يتوقف البرنامج وكأنة انهى عملة بمعنى اخر اقسم عمل مرحلة الأوتوماتيك لوضعين ارجو ان اكون استطعت توضيح الفكرة كما كنت تتمنى وجزاك الله خيرا انت وكل من يهتم بأمور المسلمين ويسعى فى قضاء حوائجهم


التعديل الأخير تم بواسطة : 2sa1302 بتاريخ 10-01-2010 الساعة 05:28 PM


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