[IMG]

[/IMG]
توجيه الشاشة :
تمتلك الشاشة كما ذكرنا 132 × 132 بكسل ، و لكن البكسلات الموجودة على الأطراف غير مرئية تماما ، لذا فالحجم الفعال هو 130×130 بكسل ، و التوجيه الافتراضي موضح بالشكل
[IMG]

[/IMG]
التخاطب مع الشاشة :
كما ذكرت أعلاه ، يتم الاتصال مع الشاشة عبر مسرى SPI ، ولكن عبر خطين فقط لعدم الحاجة للقراءة من الشاشة ( تمتلك الشاشة خط قراءة يستخدم لقراءة بعض الإعدادات و الأعلام و درجة الحرارة ، لكني لن أستخدمه ) ، طبعا سيلعب المتحكم PIC18F452 دور السيد ، وستكون الشاشة هي التابع ..
مع إرسال أي بايت للشاشة يجب أن نحدد نوعه ( Command أو Data ) لذلك نستخدم بتا إضافيا يتم إرساله أولا ، و هو يعني بايت معطيات إن كان فعالا ( High ) أو بايت تحكم إن كان غير فعال ( Low )، وذلك مبين في المخطط الزمني التالي :
المشكلة التي تبدو للوهلة الأولى هي كون وحدة MSSP في متحكمات PIC16 - PIC18 بعرض 8 بت ، فكيف سنرسل 9 بتات في كل أمر ؟ يوجد حلان من وجهة نظري :
كتابة برنامج SPI بعرض 9 بت بدون استخدام وحدة MSSP في المتحكم ، و هذه الطريقة توفر منفذ SPI لأغراض أخرى أكثر أهمية ، و يمكن استخدامها مع أي بوابة تمتلك ثلاثة أرجل شاغرة ( إذا أردنا استخدام رجل التصفير للشاشة )، لكنها محدودة السرعة ، وتشغل المعالج لفترة طويلة نسبيا .
استخدام وحدة MSSP و ذلك بإرسال بت التحكم بشكل برمجي ، ثم نقوم بتفعيل وحدة MSSP بنمط SPI و نرسل البقية بالطريقة الاعتيادية ، هذه الطريقة هي الأعلى سرعة ، لكنها توجب مشاركة مسرى SPI مع دارات أخرى إن كان مستخدما ، وذلك يتطلب رجلا أخرى لاختيار الشاشة من بين الدارات الأخرى هي #CS .
بقيت نقطة مهمة في التخاطب مع الشاشة ، وهي سرعة المسرى ، وكما هو مبين في النشرة الفنية للمتحكم PCF8833 فينصح بعدم تجاوز القيمة 150ns كمدة زمنية لنبضات الساعة ،أي ما يزيد قليلا عن 6.6Mhz و قد قمت بتجربتها بسرعات مختلفة وصلت إلى 10Mhz و بقيت تعمل بشكل جيد ، لكن لا أنصح بتجاوز 6Mhz لضمان الالتزام بالمواصفات الفنية .
اخترت الطريقة الأولى للتخاطب مع الشاشة ، و قد كتبت التابع الذي ينجز هذه العملية بلغة التجميع للاستفادة القصوى من إمكانيات المعالج و ضمان عدم الإسراف في التعليمات ، والنتائج التي وصلت إليها مرضية جدا .. أما توصيل الشاشة مع المتحكم فقد تم بالطريقة التالية :
RESTE ( تصفير الشاشة ) : مع القطب RB3 و هو فعال عند الصفر
CS ( اختيار الشاشة ) : مع القطب RB2 وهو فعال أيضا عند الصفر
SDA ( البيانات ) : مع القطب RB1
CLK ( نبضات الساعة ) : مع القطب RB0
عرفنا من قبل أن الشاشة تحتاج إلى 3.3 فولت كتغذية كهربائية ، كما أن دارة الإضاءة الخلفية تحتاج إلى أكثر من 6 فولت للإضاءة الجيدة ( يمكن أن تصل إلى 8 فولت ) ، لذلك قمت بتصميم دارة تغذية متقطعة لرفع الجهد ، و دارة تغذية بـ 3.3 فولت ، و مع وضع مقاومات لتقسيم الجهد على المداخل الرقمية ، يمكن استخدام هذه الدارة لربط الشاشة مع المتحكمات التي تعمل على 5 فولت :