السلام عليكم
اليكم شرح للpic16f84 وكيفية عمل اتصال بالسريالبورت
هذا الشرح اخذتة من كتاب الاستاذ احمد سمير Serial_Communication
أثانیا : الأنواع التي لیس بھا ھاردویر USART
اي لیس بھا ھاردویر یدعم ھذه الخاصیة بشكل أكبر وبالتالي لیس بھا مقاطعة یمكن تطبیقھا على ھذه النوعیة من الإتصال .
في لغة مایكروسي الأمر أیضا في غایة السھولة حیث یوجد مكتبة جاھزة تمكنك من عمل الاتصال التسلسلي Rs232 بأي نوع من المایكروكنترولر وعلى أي طرف تریده . وذلك بأوامر الاتية
ھذه الأوامر ھي :-
· Soft_Uart_Init
· Soft_Uart_Read
· Soft_Uart_Write
فمثلا إلیك الأمر التالي :
Soft_Uart_Init(PORTB, 1, 2, 9600, 0) ;
ھذا الأمر سیقوم بعملیة التھیئة حیث تكون السرعة 9600 وسیكون طرف الإستقبال RX هوB1 وطرف الارسال TX هوB2 طبعا كلھم في portb
ویمكننا تغییر البورت وأرقام الأطراف وكذلك السرعة كما نشاء
أما الصفر الذي في النھایة فیسمىinverted والقیمة الافتراضیة لھا ھي صفر .
لنقوم بقراءة البیانات المرسلة نكتب الأمر
data =soft_uart_read(rec

في المتغیرdata سیتم تخزین البیانات التي تم إرسالھا .أما المتغیرrec (pointer
فإنة تصبح قیمتھ صفر إذا تمت عملیة الإرسال بنجاح
.
إذن سنقوم بعملیة اختبار باستمرار إذا أصبحت قیمة rec تساوي صفر نجعل البك یقوم بعملیة القراءة
أما بالنسبة لأمر الكتابة فإنھ لكتابة حرفN مثلا نكتب الأمر التالي
Soft_Uart_Write('N');
اما بالنسبة للاشخاص الذين لم يفهمو شرحى ساقوم بارفاق الكتاب والمثال بالغة مايكرو سى ولا تنسونى بالدعاء(الكتاب للاستاذ احمد سمير)