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

   

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 11-03-2010, 03:09 AM المشاركة 17   
افتراضي



طيب ممكن تفسرلنا اكثر كيف كتبتهم
إن شاء الله أشرح الطريقة لكنى منتظر الأراء فهناك عدد قام بتحميل المشروع دون تعليق !؟

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

------------ وبالتوفيق للجميع -------------

اعلانات

crom
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2007
الدولة: بلدى
المشاركات: 130
نشاط [ crom ]
قوة السمعة:
قديم 12-03-2010, 12:09 AM المشاركة 18   
افتراضي


نعم الموضوع مهم ولاكن الاغلبية يشاهدوه بصمت مثلى حتى الان كل شى فى بدايتة . ارجو الاستمرار

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

م.الشريف
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2006
الدولة: الاسكندرية -مصر
المشاركات: 52
نشاط [ م.الشريف ]
قوة السمعة:
قديم 12-03-2010, 01:09 AM المشاركة 19   
Post


أخى الكريم الموضوع مهم جدا بارك الله فيك ، استمر على بركة الله ، وفقك
الله لما يحب ويرضى، والسلام عليكم ورحمة الله وبركاته .


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 12-03-2010, 01:49 AM المشاركة 20   
افتراضي


السلام عليكم

سامحونى يا إخوانى شكلى هاضطر أقدم لكم هذا المشروع باستخدام المتحكم 16F877A كبوابات بدلا من مسجل الإزاحة 74HC595 لأنه مضيعلى وقتى وكلما حاولت أطبق باستخدام المفاتيح فقط يعمل تمام و لكن مع برنامج بسيط خاص به فقط لأختبر مسجل الإزاحة هذا لم يعمل وجربت كافة التجارب ولا أدرى أين المشكلة ؟ ؟ حيث أنى لم أستخدم مسجل الإزاحة هذا من قبل !؟
تابعت الشروحات الخاصة بمسجل الإزاحة فى عدة مشاركات لكن عمل معى بالمفاتيح و بعيدا عن استخدام متحكمات

فهل من متطوع يكلمنى على الخاص لإستكمال هذا الموضوع وعدم إضاعة هذه الصفحات فى كلام بعيدا عن أصل الموضوع ؟

تم بحمد الله التوصل للنتيجة المرجوة وجزى الله الأخوان الذان تناقشا معى بخصوص مشكلة مسجل الإزاحة وبارك الله لهما
=====================


السلام عليكم ورحمة الله وبركاتة


اذا سمحت لى مهندس وليد
فى هذة الصفحة شرح مبسط للتعامل مع مسجل الازاحة

74hc595 & 74hc164

http://www.qariya.com/vb/showthread.php?t=56529&page=4

اتمنى ان يفيد هذا الشرح الاخوة


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 12-03-2010 الساعة 02:25 AM

الصورة الرمزية MYM
MYM
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: مصر
المشاركات: 335
نشاط [ MYM ]
قوة السمعة:
قديم 20-03-2010, 04:41 PM المشاركة 21   
افتراضي


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


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 21-03-2010, 10:34 PM المشاركة 22   
افتراضي


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

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

سنكمل معا شرح الطريقة قريبا إن شاء الله .


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 29-03-2010, 07:13 PM المشاركة 23   
افتراضي



السلام عليكم جميعا ورحمة الله وبركاته

كيف حالكم
أعتذر لقلة توفر الوقت لدى ولكثرة انشغالى وأشكركم جميعا على اهتماماتكم وتعليقاتكم وعلى الرسائل المرسلة على الخاص والإيميلات

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

وهنا نستخدم طريقة الكتابة بنظام المصفوفات و نعمل على شبه الطريقة السابقة الذى استخدمها أخ ناصر ولكن فى رسم كل حرف فقط وليس فى الجملة كاملة

فنقوم برسم حرف A على حده ثم نقوم برسم حرف B على حدة فى متغيرات أخرى مركبة

ومعنى مركبة هو أن المتغير يحتوى على اسم كعنوان مثل

var

أى اسم لا يطابق فى معناه تعليمة من تعليمات المايكرو بيزيك فلا يمكن التعامل مع كلمة goto كأنها متغير لأن هذه الكلمة محجوزة مسبقا فى برنامج البيزيك من جهة المصمم على أنها تعليمة فلا يمكن لنا استخدامها كمتغير

أنظر شرح أكثر تفصيلا عن المتغيرات البسيطة هنــا كى لا يتم تكرار الكلام مرة ثانية

والآن نستخدم المتغيرات المركبة أى المصفوفة وتأخذ الشكل التالى :

