السلام عليكم
كود متحكم الإستقبال
كود:
sbit MANRXPIN at Ra0_bit; //تحديد طرف الإستقبال
sbit MANRXPIN_Direction at TRISa0_bit; //تحديد طرف الإستقبال
char error,temp; //تعيين نوع المتغيران
void main() { // بداية البرنامج الرئيسى
trisa=1;trisb=0; portb=0; porta=0; //تعيين المداخل والمخارج للمنافذ
Man_Receive_Init(); //استخدام المانشيستر كإستقبال
wleed1: //عنوان سطر
do { //بداية حلقة تكرارية لا نهائية
temp = Man_Receive(error); // قراءة القيمة المستقبلة وتخزينها فى المتغير
if (temp == 128){temp=0; porta.f2=~porta.f2; goto wleed1;} // فى حالة وصول قيمة 128 يتم إطفاء طرف تغذية السيجمنت
portb=temp; // تحميل البورت بالقيمة المستقبلة
}while (1) ; //عد إلى بداية الحلقة اللانهائية
}
هذا باختصار وأعتذر لضيق الوقت وأتمنى أن أكون قد أوضحت الفكرة الأساسية