$$$$$تحكم في 4 لمبات عن طريق الكمبيوتر [مشروع كامل] (الكود بالسي+البروتس+كود#c)$$$$$$
قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الاليقسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots
الدائرة بسيطة جدا بتوصيل max232 كما في الصورة طبقا للداتا شيت وأضفت هنا inverter لغرض المحاكاة فقط )أي إنه في التطبيق العملي المفروض ما نوصلش هذا (inverter
(2الدائرة الوسيطة بين المكيروكنترولر واللمبات بإستخدام الريلاي
الفكرة هنا أنه في حالة استقبال داتا من خلال المنفذ التسلسي فإن RI يكون بواحد وبالتالي فأنا أضعه هنا في الشرط بحيث إنه عندما أستقبل داتا تكون RI بواحد وبالتالي يكون نفيها ! بصفر وبالتالي أخرج من الشرط while
RI = 0;
أجعلها بصفر هنا حتى أستطيع معرفة إستقبال داتا جديدة
return(SBUF);
حيث إن الداتا المستقبلة توضع في الريجيستر SBUF وبالتالي أرجعها من خلاله
}
3) الدالة الرئيسية
void main(void)
كود:
{unsigned char x;
int i;
serial_init();
while(1)
{
x=uart_receive();
أضع الداتا التي استقبلها من المنفذ التسلسلي في هذا المتغير
switch(x)
{
case 'a':
في حالة إستقبال حرف a فإني أقوم بتشغيل اللمبة
{led1=1;
for(i=0;i<10000;i++)
_nop_();
break;}
case 'b':
في حالة إستقبال حرف b فإني أقوم بإطفاء اللمبة .................. وهكذا في بقية المشروع
{led1=0;
for(i=0;i<1000;i++)
_nop_();
break;}
case 'c':
{led2=1;
for(i=0;i<1000;i++)
_nop_();
break;}
case 'd':
{led2=0;
for(i=0;i<1000;i++)
_nop_();
break;}
case 'e':
{led3=1;
for(i=0;i<1000;i++)
_nop_();
break;}
case 'f':
{led3=0;
for(i=0;i<1000;i++)
_nop_();
break;}
case 'g':
{led4=1;
for(i=0;i<1000;i++)
_nop_();
break;}
case 'h':
{led4=0;
for(i=0;i<1000;i++)
_nop_();
break;}
}
}
}
1) تشغيل البرنامج الخاص بالسيريال بورت
2) اضغط على add pair وجعل COM2 و COM4 مع بعض
3) تشغيل البرنامج الخاص بالكمبيوتر
4) إختار COM4 منcombobox اللي على الشمال
5) إضغط على connect
6) افتح الدائرة ببرنامج البروتس وإبدأ المحاكاة
7) تحكم في 4 لمبات كما تشاء
الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 08:31 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)