 |
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
|
|
نشاط [ F.Abdelaziz ]
قوة السمعة:332
|
|
25-08-2015, 12:57 PM
المشاركة 3
|
|
الفكرة العامة :
الفكرة العامة تشبه إلى حد كبير العرض المرئى (السينيمائى) ، والذى يتكون من شريط كبير يحتوى على العديد من المناظر ، يتم عرضها منظر (صورة أو إطار) تلو الآخر وبسرعة لتشكيل الحركة . وكل ما علينا هو "تشكيل" بعض الصور (الإطارات) وعرضها بسرعة . كيف يتم ذلك ، هذا هو الموضوع .
فى البداية يجب أن يكون لديك مصفوفتان :
المصفوفة الأولى : تكون مصفوفة ثابتة وتحتوى على عناصر تمثل الرسالة المطلوب عرضها ، حيث أن كل حرف من الأحرف يمكن تمثيله بخريطة من نقط قد تكون فى شكل مصفوفة 5x7 أو فى شكل مصفوفة 8x8 أو أى شكل آخر . هنا سوف نبدأ بحرف واحد وليكن الحرف (A) ، المصفوفة التى تمثل هذا الحرف سوف تكون بالشكل التالى :
كود:
font [8]={0xfc,0xfe,0x11,0x11,0xfe,0xfc,0x00,0x00};
المصفوفة الثانية : تكون مصفوفة متغيرة ، تسمى مصفوفة المخزن المؤقت buffer وعناصرها تمثل صورة (إطار) للشاشة وسوف يتم تغيير (تحديث update) محتوياتها بشكل مستمر للحصول على صور تلو الأخرى ، كما سوف نرى لاحقا ، ونظرا لأن الشاشة ، كبداية ، مكونة من وحدة ليد ماتريكس 8x8 فإن هذه المصفوفة سوف تحتوى على 8 عناصر كما يلى :
ملخص الخطوات :
الخطوة الأولى :
مسح جميع بايتات مصفوفة المخزن المؤقت buffer الذى يمثل صورة لشاشة الليد ماتريكس ، وذلك لضمان عدم وجود أى بيانات سابقة غير مرغوب فيها .
كود:
buffer[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

الخطوة الثانية :
تشكيل صورة (إطار) تلو الأخرى عن طريق تحديث بيانات المخزن المؤقت بالبيانات الموجودة فى مصفوفة المخزن الثابت (الرسالة المطلوب عرضها) والتى تمثل بايتات التمثيل النقطى للحروف font ويتم هذا التحديث فى الخطوات التالية :
• إزاحة جميع عناصر (بايتات)مصفوفة المخزن المؤقت لموقع واحد جهة اليسار ، بغرض بداية عملية التحريك جهة اليسار (للغة الإنجليزية) ، فيخلو آخر موقع من البيانات .
كود:
buffer[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
• نقل أول عنصر (بايت) من المخزن الثابت ووضعه فى آخر موقع لمصفوفة المخزن المؤقت . لنحصل على مصفوفة مخزن مؤقت تمثل صورة أو إطار يحتوى على بايت بيانات موجود فى آخر موقع .
كود:
buffer[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC };
• تنفيذ عملية مسح scanning الأعمدة وعرض هذه الصورة (توصيل عامود تلو الآخر وعرض البيانات المرتبطة به )، فيظهر كما فى الشكل التالى :

لعلك لاحظت أن بداية ظهور العرض تكون من بداية الشاشة وجهة اليسار .
• نكرر ما سبق لكل بايت من بايتات الرسالة ، وعند نقل بايت تتولد صورة (إطار) جديدة يتم عرضها ، وتكون النتائج كما يلى :
كود:
buffer[]={0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFE };

كود:
buffer[]={0x00,0x00,0x00,0x00,0x00,0xFC,0xFE,0x11 };

كود:
buffer[]={0x00,0x00,0x00,0x00,0xFC,0xFE,0x11,0x11 };

كود:
buffer[]={0x00,0x00,0x00,0xFC,0xFE,0x11,0X11,0xFE };

كود:
buffer[]={0x00,0x00,0xFC,0xFE,0x11,0X11,0xFE,0xFC };

كود:
buffer[]={0x00,0xFC,0xFE,0x11,0X11,0xFE,0xFC,0x00 };

كود:
buffer[]={0xFC,0xFE,0x11,0X11,0xFE,0xFC,0x00,0x00 };

اختيار الأجهزة (الهادوير) :
|