سؤال

ما هي العائلة التي يجب أن أبدأ في تعلمها؟(لم أقم بأي برمجة على المتحكم الدقيق)

هل كانت مفيدة؟

المحلول

من المحتمل أن تكون AVR و PIC اليوم أكثر وحدات التحكم الدقيقة شيوعًا بين الهواة.يحتوي كلاهما على مجموعة واسعة جدًا من متغيرات الأجهزة ويمكن استخدامهما لتحقيق نتائج مماثلة.

بالنسبة للمبتدئين أود أن أقترح AVR لأسباب مختلفة:

  • عائلة AVR (صغيرة، ضخمة) متماسكة وسهلة الفهم.الهندسة المعمارية قوية وحديثة، ومناسبة بشكل خاص لمترجمي C.يمكن بالطبع برمجة AVRs في التجميع أيضًا.

  • نظرًا لبنيتها الصديقة للغة C، تتوفر مترجمات لغة C عالية الجودة، سواء كانت تجارية أو مجانية.يتم نقل دول مجلس التعاون الخليجي في كل مكان إلى AVR ويتم استدعاؤها avr-دول مجلس التعاون الخليجي.

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

  • لديها غنية مجتمع الهواة.

تشتهر PIC بهندستها المعمارية الغريبة.كثير من الناس يحبون الموافقة المسبقة عن علم لهذا، والبعض يكرهها.يعد AVR أكثر وضوحًا ولا يبدو أنه يثير الكثير من الآراء المتطرفة والقطبية.

يتم استخدام كل من AVR وPIC في العديد من التطبيقات التجارية الجادة.ومع ذلك، فهي ليست الخيارات الوحيدة بالطبع.وحدة التحكم الدقيقة المفضلة لدي لكل من الهوايات والعمل التجاري هي عائلة C8051 من Silicon Laboratories، وأبرزها C8051F530.يوجد مترجم ومجمع C مجاني ممتاز لعائلة C8051 يسمى SDCC.

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

نصائح أخرى

تعلم مديري الأساسيات باستخدام AVR في غضون أسبوع دون خبرة سابقة.

أود أن أقترح AVR.لقد تجاوزت PIC بكثير باعتبارها منصة المتحكم الدقيق المفضلة لمشاريع الهواة العامة.وعلى الأخص، فكر في منصة Arduino (وغيرها من منصات *duino)، التي توفر AVR عالي الجودة في واجهة سهلة الاستخدام وعامل شكل شائع.

أفضّل كثيرًا AVR على PIC، الذي أجد أن هندسته فوضوية بعض الشيء.قد أكون أنا فقط، ولن يزعجك ذلك إذا كنت تستطيع الكتابة بلغة عالية المستوى، على الأرجح (بعض لهجات) C.

نظرًا لأنك جديد على وحدات التحكم الدقيقة، أفترض أن الأداء لن يكون هو المشكلة، لذا بدلاً من ذلك سأبحث عن توفر أدوات التطوير:لوحات النماذج الأولية، وIDE، وأدوات المحاكاة/تصحيح الأخطاء.أنا شخصياً أحببت AVR Studio (بيئة التطوير المجانية لـ Atmel) كثيرًا.

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

علق بعض الأشخاص على البنية الغريبة (وغير الودية) لـ PIC micro.ينطبق هذا على الصور الأصغر حجمًا، لكن الرقائق ذات 16 بت (PIC24F، dsPIC30، إلخ) تتمتع ببنيات واضحة جدًا تعمل بشكل جيد جدًا مع لغة C.

يتمتع خط PIC24F بالقدرة على تعيين أطراف للوظائف (المؤقتات، A/D، الإدخال/الإخراج التسلسلي) بسرعة، مما يجعل التصميم أسهل قليلاً.بيئة MPLAB لتصحيح الأخطاء والتطوير لطيفة جدًا.

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

البرمجة في المجمع هي تجربة.عليك أن تتعلم حوالي 100 مفهوم قبل أن تتمكن من وميض مؤشر LED.(مؤقت المراقبة، دبابيس إعادة التعيين، عدادات/تجاوزات 8 بت، حلقات التأخير، سداسي عشري، ثنائي، إخفاء البتات، المقاطعات، طلبات خدمة المقاطعة، منافذ الإدخال والإخراج، وما إلى ذلك) كل ذلك تعليمي للغاية - وشعور رائع بالاقتراب جدًا إلى الجهاز - ولكن القدرة على ترميز شيء ما في لغة C سوف تخفي بعضًا من هذا التعقيد حتى تتمكن من التركيز على النتائج.لهذا السبب أود أن أقول اذهب مع AVR.(وأعتقد أن الأسعار الآن أقرب إلى بلدان جزر المحيط الهادئ.)

أيضًا:إذا كنت مهتمًا بإنجاز الأمور (ولا تمانع في إنفاق ما يقرب من 30 دولارًا) فراجع اردوينو.كان رجل يبيعها في متجر الإلكترونيات المحلي الخاص بي يقول إنه يبيع عددًا كبيرًا منها لطلاب الفنون.(يستخدم IDE من مشروع المعالجة، ويجمع التعليمات البرمجية باستخدام avr-gcc.)

