القرية الإلكترونية - الكترونيات - كمبيوتر - هاردوير - خدمات المواقع - كهرباء - فضائيات - جوال - اتصالات - تكييف وتبريد - اجهزة الانتاج الزراعي - كهرباء السيارات

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


لوحة مفاتيح عربية

العودة   منتدى القرية الإلكترونية > القسم الالكتروني > منتدى الإلكترونيات
التسجيل       اجعل كافة المشاركات مقروءة

منتدى الإلكترونيات قسم الالكترونكس لمناقشة الافكار والمعلومات المتعلقة بالهندسة الالكترونية للمبتدئين والهواة والفنيين - Electronics

رد
 
أدوات الموضوع
قديم 25-04-2014, 11:30 PM   #1
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي مدخلك الشخصى إلى الميكروكونترولر PIC :Your Personal Introductory Course

مدخلك الشخصى إلى الميكروكونترولر PIC :
The PIC Microcontroller:
Your Personal Introductory Course
مقدمة :
الآن أصبح من الممكن برمجة الرقائق ( الشرائح – الدوائر المتكاملة) ، لقد ولت الأيام التى كان يتم فيها بناء الدوائر تحيط بالرقائق ( دوائر خارج الرقائق) ، والآن يمكننا أن نبنى رقائق تحيط بالدوائر ( دوائر داخل الرقائق ، أى مدمجة ) . هذه التكنولوجيا الآن لا حدود لها ويمكن صنع العديد من الدوائر المعقدة أصغر بعدة مرات من خلال استخدام هذه المتحكمات الدقيقة microcontrollers ، والتى يعتبر الميكروكونترولر PIC مثال ممتاز لها .
عندما تشترى الميكروكونترولر PIC ، فإنك تحصل على كتلة من السليكون عديمة الفائدة ، بإمكانيات مذهلة . هذه القطعة لن تفعل شيئا بدون البرنامج الذى تكتبه . تحت قيادتك ، تقريبا أى عدد أو مجموعة من الشرائح المنطقية العادية يمكن أن تقلص (تحشر) فى برنامج واحد والذى بدوره يوضع داخل الميكروكونترولر PIC .
الشكل التالى يوضح خطوات تطوير برنامج الميكروكونترولر PIC .



برمجة الميكروكونترولر PIC هو كل ما تقوم به مع الاعداد ، سواء كانت ثنائية ، أو عشرية ، أو سداسية عشر .
خدعة البرمجة تكمن فى جعل الشريحة تؤدى المهمة المعينة عن طريق تحريك (نقل) ومعالجة الأعداد. والأكثر من ذلك ، هناك مجموعة محددة من المهام التى يمكن أن تؤديها على الأعداد ، هذه المهام تعرف بالتعليمات instructions . يستخدم البرنامج تعليمات عامة بسيطة ، وأيضا تعليمات أكثر تعقيدا والتى تقوم بعمل أكثر من مهمة محددة . الشريحة سوف تخطو خلال التعليمات واحدة تلو الأخرى ، وتؤدى ملايين التعليمات كل ثانية ( وهذا يعتمد على تردد المذبذب المستخدم) ، وبهذه الطريقة تؤدى وظيفتها .
الأعداد فى الميكروكونترولر PIC يمكن أن تكون :
1- مستقبلة من المداخل ( باستخدام منفذ الدخل) .
2- مخزنة فى حجرات (أماكن - مواقع) خاصة داخل الرقاقة ، وتسمى سجلات الملف ‘file registers’
3- معالجة ( العمليات الحسابية مثل الجمع والطرح والعمليات المنطقية مثل AND وغيرها ) .
4- مرسلة للخارج خلال المخارج (باستخدام منفذ الخرج) .
وهذا هو أساسا كل ما فى برمجة الميكروكونترولر PIC ، لحسن الحظ هناك بعض الوظائف المفيدة الأخرى والتى يوفرها لنا الميكروكونترولر PIC مثل المؤقتات المدمجة بالشريحة ، أو بعض الأعلام التى تشير إلى ما إذا كان حدث أو لم يحدث شىء معين ، والتى تجعل الحياة أسهل بكثير .

http://fathallaabdelaziz.forumarabia.com/
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
اعلانات
قديم 26-04-2014, 05:13 PM   #2
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي

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

أنظمة الترقيم : الثنائى binary ، والعشرى decimal ، والسداسى عشر hexadecimal :
فى البداية هناك العمل على أنظمة الأعداد المختلفة : الثنائى ، والعشرى ، والسداسى عشر .
العدد الثنائى هو عدد "قاعدته أو أساسه " العدد "2" ، أى هناك نوعين فقط من الأرقام digit هما الصفر "0" والواحد "1" . على خلاف العدد العشرى الذى قاعدته العدد "10" ، أى أن هناك عشر أرقام مختلفة هى الأرقام من "0" إلى "9" . وبالمثل العدد السداسى عشر قاعدته العدد "16" ، ومن ثم فإن هناك 16 رقم مختلف هى (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E , F) .
الجدول التالى يوضح كيفية العد باستخدام الأنظمة المختلفة :


