منتديات الالكترونيات العصريه  
yoursite.com page title .

استرجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
العودة   منتديات الالكترونيات العصريه > منتدى الحاكمات الدقيقة Microcontroller > منتدى المتحكمات ميكرو بلغة السي MikroC

  #1  
قديم 12-08-2010, 07:37 AM
ورشة محمود الفنية ورشة محمود الفنية غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2010
المشاركات: 8
معدل تقييم المستوى: 0
ورشة محمود الفنية is on a distinguished road
افتراضي استفسارات في برمجة ال pic

السلام عليكم
اود ان اطرح السوال التالي
لو كان لدينا لد (led)على المنفذ ب ولدينا سويج على المنفذ ا وحسب الكود
الذي سنكتبه يمكننا عند الضغط على السويج ان نجعل الد يضي عشرة مرات
نحن نعرف اننا نستطيع من خلال الامر (++for (x=0;x<10;x
ان نكرر ذلك عشرة مرات
السوال هو لو نريد ان نعكس العملية اي
عند الضغط على السويج عشرة مرات متقطعة متتابعة ان نجعل الد يضي
مرة واحدة وتكرر العملية اي ان نضغط مرة اخرى عشرة ويضي الد
مرة واحدة وهكذا
فما هو الكود الذي يحقق ذلك
شكرا
رد مع اقتباس
  #2  
قديم 12-08-2010, 08:59 AM
geniusse01 geniusse01 غير متواجد حالياً
عضو نشيط
 
تاريخ التسجيل: Jul 2009
المشاركات: 59
معدل تقييم المستوى: 8
geniusse01 will become famous soon enough
افتراضي رد: السلام عليكم

السلام عليكم

اعتقد انك تعرف كيفية اختبار مدخل معين ( المنفذ أ البن 0 مثلا) من خلال جملة الشرط IF... يمكن ان تعمل متغير m مثلا يعد عدد مرات الضغط على المفتاح وعندما يصبح العد 10 يضيء الليد مثلا نصف ثانية ثم يطفىء وتعود الى العد من جديد كالتالي:

اقتباس:

if(porta.f0==1) {
delay_ms(200);
m++;
if(m==10){
portb.f0=1;
delay_ms(500);
portb.f0=0;
m=0;
}
}
هذا مثال بسيط لاختبار المفتاح 10 مرات ..ويمكن ان تعمل ما تريده انت حسبما تفكر ..ارجو لك التوفيق ...

واخر دعوانا ان الحمدلله رب العالمين .. وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم..
رد مع اقتباس
  #3  
قديم 12-08-2010, 05:50 PM
ورشة محمود الفنية ورشة محمود الفنية غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2010
المشاركات: 8
معدل تقييم المستوى: 0
ورشة محمود الفنية is on a distinguished road
افتراضي رد: السلام عليكم

اشكرك اخي على الرد ولكن
هذا يقودنا الى السوال التالي
لو كان لدينا مسنن دائري بعدد اسنان مقدارها 36 سن
واحد من هذه الاسنان يكون مميز عن باقي الاسنان كأن يكون سنه طويل(دعنا نسميه
سن البداية)
وربطنا حساس كهربائي على هذا المسنن وهذا الحساس نستلم منه اشارة كهربائية
كلما دار المسنن (هذة الدائرة موجودة في السيارات الحديثة)المهم؟؟؟؟؟؟
ما هو الكود الذي يجب ان نكتبه لكي يأمر البك بأخراج نبضة (خمسة فولت)
كلما مر الحساس على السن السابع بعد سن البداية وهكذا كلما نصل الى السن السابع
يخرج البك نبضة
ارجو ان تكون الفكرة واضحةحساس.JPG
رد مع اقتباس
  #4  
قديم 12-09-2010, 08:30 AM
geniusse01 geniusse01 غير متواجد حالياً
عضو نشيط
 
تاريخ التسجيل: Jul 2009
المشاركات: 59
معدل تقييم المستوى: 8
geniusse01 will become famous soon enough
افتراضي رد: السلام عليكم

اقتباس:
المشاركة الأصلية كتبت بواسطة ورشة محمود الفنية مشاهدة المشاركة
اشكرك اخي على الرد ولكن
هذا يقودنا الى السوال التالي
لو كان لدينا مسنن دائري بعدد اسنان مقدارها 36 سن
واحد من هذه الاسنان يكون مميز عن باقي الاسنان كأن يكون سنه طويل(دعنا نسميه
سن البداية)
وربطنا حساس كهربائي على هذا المسنن وهذا الحساس نستلم منه اشارة كهربائية
كلما دار المسنن (هذة الدائرة موجودة في السيارات الحديثة)المهم؟؟؟؟؟؟
ما هو الكود الذي يجب ان نكتبه لكي يأمر البك بأخراج نبضة (خمسة فولت)
كلما مر الحساس على السن السابع بعد سن البداية وهكذا كلما نصل الى السن السابع
يخرج البك نبضة
ارجو ان تكون الفكرة واضحةملف مرفق 936
السلام عليكم

اريد ان اسال ما هي مدة اضائة الليد ؟؟؟

يمكن ان نعمل كود بسيط كالتالي:

في حال وجدنا سن البداية من خلال الشرط (نعطي متغير القيمة 1 مثلا) :
اقتباس:
if(porta.f0==1) m=1;
الان بما ان m لا تساوي الصفر فهذا يعني اننا وصلنا سن البداية وبالتالي نحتاج ان نعرف هل وصلنا السن رقم 6 (بدون سن البداية مثلا) ام لا ؟؟؟ فالان نزيد العد بمقدار 1 عند كل سن ونختبر هل وصلنا السن رقم 6 كالتالي:

اقتباس:
if(porta.f1==1)
{ m ++;
if(m==6) portb.f0=0;
if(m==35) m=0;
}
اخر جملة وظيفتها انه في حال وصلنا السن 35 (الاخير ) نعيد قيمة العداد الى الصفر ونعود للبحث عن سن البداية من جديد وهكذا ....

هل الامور واضحة ام تحتاج اكثر للتوضيح ؟؟؟؟ ارجو لك التوفيق...

واخر دعوانا ان الحمدلله رب العالمين .. وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم...
رد مع اقتباس
  #5  
قديم 12-09-2010, 05:47 PM
ورشة محمود الفنية ورشة محمود الفنية غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2010
المشاركات: 8
معدل تقييم المستوى: 0
ورشة محمود الفنية is on a distinguished road
افتراضي رد: السلام عليكم

اشكرك اخي على الرد الجميل لكن دعني اوضح لك بعض الامورنظرا" للتطور الهائل في وظائف وعمليات وحدات السيطرة الالكترونية لمحركات السيارات ( ECU )وبسبب ارتفاع اسعار الوحدات الجديدة ECU للسيارات الحديثة فنحن اليوم بحاجة للبحث والتطوير في مجال صيانة هذه الوحدات الالكترونيةان وحدات ECU التي نقصدها هي وحدات التحكم بمحركات السيارات واهمها منظومة العقل الالكتروني المسيطر على محرك السيارة
ولها الوظائف التالية :-
1- السيطرة على القدح الالكتروني لتوزيع الشرارة الكهربائية على الاسطوانات
وذلك من خلال التحكم بعملية قدح ملفات الاشعال IGNITION COIL ومنها الى شمعات القدح

2-السيطرة على تشغيل حاقنات الوقود INJECTORS وبزمن قدح متغير حسب حاجة المحرك

3:-السيطرة على تشغيل مضخة الوقود FUEL PUMP من بداية التشغيل حتى الاطفاء

4:-السيطرة على تشغيل مراوح تبريد المحرك COOLANT FAN وحسب الحاجة

5:-السيطرة على تشغيل ضاغط منظومة التكييف A\C COMPRESSOR وحسب الحاجة
وقابلية تحمل المحرك للاحمال

6:-السيطرة على منظومة منع الانبعاث الضار للغازات السامة من المحرك وذلك من خلال
مجموعة صمامات كهربائية لهذا الغرض EMISSION CONTROL SYSTEM

7:-السيطرة على منظومة اعادة تدوير العادم EXHAUST GAS RECIRCULATION لمنع هدر
الوقود وتقليل الانبعاث السام للغازات الخارجة من انبوب العادم

8:-السيطرة على صمام تحديد السرعة الحيادية للمحرك IDLE AIR CONTROL
او IDLE SPEED CONTROL
9:-ارسال الاشارات الكهربائية المناسبة الى منظومات السيارة الاخرى مثل
منظومة ناقل الحركة A\T ومنظومة المكابح المانعة للتزحلق ABS
10:- تشغيل بعض المنظومات الاخرى لكن ليس في كل انواع السيارات مثل
منظومات حماية البيئة الاخرى ومنظومات السيطرة على السرعة للسيارة ...الخ

11:- ان جميع العمليات اعلاه تتم بعد قيام العقل الالكتروني للمحرك باستلام وتقييم
الاشارات القادمة من المتحسسات الموجودة في المحرك وهي على سبيل المثال :-
1:- حساس سرعة دوران المحرك RPM
2:-حساس موقع عمود المرفق (الكرنك) CKP
3:-حساس موقع عمود الحدبات (الكام شفت) CMP
4:-حساس موقع زاوية الخانق (الثرتل ) TPS
5:-حساس حرارة مبرد المحرك (الحماوة) ECT CTS
6:-حساس حرارة الهواء الداخل للمحرك MAT
7:-حساس سرعة السيارة VSS
8:-حساس قياس الهواء الداخل للمحرك MAF VAF
9 :-حساس ضغط الهواء الداخل للمحرك MAP
ما يهمنا هنا هو الحساس الثاني اي حساس الكرنك(trigger) فنحن لا نريد ان نصنع عقل الكتروني بكامل الوظائف المذكورة
حيث لا امكانية لذلك في الوقت الحاضر ولكن نريد (ولو على اقل تقدير)السيطرة في التحكم في القدح الالكتروني لتوزيع الشرارة الكهربائية وبالتالي الى شمعات القدح اي عمل منظومة كهربائية صغيرة (مايكرو عقل) وبعقول عربية خالصة والان نعود الى موضوعنا الاساسي
ما نريده من( البك) ان يخرج لنا نبضة كهربائية مقدارها (5فولت) وبزمن (5 ملي ثانية ) يزداد ترددها مع زيادة دوران المحرك
ويقل مع انخفاض الدوران (طبعا هذه النبضة تذهب وحدات الاشعال وبالتالي الى شمعات القدح )
الصور المرفقة
نوع الملف: jpg حساس.JPG‏ (32.1 كيلوبايت, المشاهدات 178)
رد مع اقتباس
  #6  
قديم 12-09-2010, 06:26 PM
ورشة محمود الفنية ورشة محمود الفنية غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2010
المشاركات: 8
معدل تقييم المستوى: 0
ورشة محمود الفنية is on a distinguished road
افتراضي رد: السلام عليكم

اقتباس:
if(porta.f1==1)
{ m ++;
if(m==6) portb.f0=0;
if(m==35) m=0;
}
اعتقد انك تقصد
portb.f0=1;
رد مع اقتباس
  #7  
قديم 12-10-2010, 05:59 PM
geniusse01 geniusse01 غير متواجد حالياً
عضو نشيط
 
تاريخ التسجيل: Jul 2009
المشاركات: 59
معدل تقييم المستوى: 8
geniusse01 will become famous soon enough
افتراضي رد: السلام عليكم

اقتباس:
المشاركة الأصلية كتبت بواسطة ورشة محمود الفنية مشاهدة المشاركة
اقتباس:
If(porta.f1==1)
{ m ++;
if(m==6) portb.f0=0;
if(m==35) m=0;
}
اعتقد انك تقصد
portb.f0=1;
السلام عليكم

اعتذر عن الخطا غير المقصود .كلامك صحيح فهي تساوي 1 وليس صفر ..اعتذر منك على الخطأ ...

ما فهمته ان التحكم بشكل عام يعتمد على على القرص المسنن اليس كذلك .. الان النبضة التي اخبرتني عنها (5 ميليي ثانية ) تعتمد على المسننات اليس كذلك ؟؟

الان كيف يمكنني معرفة انه قد زار دوران المحرك مثلا .. هل مثلا يدون المسنن دورة كاملة فنعرف ذلك ؟؟؟ الان الزمن الذي نريد تغييره يجب ان يبدا عند السن ال6 وينتهي عند اي سن مثلا ؟؟؟ ارجو ان تكون اسئلتي واضحة ..اشكرك جدا على الافادة والتفكير الجميل في العمل العربي وهذا اكثر من رائع ...ربنا يوفقك ..

واخر دعوانا ان الحمدلله رب العالمين ..وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم.
رد مع اقتباس
  #8  
قديم 12-12-2010, 06:06 PM
ورشة محمود الفنية ورشة محمود الفنية غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2010
المشاركات: 8
معدل تقييم المستوى: 0
ورشة محمود الفنية is on a distinguished road
افتراضي رد: السلام عليكم

والله فعلا انك عبقري مشكورعلى التفاعل مع الموضوع
والان دعنا نترك موضوع السيارات ونطرح التالي بشكل جديد وارجو من الاخوان ان يشتركوا معنا
لو كان لدينا مسنن دائري مصنوع من معدن الحديد
وكما قلنا لديه 36 سن احد هذه الاسنان مفقود اوغير مصنوع(لاحظ المسنن في الصورةالسابقة سترى ان هنالك سن غير موجود يسمى سن البداية) وثبتنا هذا المسنن على مثقاب
بحيث عند تشغيل المثقاب يدور هذا المسنن ووضعنا قرب هذا المسنن حساس
مغناطيسي يولد هذا الحساس فولتية معينة ولتكن 5فولت عند مرور احد الاسنان
قرب الحساس (طبعا نتيجة الحث المغناطيسي) ولا يولد( صفرفولت)عند يمر قرب الفراغ
ودعنا نقول ان فترة توليد النبضة (5ملي ثانية)
وفترة عدم توليد النبضة (5ملي ثانية)
الان عندما يمر السن المفقود الذي هو اساسا غير مصنوع على المسنن قرب الحساس ستكون
فترة عدم توليد النبضة (15ملي ثانية)
(_-_-_-_-_-_-_-___-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-)
الان ما نريده كيف نبرمج البك انه عندما يصل الى هذه المنطقة (فترة 15 ملي ثانية )
وباستمرار دوران المسنن ووصول السن السابع قرب الحساس نريد من البك ان يضي (ليد) على اي من مخارجه
وهكذا كلما دار المسنن نريد من البك ان يخرج نبضة تضي (الليد)ولتكن هذه النبضة بزمن 5ملي ثانية
اي ان البك يخرج نبضة واحده زمنها 5ملي ثانية كلما مر السن السابع قرب الحساس
(لاحظ الصورة السابقة وستعرف السن السابع )
شكرا
رد مع اقتباس
  #9  
قديم 12-14-2010, 08:47 AM
geniusse01 geniusse01 غير متواجد حالياً
عضو نشيط
 
تاريخ التسجيل: Jul 2009
المشاركات: 59
معدل تقييم المستوى: 8
geniusse01 will become famous soon enough
افتراضي رد: السلام عليكم

السلام عليكم

يمكن ان نعمل مؤقت بسيط في بداية الدارة كالتالي:

في بداية البرنامج يمكن ان نستخدم المؤقت تايمر زيرو tmr0 بحيث اول ما يبدا البرنامج يقوم بعملية تدوير المسنن وقياس الزمن بحيث عندما يصل الى الزمن 15 ميللي ثانية يعرف انه وصل الى سن البداية رقم 1 وقتها يبدا تنفيذ البرنامج الطبيعي وهو تدوير المسنن والعد ..بحيث عندما يصل الى السن ال7 يضيء الليد ..ويكمل العد وعندما يصل الى السن الثامن يطفىء الليد ويكمل العد حتى يصل الى 36 ويعيد من جديد ..هل هذا وارد ام ماذا ؟؟؟ارجو لك التوفيق.

واخر دعوانا ان الحمدلله رب العالمين ..وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم..
رد مع اقتباس
  #10  
قديم 12-16-2010, 04:48 PM
ورشة محمود الفنية ورشة محمود الفنية غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2010
المشاركات: 8
معدل تقييم المستوى: 0
ورشة محمود الفنية is on a distinguished road
افتراضي رد: استفسارات في برمجة ال pic

اشكرك يااخي كل شي وارد
ولو اثقلت عليك
كيف سيكون شكل البرنامج ارجو ان تكتبه ولو بشكل مختصر
مع العلم ان المسنن هو مستمر بالدوران مادام المثقاب يدور اي ان دوران المسنن هو تحصيل حاصل
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

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

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 01:28 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
الحقوق محفوظة لمنتديات الاليكترونيات العصريه

Security team

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77