(var(50

و هنا استخدمنا كلمة كمتغير وبجوارها القيمة العظمى لعدد خانات المتغير وكأننا استخدمنا 50 متغيرا ولكن هذه الصيغة مكنتنا أن نستخدم متغيرا واحدا ولكن يتم تعديده لعدد متغيرات بنفس الإسم يعنى تقدر تقول ببساطه كأننا قمنا بعمل متغير يقبل المناداة بالأرقام والقيم

فيمكننا أن نقول مثلا

(xx = var(12

(tt = var(15

وبهذا نجد أننا استخدمنا كلمة واحدة والذى يتغير هنا هو رقمها كلا منهما يصبح متغيرا على حده

وهذا كود البرنامج الذى تمت به كتابة الكلمات العشرة التى قمنا بتنفيذها معا

كود:
program matrix_sms
 dim Rr, Xx, Vv, Oo, Ss,Pp as byte
 dim Tt as byte                   ' 0 5 10 15 20 25  30         1,118,118,118,1
                                  ' A D O  H  E  M   _
  const Ch as byte[35] = ( 126,9,9,9,126,127,65,65,65,62,62,65,65,65,62,
                           127,8,8,8,127,127,73,73,73,65,127,2,12,2,127,0,0,0,0,0)
  const Le as byte[67] = ( 30,25,10,15,0,25,20,5,30,30,25,20,25,20,30,30,15,0,25,
                           5,20,30,30,25,0,15,25,10,5,30,30,20,25,0,5,30,30,15,0,
                           25,0,5,0,30,30,5,20,5,20,30,30,5,10,5,10,30,30,25,0,25,
                           0,30,30,5,0,5,30)
main:
 trisa = 0
 trisb = 0
 portb = $ff
 porta = $00
 for Tt = 1 to 10
   porta.1 = 0
   porta.1 = 1
 next Tt
 for Tt = 1 to 67
     Rr = Le[ Tt]
     for Oo = 1 to 200
       porta.0 = 1
       porta.1 = 0
       porta.1 = 1
       for Vv = 0 to 4
        Xx =  Ch[ Rr + Vv]
        Ss = Vv + 1
        portb = not Xx
        delay_us(300)
        portb = $ff
         delay_us(5)
        porta.0 = 0
        porta.1 = 0
        porta.1 = 1
       next Vv
     next Oo
next Tt
goto main
end.
جارى تتبع الشرح بعد قليل بمشيئة الله


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 29-03-2010, 08:20 PM المشاركة 24   
افتراضي


تابع الشرح


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


كود:
const Ch as byte [35] = ( 126,9,9,9,126,127,65,65,65,62,62,65,65,65,62, 127,8,8,8,127,127,73,73,73,65,127,2,12,2,127,0,0,0,0,0)

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

وهنا كما ذكرنا يبدأ من القيمة الأولى بعد الخمس قيم للحرف الأول وتمت كتابة الملاحظات فى البرنامج أعلى الملاحظات السابقة فنجد أننا كتبنا فوق الحرف
A الرقم 0
وفوق الحرف
D الرقم 5
وفوف الحرف
O الرقم 10
وهكذا لآخر الحروف

تمام حتى الآن كل شئ !

هكذا قمنا بتخزين الحروف المطلوبة وتشكيلهم كما نريد .

والآن نأتى إلى تكوين الكلام والجمل فنحتاج للكلمة مجموعة حروف ثم نضع فى النهاية حرف _ أى لا شئ كى نعمل فاصل بين الكلمة والأخرى وإذا أردنا إنهاء جملة فإننا نضع مثلا فاصلان _ _ كى يحدث فراغا على الشاشة بقيمة حرف أو حرفان منطفئان

وتمت ترتيب أحرف الكلمات هنا فى السطر التالى :


كود:
const Le as byte[67] = ( 30,25,10,15,0,25,20,5,30,30,25,20,25,20,30,30,15,0,25, 5,20,30,30,25,0,15,25,10,5,30,30,20,25,0,5,30,30,15,0, 25,0,5,0,30,30,5,20,5,20,30,30,5,10,5,10,30,30,25,0,25, 0,30,30,5,0,5,30)



حيث أن فى كل خانة يتم فقط ذكر الخانة التى يبدأ بها الحرف المطلوب والذى تم تخزينه فى السط الخاص بالحروف فمثلا نجد فى السطر السابق أنه يبدأ بالرقم 30 وهو خاص ببداية المسافة الفارغة

ثم الرقم 25 وهو خاص ببداية الحرف M

ثم الرقم 10 وهو خاص ببداية الحرف O وهكذا نحن نكتب كلمة MOHAMED إلى أن تتم كتابة الكلمة كاملة ثم الكلمات التالية





وهذه الفكرة هى فكرة المصفوفات واستدعاء المتغيرات



أرجو أن تكون الفكرة ميسرة وواضحة



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



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



أرجو أن أكون وفقت و نسألكم الدعاء لى وللمسلمين فى كل مكان آمين .



ولمعلومات أكثر عن المصفوفات سنذكرها إن شاء الله فى دورة المايكرو بيزيك من خلال الأمثلة والمشاريع خلال الدورة وبالتوفيق


التعديل الأخير تم بواسطة : wleed antar بتاريخ 29-03-2010 الساعة 08:26 PM


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