قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 25-08-2015, 11:12 AM المشاركة 1   
افتراضي كيفية البدء فى عمل شاشة ليد ماتريكس ناجحة والبرمجة بلغة السى مع المترجم ميكروسى برو : Twitter FaceBook Google+



كيفية البدء فى عمل شاشة ليد ماتريكس ناجحة والبرمجة بلغة السى مع المترجم ميكروسى برو :

عرض متحرك :






وإلى التفاصيل

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً عبدالله حجازى ( شكر العضو على هذه المشاركة )
اعجاب عبدالله حجازى ( أعجبته المشاركة )
اعلانات

z_ramzi
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2009
المشاركات: 143
نشاط [ z_ramzi ]
قوة السمعة:0
قديم 25-08-2015, 11:23 AM المشاركة 2   
افتراضي


توكل اخي على الله وابداء فنحن متابعون وجازك الله على مجهودك وكان في عونك

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: 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[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 };



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

احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً سعيد قادر, عبدالله حجازى ( شكر العضو على هذه المشاركة )
اعجاب سعيد قادر, عبدالله حجازى ( أعجبته المشاركة )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 25-08-2015, 08:11 PM المشاركة 4   
افتراضي


اختيار الأجهزة (الهادوير) :
فى البداية سوف نستخدم الميكروكونترولر PIC16F628A لرخص لتوفره ولرخص سعره ولأنه يحقق جميع متطلبات مرحلة البداية . على الرغم من أننا بدأنا بشاشة تتكون من وحدة واحدة 8x8 إلا أن الميكروكونترولر PIC16F628A لا يستطيع بمفرده توفير إمكانية لعرض ، بسبب قلة أطراف الدخل / الخرج ، وحتى مع استخدام الميكروكونترولر الأكبر ينبغى علينا استخدام دوائر متكاملة مساعدة لتقليل عدد الأطراف اللازمة للشاشة .
فى البداية سوف نستخم المنفذ PORTB بالكامل لإرسال بيانات الصفوف الثمانية ، وسوف نستخدم مسجل الإزاحة 7[img]اختيار الأجهزة (الهادوير) :[/img]4164 للتحكم فى مسح الأعمدة ، وهو ما سوف يسهل عمل توسعة للشاشة مستقبلا .
مسجلات الإزاحة shift registers تعتبر جزء مهم من إلكترونيات المنطق الرقمى ، فهى بمثابة اللاصق الموجود بين عالم البيانات التسلسلية وعالم البيانات المتوازية . فهى تقلل من عدد الأسلاك (الخطوط) ، ومن ثم عدد الأطراف المستخدمة ، وحتى أنها تساعد على تخفيف الحمل عن وحدة المعالجة المركزية من خلال قدرتها على تخزين بياناتها .
تأتى مسجلات الإزاحة فى أحجام ونماذج مختلفة من أجل الاستخدامات المختلفة . والآن ، سوف نناقش الدائرة المتكاملة 74HC164 وهى : مسجل إزاحة ، 8 بت ، دخل تسلسلى ، خرج متوازى ، بدون مزلاج (ماسك) . لماذا ؟ حسنا . السبب أنه واحد من أبسط سجلات الإزاحة المتاحة ، والذى يجعل تعلمه أسهل .

لمحة سريعة على سجل الإزاحة 74HC164 :



الرقم “74” يعنى أنه من العائلة المنطقية “74XX” ، وحيث أنه منطقى فهو لا يمكنه التحكم المباشر فى تيار كبير ( إجمالى تيار الشريحة 16-20mA ) ، فهو فقط يمرر الإشارات ، ولكن ذلك هذه الإشارات يمكنها تشغيل ترانزستورات من أجل الأحمال ذات التيار المرتفع .
الرقم “HC” يعنى سرعة مرتفعة ، ولكن كل ما مطلوب منك معرفته حوله هو أنه جهاز منخفض القدرة ويعمل على جهد من 2 إلى 5 فولت . أيضا يمكنه العمل بشكل جيد عند السرعات المرتفعة .
الرقم “164” هو رقم الموديل لهذه الشريحة .
فمسجل الإزاحة 74164 هو مسجل إزاحة 8 بت نوع "دخل تسلسلى ، خرج متوازى" يتم إشعاله بحافة نبضة . يتم إدخال البيانات تسلسليا من خلال أحد الدخلين DSA أو DSB ، يمكن استخدام أى من الدخلين ليكون فعال فى الحالة المرتفعة HIGH من أجل تمكين إدخال البيانات من المدخل الآخر . يجب توصيل المدخلين معا أو ربط المدخل الغير مستخدم بالجهد المرتفع .
يتم زحزحة البيانات بمكان واحد جهة اليمين عند كل انتقال من الجهد المنخفض إلى الجهد المرتفع LOW-to-HIGH لدخل الساعة clock (CP) ويخرج من الخرج Q0 .
المستوى المنخفض على طرف دخل الإعادة master reset (MR) يؤدى إلى تخطى جميع المداخل ومسح جميع البيانات وإجبار جميع المخارج لكى تكون على المستوى المنخفض LOW .
فيما يلى تمثيل حركى لاستخدام مسجل الأزاحة 74164 :








التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 25-08-2015 الساعة 08:34 PM
احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً عبدالله حجازى, mous_31 ( شكر العضو على هذه المشاركة )

الصورة الرمزية mous_31
mous_31
:: مهندس ::
تاريخ التسجيل: May 2014
المشاركات: 16
نشاط [ mous_31 ]
قوة السمعة:0
قديم 26-08-2015, 07:10 PM المشاركة 5   
افتراضي


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

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 01:34 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025