منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

تقنيات عرض الرسائل والإعلانات على شاشات الليد ماتريكس مع المترجم CCS C والمترجم ميكروسى برو: مقدمة : مبدأ عمل شاشة العرض LED dot matrix :

اذهب الى الأسفل

تقنيات عرض الرسائل والإعلانات على شاشات الليد ماتريكس مع المترجم CCS C والمترجم ميكروسى برو: مقدمة : مبدأ  عمل شاشة العرض LED dot matrix : Empty تقنيات عرض الرسائل والإعلانات على شاشات الليد ماتريكس مع المترجم CCS C والمترجم ميكروسى برو: مقدمة : مبدأ عمل شاشة العرض LED dot matrix :

مُساهمة من طرف Admin في الأربعاء مايو 20, 2015 10:10 am

تقنيات عرض الرسائل والإعلانات على شاشات الليد ماتريكس مع المترجم CCS C والمترجم ميكروسى برو:
مقدمة : مبدأ عمل شاشة العرض LED dot matrix :
فى هذه الشاشات ، يتم توصيل مجموعة من الليدات مع بعضها البعض فى شكل صفوف rows وأعمدة columns بغرض تقليل عدد الأطراف المطلوبة لتشغيلها . فعلى سبيل المثال وحدة عرض 8X8 تحتاج إلى 64 طرف مدخل / مخرج (طرف لكل ليد ) . بتوصيل جميع الأنودات مع بعضها فى شكل صفوف ( من الصف الأول R1 إلى الصف الثامن R8 ) وتوصيل الكاثودات مع بعضها فى شكل أعمدة (من العامود الأول C1 إلى العامود الثامن C8 ) فإن أطراف المداخل / المخارج المطلوبة للتشغيل تقل إلى 16 طرف ( 8 صفوف و 8 أعمدة) . يعنون كل ليد برقم صفه ورقم عاموده . ففى الشكل أدناه ، إذا جعلنا الصف الرابع R4 فى الحالة المرتفعة ( الأنودات) ، وجعلنا العامود الثالث C3 فى الحالة المنخفضة (الكاثودات – لاحظ حرف C مشترك بين معنى العامود والكاثود ) ، فأن الليد الموجود عند تقاطع الصف الرابع والعامود الثالث سوف يضىء .

تقنيات عرض الرسائل والإعلانات على شاشات الليد ماتريكس مع المترجم CCS C والمترجم ميكروسى برو: مقدمة : مبدأ  عمل شاشة العرض LED dot matrix : 131

يمكن عرض الحروف عن طريق المسح السريع لأى من الصفوف أو الأعمدة .

عرض النص Displaying Text :
النص Text له وجهين (شكلين) :
• الوجه الأول الأول هو النص نفسه text ، والذى يتكون من أحرف كود أسكى ، ويمكن تخزينه فى شكل سلسلة نصية string .
• الوجه الثانى هو تمثيله الرسومى graphic أو خريطة النقط bitmap (التمثيل النقطى) .
التمثيل النقطى (خريطة النقط) لمجموعة معينة من الأحرف يسمى الخط أو الفونت font . يمكنك تحديد الفونت الخاص بك لتمثيل مجموعة من الأحرف .
تتكون مجموعة أحرف النص القياسية text من الأحرف الأبجدية والرقمية : 0-9, A-Z , a-z جنبا إلى جنب مع بعض الأحرف الخاصة مثل الفاصلة ، والفاصلة المنقوطة , والمسافة الفارغة ، إلخ .
فى البداية يمكننا تحديد عدد محدود وقليل من الأحرف ، مثل الحروف الكابيتال A-Z وتجاهل الأحرف الخاصة ، أو اختيار مجموعة أحرف أسكى الكاملة . لكن ، تذكر أنه كلما كانت مجموعة الأحرف أكبر كلما زاد التمثيل النقطى وبالطبع زادت مساحة التخزين المطلوبة لها .
مفهوم مسح العرض (الشاشة) Scanning The Display
عندما يكون لدينا ليد ماتريكس يكون لدينا خياران :
• الخيار الأول : تقنية مسح الصفوف : إضاءة صف row واحد فى كل مرة ، مع عرض (تواجد) نموذج الليدات الموصلة والمفصولة على الأعمدة ، وإعطائها بعض الوقت لترك أثر للصورة على أعيننا ، ثم بعد ذلك يتم إيقاف تشغيل الصف الأول والانتقال إلى الصف الثانى . يتم تكرار نفس العملية مرة أخرى ومرة أخرى .
• الخيار الثانى : تقنية مسح الأعمدة : بنفس الطريقة ، يمكننا استخدام مسح الأعمدة بدلا من مسح الصفوف .