الرقم الثنائى binary digit ( أو البت bit) الموجود أقصى اليمين يعرف بالبت الأقل أهمية (الأدنى قيمة) أو اختصارا "LSB" كما يسمى أيضا "bit 0" ( الترقيم يبدأ من الصفر وليس من الواحد ) .
البت bit 0 تعرض "أحاد العدد" ( الواحد "1" قيمته بواحد "1" ) . البت الموجودة على يسارها (bit 1) الواحد "1" قيمته "2" ، والبت التالية (bit 2 ) الواحد "1" قيمته "4" وهكذا .
لاحظ أن "1" يساوى 2 أس صفر أى 2^0 ، وأن "2" تساوى 2 أس واحد أى 2^1 ، وأن "4" تساوى 2 أس 2أى 2^2 وهكذا ، ومن ثم فإن رقم البت يناظر قوة أو أس العدد "2" التى تمثلها البت ، ولكن لاحظ أن الترقيم يذهب من اليمين إلى اليسار ( أحيانا يتم نسيان ذلك) .
السلسلة المكونة من 8 بت تعرف بالبايت byte . البت الأعلى فى الترقيم تعرف بالبت الأكثر أهمية ( الأقصى قيمة) واختصارا MSB ، وهى البت bit 7 فى حالة البايت .
بالمثل فى نظام الترقيم السداسى عشر ، البت bit 0 تمثل عدد الأحاد (مضاعفات الواحد) (16^0 = 1) والبت bit 1 تمثل عدد مضاعفات العدد 16 (16^1 = 16) وهكذا .
أحد الأشياء المفيدة للنظام السداسى عشر هى سهولة ترجمة النظام الثنائى . فإذا قسمت العدد الثنائى إلى مجموعات كل مجموعة مكونة من 4 بت ( تسمى نبل nibbles أى بايتات صغيرة) ، فإن هذه المجموعات الصغيرة يمكن أن تترجم بشكل فردى (كل على حدة) إلى رقم سداسى عشر ‘hex’ digit .

نظام 8 بت 8-bit system :
الميكروكونترولر PIC هو نظام 8 بت ، لذلك فهو يتعامل مع الأعداد بطول 8 بت . العدد الثنائى "11111111" هو أكبر عدد مكون من 8 بت وهو يساوى "255" بالعشرى ويساوى "FF" بالسداسى عشر .
مع برمجة الميكروكونترولر PIC ، تستخدم رموز مختلفة لتحديد نظم الترقيم المختلفة ( العدد العشرى 11111111 يختلف كثيرا عن العدد الثنائى 11111111 ) .
فى لغة الأسمبلى (التجميع) ، يتم بيان العدد الثنائى بالشكل b’00101000’ ، والعدد العشرى بالشكل d’72’ أو بالشكل .72"" ( تبدو مثل 72 من المئة ولكنها قد تكون أسرع كثيرا فى الكتابة ، إذا كنت تستخدم الأعداد العشرية بكثرة ) . نظام الترقيم السداسى عشر هو النظام الافتراضى ، ولكن من أجل التوضيح يتم كتابة الحرف الصغير "h" بعد العدد ، على سبيل المثال 28h . بدلا من ذلك ، يمكنك كتابة الحروف "0x" عند بداية العدد ، على سبيل المثال "0x3D" .
عند التعامل مع مدخلات ومخرجات الميكروكونترولر PIC ، دائما يتم استخدام النظام الثنائى ، مع كل طرف دخل أو طرف خرج يناظر بت معينة . الواحد "1" يناظر لما يعرف "بالمنطق واحد" logic 1 ، وهذا يعنى أن طرف الميكروكونترولر PIC يكون عند جهد المنبع ( على سبيل المثال +5 V ) . الصفر "0" يدل على أن الطرف عند "المنطق صفر" logic 0 ،أو عند "0 V" . عند استخدام الأطراف كمداخل ، فإن الحدود بين منطق الصفر ومنطق الواحد تكون عند منتصف جهد المنبع ، على سبيل المثال +2.5 V .
وأخيرا ، إذا رغبت ، فى أى مرحلة البحث عن ما تعنيه تعليمة معينة ، يمكنك بسهولة الرجوع إلى الملحق الذى سوف نرفقة والذى يبين قائمة بجميع التعليمات مع وظائفها .

