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

   

الصورة الرمزية SAMI-ALG
SAMI-ALG
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2009
الدولة: الجزائر
المشاركات: 199
نشاط [ SAMI-ALG ]
قوة السمعة:
قديم 07-10-2010, 01:08 AM المشاركة 49   
افتراضي



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

طيب ساحاول ان اترجم اللي اقدر عليه بالنسبة للبرنامج الرئيسي فهو كالتالي
كود:
void main()
while(1)
{
portb,f1=1;
reg=0x01;
portb,f1=0;
portb,f2=1;
reg=0x02;
portb,f2=0;
potrb,f3=1;
reg=0x03;
portb,f3=0;
goto start;
}
وبالنسبة لبرنامج المقاطعة
كود:
void interrept()
{
if(portb,f4==1)
{
if(reg==0x01)
{porta=0x01;}
if(reg==0x02)
{porta=0x02;}
if(reg==0x03)
{porta=0x03;}
}
if(portb,f5==1)
{
if(reg==0x01)
{porta=0x04;}
if(reg==0x02)
{porta=0x05;}
if(reg==0x03)
{porta=0x06;}
}
if(portb,f6==1)
{
if(reg==0x01)
{porta=0x07;}
if(reg==0x02)
{porta=0x08;}
if(reg==0x03)
{porta=0x09;}
}

if(portb,f7==1)
{
if(reg==0x01)
{porta=0x0A;}
if(reg==0x02)
{porta=0x00;}
if(reg==0x03)
{porta=0x0F;}
}
}
هذه فقط ترجمة على حسب الاستطاعة وان شاء الله اكون قد افدتك ولو بالقليل

ودمتم في رعاية الله وحفظه

اعلانات

الصورة الرمزية SAMI-ALG
SAMI-ALG
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2009
الدولة: الجزائر
المشاركات: 199
نشاط [ SAMI-ALG ]
قوة السمعة:
قديم 07-10-2010, 02:03 AM المشاركة 50   
افتراضي


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

و المهم طريقة العمل التي توضح ان فعلا هناك مقاطعة بمعنى:
يكون البرنامج منهمك بتنفيذ أوامر معينة .. فلاشر على البورت A مثلا .. وكلما ضغطنا على احد ازرار يتغير الفلاشر .. وعندما نحرر المفتاح يعود المتحكم للفلاشر الاصلي ..
اي ان يكون عندنا مثلا 17 حركة ضوئية (فلاشر اصلي + 16 حركات مختلفة بالنسبة لكيباد 4*4) ..
مع بداية التشغيل يبدا المتحكم في تنفيذ الحركة الضوئية 0
اضغط على المفتاح 1 يتغير الفلاشر وينفذ المتحكم الحركة الضوئية رقم 1
ارفع الضغط (احرر المفتاح ) يعود المتحكم الى الوضع الاول (الحركة الضوئية 0)
اضغط على المفتاح 2 يتغير الفلاشر وينفذ المتحكم الحركة الضوئية رقم2
ارفع الضغط (احرر المفتاح ) يعود المتحكم الى الوضع الاول (الحركة الضوئية 0)
وهكذا مع باقي المفاتيح ..
فقط بهذه الطريقة يمكن ان نقول ان بالامكان برمجة كيباد على المنفذ "ب" المبرمج أصلا كمقاطعة بدون مشاكل .
يكفي مثلا 4 او 5 مفاتيح للتوضيح ..
والدعوة عامة للجميع وشكرا لكل من سيساهم..
اليك مشاركتي فيما اقترحت

http://filaty.com/s/q2N

الازرار 1.2.3 تقوم بتغيير الفلاشر بينما الازرار الاخرى تقوم باظهار الكود البينري الموافق لها


ودمتم في رعاية الله وحفظه

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

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 895
نشاط [ robota ]
قوة السمعة:
قديم 07-10-2010, 10:33 AM المشاركة 51   
افتراضي


السلام عليكم
مشرفنا العزيز :زكى شاكر
اذا كنت تقصد ان يقوم البرنامج بتنفيذ شئ معين (فلاشينغ مثلا) وفى نفس الوقت عمل scanning للكيباد فهذا غير ممكن الا باستخدام بيك اخرى للقيام بعمل ال scanning.
واسف لانى لم افهم ما ترمى اليه فى بداية الموضوع الا بعد مشاركتك الاخيرة
اخى شعيب
ما الذى تود فعله بالظبط -بالتفصيل اذا تكرمت - ولماذا تحتاج الى المقاطعة ان شاء الله احاول مساعدتك فى اجازة نهاية هذا الاسبوع.
بالتوفيق


زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 07-10-2010, 11:00 AM المشاركة 52   
افتراضي


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


شعيب حليم
:: مهندس متواجد ::
تاريخ التسجيل: May 2010
المشاركات: 72
نشاط [ شعيب حليم ]
قوة السمعة:
قديم 07-10-2010, 11:19 AM المشاركة 53   
Arrow جزاك الله خيرا


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

