كود تفعيل العضوية - الابلاغ عن روابط لاتعمل - صيانة التلفزيون - الحاسبة - الأعضاء المتميزين - البرامج و المخططات - بث مباشر للقنوات الفضائية - إذاعة - تردد القنوات - بحث
|
التسجيل | اجعل كافة المشاركات مقروءة |
منتدى الإلكترونيات قسم الالكترونكس لمناقشة الافكار والمعلومات المتعلقة بالهندسة الالكترونية للمبتدئين والهواة والفنيين - Electronics |
![]() |
|
أدوات الموضوع |
![]() |
#1 |
استاذ و مشرف قسم الالكترونيات
المشاركات: 6,894
معدل تقييم المستوى: 332
|
![]() مدخلك الشخصى إلى الميكروكونترولر 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/
__________________
مقالات المهندس فتح الله عبدالعزيز |
![]() |
![]() |
اعلانات |
![]() |
#2 |
استاذ و مشرف قسم الالكترونيات
المشاركات: 6,894
معدل تقييم المستوى: 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 الخاص بك :
__________________
مقالات المهندس فتح الله عبدالعزيز |
![]() |
![]() |
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها ) | |||
|
![]() |
#3 |
مهندس متميز
![]()
المشاركات: 496
معدل تقييم المستوى: 0
|
![]() الله يعطيك العافية مهندس فتح الله ..
|
![]() |
![]() |
![]() |
#4 |
( رحمه الله عليه )
الدولة: لا تسأل الطغاه لماذا طغو بل اسأل العبيد لماذا انحنو
المشاركات: 3,139
معدل تقييم المستوى: 187
|
![]() السلام عليكم ورحمة الله وبركاته ---------------------------------- استاذنا الغالى فتح الله عبد العزيز مجهود رائع تشكر عليه فعلا البيك عمل ثورة فى الدوائر الالكترونية من حيث الحجم والعمليات التى يقوم بها حيث يمكن بمتكامله صغيرة ان يعمل مجموعة هائلة من العمليات وبدقة متناهية تبلغ يضع نانوثانية بارك الله فيك |
![]() |
![]() |
![]() |
#5 |
مهندس جيد
![]() الدولة: baghdad
المشاركات: 281
معدل تقييم المستوى: 0
|
![]() شكرا استاذنا على الموضوع الجميل من ومان كان ودي اتعلم برمجة البيك...بأنتضار اكمال الموضوع
|
![]() |
![]() |
![]() |
#6 |
استاذ و مشرف قسم الالكترونيات
المشاركات: 6,894
معدل تقييم المستوى: 332
|
![]() الشكر الجزيل لجميع الأخوة المشاركين والمتابعين
مع تمنياتى بدوام التوفيق
__________________
مقالات المهندس فتح الله عبدالعزيز |
![]() |
![]() |
![]() |
#7 |
استاذ و مشرف قسم الالكترونيات
المشاركات: 6,894
معدل تقييم المستوى: 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 :
__________________
مقالات المهندس فتح الله عبدالعزيز |
![]() |
![]() |
![]() |
#8 |
استاذ و مشرف قسم الالكترونيات
المشاركات: 6,894
معدل تقييم المستوى: 332
|
![]() الخطوة التالية : إنشاء مخطط السريان (الانسياب) flowchart :
بعد تحديد نموذج معين للميكروكونترولر PIC ، فإن الخطوة التالية هى إنشاء مخطط الانسياب . هذا المخطط يشكل العامود الفقرى للبرنامج ، ويكون أسهل بكثير كتابة البرنامج من مخطط الانسياب عن كتابته من الصفر (البداية) . مخطط الانسياب يجب أن يظهر الخطوات الأساسية التى يجب أن ينفذها الميكروكونترولر PIC ، ويعرض بناء لهيكل برنامج واضح . البرنامج ممكن أن يكون به "قفزات" jumps أثناء تنقل الميكروكونترولر خلال البرنامج سطر تلو السطر ، فبدلا من تنفيذ التعليمة التالية ، فإنه يقفز إلى جزء آخر من البرنامج . جميع البرامج تتطلب نوعا من القفز ، كما أن البرامج تصنع حلقة ، لا يمكن أن تنتهى . مثال رقم 1 : الشكل التالى يوضح مخطط انسياب لبرنامج ببساطة يحافظ على ليد LED فى حالة تشغيل on : ![]() صندوق "الإعداد" setup يمثل بعض الخطوات التى يجب اتخاذها كجزء من بداية كل برنامج ، وذلك لإعداد الوظائف المختلفة ، سوف نتناولها لاحقا . يجب استخدام "مستطيلات بأركان مستديرة" من أجل صناديق البداية start والنهاية finish . يمكن أيضا استخدام القفز الشرطى ( بصناديق على شمل معين ) : "إذا حدث شىء ما ، عندئذ يتم القفز إلى مكان ما " . مثال رقم 2 : الشكل التالى يوضح مخطط انسياب لبرنامج من أجل تشغيل ليد عند الضغط على مفتاح ضاغط : ![]() فى بعض الأحيان صندوق مخطط الانسياب قد يمثل تعليمة واحدة فقط ، ولكن أحيانا أخرى قد يمثل قدرا كبيرا من التعليمات ، ومثل هذا المخطط يسمح لك بتصور بناء هيكل البرنامج دون الخوض فى جميع تفاصيل التعليمات . كتابة البرنامج من مخطط الانسياب ينطوى فقط على كتابة تعليمات أداء المهام التى يمليها كل صندوق ، وبهذه الطريقة يتم تقسيم برنامج كبير إلى أجزاء صغيرة الحجم . تمرين : ارسم مخطط انسياب يمثل البرنامج المطلوب لعمل وميض لليد ، تشغيل وإيقاف كل ثانية ( on واحد ثانية و off واحد ثانية) ، وجهاز تنبيه buzzer يصدر صوتا لمدة واحد ثانية كل خمس ثوانى . الخطوة التالية : كتابة البرنامج :
__________________
مقالات المهندس فتح الله عبدالعزيز |
![]() |
![]() |
![]() |
العلامات المرجعية |
أدوات الموضوع | |
|
|