الخطوات الأولية :
تتكون العملية الأساسية لتطوير برنامج الميكروكونترولر PIC من خمس خطوات :
1- اختيار نموذج الميكروكونترولر ، وبناء مخطط السريان flowchart للبرنامج .
2- كتابة البرنامج ( باستخدام برنامج المفكرة Notepad المتوفر مع النوافذ أو غيره من برمجيات التطوير المناسبة ) .
3- ترجمة (تجميع) البرنامج ( تغيير ما قمنا بكتابته إلى شىء يفهمه الميكروكونترولر PIC ) .
4- محاكاة البرنامج لمعرفة أنه يعمل أو لا يعمل .
5- تحميل البرنامج إلى الميكروكونترولر الفعلى .


http://fathallaabdelaziz.forumarabia.com/

دعونا ننظر إلى بعضها بمزيد من التفصيل .
1- اختيار الميكروكونترولر PIC الخاص بك :
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  
قديم 26-04-2014, 06:55 PM   #3
خضران
مهندس متميز

المشاركات: 496
أحصائية الترشيح

عدد النقاط : 369


النشاط

معدل تقييم المستوى: 0
افتراضي

الله يعطيك العافية مهندس فتح الله ..
خضران غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 26-04-2014, 07:58 PM   #4
عريبى محمود
( رحمه الله عليه )
 
الصورة الرمزية عريبى محمود

الدولة: لا تسأل الطغاه لماذا طغو بل اسأل العبيد لماذا انحنو
المشاركات: 3,139
أحصائية الترشيح

عدد النقاط : 3252


النشاط

معدل تقييم المستوى: 187
x4

السلام عليكم ورحمة الله وبركاته
----------------------------------
استاذنا الغالى فتح الله عبد العزيز
مجهود رائع تشكر عليه فعلا البيك عمل ثورة فى الدوائر الالكترونية من حيث الحجم
والعمليات التى يقوم بها حيث يمكن بمتكامله صغيرة ان يعمل مجموعة هائلة من العمليات وبدقة متناهية تبلغ يضع نانوثانية
بارك الله فيك
عريبى محمود غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 26-04-2014, 09:05 PM   #5
eng.taha
مهندس جيد

الدولة: baghdad
المشاركات: 281
أحصائية الترشيح

عدد النقاط : 320


النشاط

معدل تقييم المستوى: 0
افتراضي

شكرا استاذنا على الموضوع الجميل من ومان كان ودي اتعلم برمجة البيك...بأنتضار اكمال الموضوع
eng.taha غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 26-04-2014, 10:04 PM   #6
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي

الشكر الجزيل لجميع الأخوة المشاركين والمتابعين

مع تمنياتى بدوام التوفيق
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 26-04-2014, 10:04 PM   #7
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي

الخطوة الأولى : اختيار الميكروكونترولر PIC الخاص بك :
قبل البدء فى كتابة البرنامج ، سوف تكون فكرة جيدة أن تؤدى بعض المهام الابتدائية (الأولية) .
• فى البداية تحتاج إلى ملخص للمشروع ، ما الذى أنت عازم على فعله وما الذى يفعله بالضبط .
• الخطوة التالية هى رسم مخطط الدائرة الكهربية ، والبحث على وجه الخصوص فى مداخل ومخارج الميكروكونترولر . فكل جهاز PIC له عدد محدد من المداخل والمخارج ، يجب أن تستخدم هذا بوصفه واحدا من العوامل الحاسمة فى الجهاز المستخدم ، وبالتالى يجب عليك عمل قائمة بجميع المدخلات والمخرجات المطلوبة . فى البداية سوف نستخدم الميكروكونترولر PIC16F54 ( له حتى 12 مدخل / مخرج ) .
مثال رقم 1 :
ملخص المشروع :
"تصميم جهاز لحساب أو عد عدد مرات الضغط على مفتاح ضاغط وعرض القيمة على شاشة سفن سيجمنت ذات رقم واحد . عندما تصل القيمة إلى تسعة (9) يتم إعادته للصفر".
1- شاشة السفن سيجمنت تحتاج لسبعة مخارج .
2- المفتاح الضاغط يحتاج إلى مدخل واحد .
وبالتالى نحتاج إلى 8 أطراف دخل / خرج . فى هذه الحالة ، يمكن استخدام الميكروكونترولر PIC16F54 ، على سبيل المثال ، كما فى الشكل التالى :