طيب ساحاول ان اترجم اللي اقدر عليه بالنسبة للبرنامج الرئيسي فهو كالتالي
كود:
void main()
while(1)
{
portb,f1=1;
reg=0x01;
portb,f1=0;
portb,f2=1;
reg=0x02;
portb,f2=0;
potrb,f3=1;
reg=0x03;
portb,f3=0;
goto start;
}
وبالنسبة لبرنامج المقاطعة
كود:
void interrept()
{
if(portb,f4==1)
{
if(reg==0x01)
{porta=0x01;}
if(reg==0x02)
{porta=0x02;}
if(reg==0x03)
{porta=0x03;}
}
if(portb,f5==1)
{
if(reg==0x01)
{porta=0x04;}
if(reg==0x02)
{porta=0x05;}
if(reg==0x03)
{porta=0x06;}
}
if(portb,f6==1)
{
if(reg==0x01)
{porta=0x07;}
if(reg==0x02)
{porta=0x08;}
if(reg==0x03)
{porta=0x09;}
}

if(portb,f7==1)
{
if(reg==0x01)
{porta=0x0A;}
if(reg==0x02)
{porta=0x00;}
if(reg==0x03)
{porta=0x0F;}
}
}
هذه فقط ترجمة على حسب الاستطاعة وان شاء الله اكون قد افدتك ولو بالقليل

ودمتم في رعاية الله وحفظه
بارك الله فيك أخ سامي ساحاول فهمها وادخالها في مشروعي ان استطعت.


شعيب حليم
:: مهندس متواجد ::
تاريخ التسجيل: May 2010
المشاركات: 72
نشاط [ شعيب حليم ]
قوة السمعة:
قديم 07-10-2010, 11:25 AM المشاركة 54   
Arrow


السلام عليكم
مشرفنا العزيز :زكى شاكر
اذا كنت تقصد ان يقوم البرنامج بتنفيذ شئ معين (فلاشينغ مثلا) وفى نفس الوقت عمل scanning للكيباد فهذا غير ممكن الا باستخدام بيك اخرى للقيام بعمل ال scanning.
واسف لانى لم افهم ما ترمى اليه فى بداية الموضوع الا بعد مشاركتك الاخيرة
اخى شعيب
ما الذى تود فعله بالظبط -بالتفصيل اذا تكرمت - ولماذا تحتاج الى المقاطعة ان شاء الله احاول مساعدتك فى اجازة نهاية هذا الاسبوع.
بالتوفيق
شكرا لكم جميعا

أخ robota مشروعي هو ميزان الكتروني .
ان لاحظت عند اي تاجر ميزان ستجده الكتروني وان تمعنت اكثر ستجد أن الميزان يزن الاشياء والمستعمل يضع له ثمن الكيلو الواحد والميزان يقوم بحساب المجموع .

وكما ترى اخي robota ان المستعمل له القدرة على ادخال الثمن متى أراد وله الحرية ان يمحي متى أراد يعني مش حتى يقولو الميزان اعطني ثمن الكيلو الواحد لهذا أريد استعمال المقاطعة لانها تمكنني من ادخال مااريد في اي وقت اريد.

وجزاك الله خيرا.


زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 07-10-2010, 11:36 AM المشاركة 55   
افتراضي


أخي م/عاصم إدريس .. زيادة في التوضيح حول المشروع:
شكرا وجزاك الله خيرا على تعاونك معي اخي زكي هاهو شرح :

مكونات المشروع :
PIC 16f876A
LCD 4*16
keypad 4*4
Sensor
يقوم lcd بإظهار الوزن وقيمة الكيلوغرام الواحد و نقوم بعمل الضرب لكي يحسب الاوزان في ثمن الكيلو الواحد
يقوم المستعمل بإدخل قيمة الكيلوغرام الواحد في أي وقت كما يمكنه أن يمحي ويعيد الادخال
* يبقى sensor لم اجد واحد حتى الان ولكن يمكننا فرض قيم من عندنا لكي يتقدم المشروع مثلا
10 kg يقابلها 0.5 فولط و 150 kg يقابلها 4.5 فولط .
هدا هو المشروع جزاكم الله خيرا اخواني ساعدوني.


الصورة الرمزية SAMI-ALG
SAMI-ALG
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2009
الدولة: الجزائر
المشاركات: 199
نشاط [ SAMI-ALG ]
قوة السمعة:
قديم 07-10-2010, 11:55 AM المشاركة 56   
افتراضي


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

اذا كنت تقصد ان يقوم البرنامج بتنفيذ شئ معين (فلاشينغ مثلا) وفى نفس الوقت عمل scanning للكيباد فهذا غير ممكن الا باستخدام بيك اخرى للقيام بعمل ال scanning.
تفضل جرب هذا الملف


http://filaty.com/s/q2N

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

بارك الله فيك أخ سامي ساحاول فهمها وادخالها في مشروعي ان استطعت.
و فيكم بارك الرحمن . وبالتوفيق ان شاء الله


ودمتم في رعاية الله وحفظه



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