تحديث:تم إصلاح التعليق الذي يقوم Arduino بتشغيل التعليمات البرمجية المفسرة.تم أيضًا تحديث سعر Arduino التقريبي.

لا أفهم ما هي المشكلة الكبيرة مع الاردوينو، فهو سيدمر فرصتك في فهم ما يحدث بالفعل.أقوم بالبرمجة باستخدام AVR وPIC بانتظام، ولا يوجد فرق كبير في الأساس، ولا أستطيع أن أرى سبب هذه الضجة الكبيرة.ومع ذلك، بالنسبة للمبتدئين، ابتعد عن الاردوينو، قد يكون الأمر بسيطًا، ولكن هذا هو الفخ، فهو لا يمنحك أي مفهوم لهندسة الأجهزة، ولا فكرة عما يحدث خلف الكواليس، الأشياء التي يحتاج المبتدئون إلى تعلمها ليكونوا مبرمجين فعالين.عندما كنت مبتدئًا، بدأت مع ATmega32، وهو مبرمج USBasp بقيمة 20 دولارًا، وAVR Studio (مجاني) وAVRDude (يأتي مع WinAVR) واتبعت البرامج التعليمية التمهيدية في AVR Freaks.هذا هو كل ما تحتاجه، تم!!!

ملاحظة.إذا كنت تريد حقًا أن تتعلم كيفية برمجة الميكرو وأن يكون لديك الوقت الكافي لتعلم أداة التجميع الخاصة بالميكرو الخاص بك، فسوف تكون مبرمج لغة C 20 مرة أكثر من أي شخص بدأ باستخدام اردوينو.

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

أنا أصوت لصالح TI MSP430 مسلسل.لقد استخدمت صور PIC على نطاق واسع (أيضًا رقائق Atmel قليلاً) وأهم شيء بالنسبة لي هو IDE الجيد لتصحيح الأخطاء.لقد قامت TI بعمل جيد جدًا في هذا الشأن، ويعمل برنامج التحويل البرمجي C++ الخاص بها بشكل جيد حقًا.يمكنك البدء باستخدام لوحة التقييم بأقل من 100 دولار بما في ذلك مصحح أخطاء IDE + USB.تحتوي صور PIC على أجهزة طرفية أفضل وأكثر تنوعًا، ولكن MPLAB عبارة عن قطعة من الهراء وC++ IDE الوحيد لصور PIC هو واحد من IAR وهو مكلف إلى حد ما.(أكثر من 2 ألف دولار)

لقد اخترت/اخترنا الموافقة المسبقة عن علم في الغالب بسبب وجود المزيد من الأجهزة الطرفية بنفس السعر.والأهم من ذلك، أنه لا يمكنك حتى العثور على أجهزة AVR قابلة للمقارنة.لقد اخترت أحد الإصدارات المجانية القديمة (بدأت بـ PIC18، وانتقلت إلى dspic33)

إن IDE مجاني، والمترجم (C) مجاني في إصدار الطالب (الذي يعطل التحسين بعد الشهر الأول).المبرمجون على مستوى الدخول رخيصون إلى حد ما أيضًا.إذا كان لديك عدد كبير من المقاطعات والعدادات والمؤقتات، فهناك احتمال أنك لن تحتاج إلى التحسين على الإطلاق.المبرمج مباشرة من Microchip هو 30 دولارًا.

لاحظ أن الملاحظات المذكورة أعلاه حول تقديم AVR المزيد لتطوير HLL قد عفا عليها الزمن قليلاً إلا إذا اخترت البنى القديمة مثل PIC12 و16.

عادةً ما يتم برمجة معماريات PIC18 (8 بت) الأكثر حداثة و16 بت (24F و30F وdspic33 والتي تعتمد على نفس النواة الرئيسية) في لغة C.حتى أن الـ 16 بيتر تستخدم دول مجلس التعاون الخليجي.يوجد الآن أيضًا معالجات 32 بت تعتمد على MIPS، لكنها تنافس بشكل أكبر مع ARM في مشهد معالجة الصوت/الفيديو.ومن الغريب أن الحديثة غالبا ما تكون أرخص من القديمة.من المحتمل أن يتم إنتاجها بعملية أكثر حداثة ذات إنتاجية أعلى.

ملاحظة أخرى:وفي الوقت نفسه، اشترت شركة Microchip/PIC شركة Atmel/AVR، لكنني أفترض أن ذلك لن يؤثر كثيرًا على خطوط الإنتاج خلال السنوات القليلة الأولى.

إنني أتطلع حقًا إلى شبكة إيثرنت 60MIPs التي تم تمكينها 16 مرة والتي سيتم إصدارها هذا الصيف (سعر شارع afaik أعلى بقليل من 10 يورو)

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

لكن هذا لم يجيب على سؤالك، لأنه على الرغم من أن Arduino يعتمد على AVR، إلا أنك لا تستطيع أن تشعر بوجود AVR MCU خلف IDE الحديث.:)

لقد حققت نجاحًا أكبر بكثير مع PIC بينما كنت في البداية.لقد حاولت الحصول على مجموعة أدوات بسيطة من Arduino ولم أتمكن من الحصول على مجموعة أساسية جيدة دون إنفاق أكثر من 100-200 دولار من النيكل وتعتيم الإعداد معًا.حصلت على مجموعة أدوات بداية صغيرة رائعة من PIC مقابل 40 دولارًا تقريبًا وهي تحتوي على كل شيء:IDE، مبرمج، لوحة بداية مع دوائر مدمجة للعروض التوضيحية والبرامج التعليمية.عملية شراء واحدة.كما أن بيئة الموافقة المسبقة عن علم (PIC) كانت سهلة الإعداد والعمل.كنت ألعب معها في غضون ساعة.

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

مؤخرًا، قمت بتجربة مجموعة متنوعة أخرى من صور PIC، الرخيصة جدًا بيكاكس.واجهة البرمجة المضمنة سهلة الاستخدام.أيضًا، لربط PICAXE فعليًا، تحتاج فقط إلى منفذ RS-232 لبرمجته ودبوسين على الشريحة (لا حاجة للقيام بتغيير المستوى).لقد قمت بتضمين PICAXE في حاويات صغيرة جدًا (تتوفر شرائح SMD وDIP) وقد عملت بشكل جيد.

ليس لدي أي خبرة في برمجة المتحكمات الدقيقة في التجميع.إذا كنت ترغب في تجربة ذلك، فقد يكون AVR أكثر ملاءمة بسبب مجتمع المستخدمين الأكبر حجمًا.

على حد علمي، فإن أرخص طريقة لبرمجة AVR باستخدام أدوات ATMEL هي ATMEL AVR ISP mkII مقابل 35 دولارًا.يمكنك العثور على مبرمجين خارجيين مقابل 10-15 دولارًا.

سأقوم باختياري بناءً على توفر مترجم C المتقاطع.في الماضي، كان ذلك يجعل AVR هو الاختيار.لست متأكدًا من الوضع الآن.

لقد قمت ببرمجة الموافقة المسبقة عن علم في المجمع، ولم يكن الأمر ممتعًا كثيرًا.C أجمل بكثير من نواحٍ عديدة.

من أفضل ميزات AVR هو المجتمع الموجود في المنتديات على www.avrfreaks.net.لديك مجموعة من مهندسي الإلكترونيات ذوي الخبرة الذين يتسكعون، على استعداد لمساعدة المبتدئين على البدء.

أود أن أقول إنني أجد أن المتحكم الدقيق 8051 هو الأسهل وقد توصلت شركة Atmel إلى وحدات تحكم دقيقة تحتوي على العديد من الوظائف المدمجة ....ولكن لا يزال الناس يفضلون استخدام AVR...سوف ترتفع يدي مع عائلة 8051 (إذا وجدت مريحة) وإلا فإن AVR ...

أنا أحب AVR.من السهل برمجة والموارد المتاحة.هناك عدد قليل من المجتمعات مثل اردوينو الذي يعمل معها.

المزيد من المناقشات حول تفوق AVR، على Stack Overflow الآخر:http://embeddedgurus.com/stack-overflow/2009/04/pic-stack-overflow/

إن شعبية صور 8 بت PIC تحيرني.إنها الهندسة المعمارية فظيعة - مكدس المكالمات المحدود هو مجرد أول شيء مروع.رمي الحاجة إلى الترحيل والخدمات المصرفية مع متجه المقاطعة الواحد ولديك كابوس لنموذج البرمجة.سيكون شيئًا واحدًا إذا كان هذا هو المعيار لأجهزة 8 بت - لكنها ليست كذلك.تهب بنية AVR الموافقة المسبقة عن علم بعيدًا ، في حين أن HC05 / HC08 هي أيضًا شوارع متقدمة عن الصورة.بالنظر إلى الاختيار ، أعتقد أنني سأستغرق 8051 على الصورة.لا أرى أي مزايا من حيث التكلفة ، مزايا التغليف (Atmel قد أصدرت للتو SOT23-6 AVR وهو مجموعة تعليمية متوافقة مع أكبر أجهزتها) أو مزايا مجموعة المحيطية.باختصار، أنا لا أفهم!بالمناسبة ، هذه ليست لائحة اتهام للرقاقة الدقيقة - إنها شركة رائعة وأحب حقًا الكثير من منتجاتهم الأخرى ، وموقع الويب الخاص بهم ، ودعمها الفني وما إلى ذلك (ربما هذا هو السبب في أن الصورة تستخدم على نطاق واسع؟)

لقد بدأت باستخدام Motorola M68HC11، وكان الأمر بسيطًا بما فيه الكفاية.أعتقد أنك ستحصل على نفس التجربة تقريبًا مع أي وحدات تحكم 8 بت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top