مثال رقم 2 :
ملخص المشروع :
تصميم نظام لاختبار 16 مفتاح ضاغط وعرض رقم المفتاح المضغوط ( على سبيل المثال الرقم 11 ) على شاشتين سفن سجمنت .
يبدو من الوهلة الأولى أننا نحتاج إلى عدد غير قليل من المدخلات والمخرجات :
1- الشاشتين السفن سيجمنت تتطلب سبعة مخارج لكل شاشة ، وبالتالى يكون المجموع 14 .
2- المفاتيح الضاغطة تتطلب مدخل لكل مفتاح ، أى الإجمالى 16 .
وبالتالى فإن المجموع الكلى يكون 30 طرف دخل / خرج ، والذى يزيد عن الحد الأقصى لإمكانيات الميكروكونترولر PIC16F54 ، ومع ذلك فإنه لن يكون من الضرورى استخدامها ، لأن هذه القيمة يمكن خفضها بشكل ملحوظ .
عن طريق عملية تعرف بعملية "المسح" scan فإن المفاتيح الضاغطة ، يمكن قراءتها جميعا باستخدام 8 أطراف فقط (8 صفوف و 8 أعمدة) ، وشاشتى السفن سيجمن يمكن التحكم بهما بواسطة 9 أطراف فقط ( 7 بيانات ، و 2 تحكم) . النتيجة أننا نحتاج إلى إجمالى 17 طرف دخل / خرج ، لذلك يمكن استخدام الميكروكونترولر PIC16F57 ، على سبيل المثال . الشكل التالى يبين كيفية تنفيذ ذلك :


• بجعل الطرف المسمى RC0 (صف) عند المنطق "1" (+5V) والأطراف RC1,RC2,RC3 (باقى الصفوف) عند المنطق صفر "0"(0V) ، يتم تمكين المفاتيح 13 إلى 16 .
• بعد ذلك يمكن اختبار كل مفتاح من هذه المفاتيح على حدة عن طريق اختبار الأطراف من RC4 إلى RC7 (الأعمدة) . وبالتالى عن طريق جعل الأطراف من RC0 إلى RC3 عند المنطق واحد "1" واحد تلو الآخر ، يمكن اختبار كل المفاتيح الضاغطة بشكل فردى .
عملية مسح شاشات السفن سيجمنت تنطوى أساسا على :
• عرض عدد على أحد الشاشات لفترة قصيرة ، ثم بعد ذلك يتم فصل off هذه الشاشة أثناء عرض عدد آخر على الشاشة الأخرى .
• الأطراف من RB0 إلى RB6 تحتوى على شفرة البيانات من أجل كل من الشاشتين (على التوازى) ، وعن طريق جعل الطرف RA0 أو الطرف RA1 عند المنطق واحد "1" ، يمكنك تشغيل on أى من الشاشتين بشكل منفرد . وبالتالى فإن العروض تكون فى الواقع وامضة (متقطعة) "تشغيل و فصل" on / off بسرعة عالية ، فتعطى الانطباع (خداع بصرى) بأنهما يكونان فى حالة تشغيل on مستمر .

تمرين :
حدد الميكروكونترولر المناسب لمشروع يستخدم من أجل عد عدد مرات الضغط على مفتاح ضاغط وعرض النتيجة على أربع شاشات سفن سيجمنت ، أى العد سوف يكون حتى "9999" .
الخطوة التالية : إنشاء مخطط السريان (الانسياب) flowchart :
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 26-04-2014, 11:19 PM   #8
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي

الخطوة التالية : إنشاء مخطط السريان (الانسياب) flowchart :
بعد تحديد نموذج معين للميكروكونترولر PIC ، فإن الخطوة التالية هى إنشاء مخطط الانسياب . هذا المخطط يشكل العامود الفقرى للبرنامج ، ويكون أسهل بكثير كتابة البرنامج من مخطط الانسياب عن كتابته من الصفر (البداية) .
مخطط الانسياب يجب أن يظهر الخطوات الأساسية التى يجب أن ينفذها الميكروكونترولر PIC ، ويعرض بناء لهيكل برنامج واضح . البرنامج ممكن أن يكون به "قفزات" jumps أثناء تنقل الميكروكونترولر خلال البرنامج سطر تلو السطر ، فبدلا من تنفيذ التعليمة التالية ، فإنه يقفز إلى جزء آخر من البرنامج . جميع البرامج تتطلب نوعا من القفز ، كما أن البرامج تصنع حلقة ، لا يمكن أن تنتهى .

مثال رقم 1 :
الشكل التالى يوضح مخطط انسياب لبرنامج ببساطة يحافظ على ليد LED فى حالة تشغيل on :


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

مثال رقم 2 :
الشكل التالى يوضح مخطط انسياب لبرنامج من أجل تشغيل ليد عند الضغط على مفتاح ضاغط :


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

تمرين :
ارسم مخطط انسياب يمثل البرنامج المطلوب لعمل وميض لليد ، تشغيل وإيقاف كل ثانية ( on واحد ثانية و off واحد ثانية) ، وجهاز تنبيه buzzer يصدر صوتا لمدة واحد ثانية كل خمس ثوانى .

الخطوة التالية : كتابة البرنامج :
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
رد

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

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

تعليمات المشاركة
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

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

الساعة الآن: 04:20 PM


Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025
Feedback Buttons provided by Advanced Post Thanks / Like (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
القرية الإلكترونية