كلا التقنيتين جيد على حد سواء . بالنسبة لوحدات العرض الصغيرة ، يكون مسح الأعمدة سهل ، لأنه لن تكون مجبرا على معالجة بتات بيانات كثيرا ، ولكن كلما زاد طول الليد ماتريكس ، كان لزاما عليك مسح المزيد والمزيد من الأعمدة ويصبح العرض مرتعش . لذلك سوف نختار طريقة مسح الصفوف ، بحيث أن المفاهيم المكتسبة بالتطبيق ذو الحجم الصغير يمكن بسهولة تطبيقها على العروض ذات الحجم الكبير .

التمثيل النقطى للحرف Bitmap of a character :
معظم أنظمة العرض ، مثل شاشات LCD أو الوحدات الطرفية تستخدم ماتريكس نوع 5X7 (خمس أعمدة وبع صفوف) لتمثيل وعرض الحرف . وهذا الحجم من المصفوفات يعتبر جيد إلى حد ما لعرض وتمثيل معظم الأحرف المستخدمة بشكل شائع . لكن يوجد الماتريكس 8X8 ، وهو بالتأكيد يمكن أن يستوعب التمثيل النقطى للماتريكس 5X7 بسهولة ، كما أنه يتيح لنا الحرية فى استخدام الماتريكس 8X8 بكاملها لعمل تمثيل نقطى أكثر تفصيلا .

البداية تكون برسم ماتريكس من المربعات الفارغة على ورقة وملء المربعات المناسبة بنقط الرسم " تسمى بكسلات" pixels (النقط الضوئية) التى تريد توصيلها (عرضها) ، كما فى الشكل التالى :

تقنيات عرض الرسائل والإعلانات على شاشات الليد ماتريكس مع المترجم CCS C والمترجم ميكروسى برو: مقدمة : مبدأ  عمل شاشة العرض LED dot matrix : 227


الآن لديك 8 بايت من البيانات للحرف الواحد ، وكل بايت يمثل صف واحد ، أو قد يمثل عامود كما تحب . تذكر أن " كل حرف من خط نوع 8X8 سوف يتطلب 8 بايت من البيانات" . مجموعة الأحرف النقطية سوف تحتاج أن يتم تخزينها فى مكان ما ، يمكنك تخزينها كجزء من ذاكرة البرنامج program memory كثوابت ، أو تخزينها فى ذاكرة EEPROM الداخلية للميكروكونترولر . أما إذا سمح الهاروير الخاص بك ، فإن أفضل مكان يستخدم للتخزين هو ذاكرة EEPROM خارجية والتى تعتمد على الناقل I2C ، أو استخدام كارت تخزين بيانات SD . هنا ، سنحاول تقليل الاعتماد على أجهزة الهاردوير الخارجية وسيتم تخزين الأحرف النقطية فى ذاكرة البرنامج كثوابت .

تدريب : عرض حرف واحد ، الحرف A على سبيل المثال :
الحرف A كنص text ، يتم تخزينه كقيمة لحرف واحد من حروف أسكى ، وهو العدد العشرى 65 ، ولكنه كحرف نقطى فإنه سوف يحتل 8 بايت من التخزين . يمكننا تخزين الحرف النقطى كبتات رأسية ، أو كبتات أفقية . الخيار الأفضل يعتمد على كيفية تكوين الهاردوير الخاص بك . ونظرا لإننا سوف نستخدم مسح الصفوف ، فسوف يكون مريحا للغاية تخزين الحروف النقطية كصفوف (بيانات الأعمدة) ، تظهر الأعداد المناظرة على يمين الشكل أعلاه ، أو أسفل الشكل ، كما ترغب ، وهى :

الكود:


{0x18,0x24,0x66,0x66,0x7E,0x66,0x66,0x66};
{0x00,0x3F,0x7F,0x88,0x88,0x7F,0x3F,0x00};
   

ملحوظة :
إذا قمنا بتخزين التكوين الرأسى ، عندئذ فإن الحرف سوف يظهر كما لو كنا أدرنا وحدة العرض ، لأنه سوف يتم عرض التمثيل النقطى للأعمدة كصفوف .

التدريب الأساسى : عملية المسح والعرض لحرف واحد غير متحرك :

Admin
Admin

عدد المساهمات : 1188
تاريخ التسجيل : 28/01/2014

https://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى