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


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

ما هي المتحكمات الدقيقة الموجودة؟

بادئ ذي بدء، من الضروري تحديد الوضع مع وحدات التحكم الدقيقة. الحقيقة هي أنه لا يتم إنتاجها من قبل شركة واحدة، ولكن من قبل عدة شركات في وقت واحد، لذلك هناك عدد لا بأس به من وحدات التحكم الدقيقة المختلفة التي لها معلمات مختلفة وميزات مختلفة عند الاستخدام وقدرات مختلفة. وهي تختلف في السرعة والواجهات الإضافية وعدد المسامير. الأكثر شعبية في جميع أنحاء الاتحاد السوفياتي السابق هم ممثلو RIS و AVR. برمجة المتحكمات الدقيقة AVR و PIC ليست صعبة، وهذا ما ضمن شعبيتها.

كيف تتم برمجة المتحكمات الدقيقة؟

تتم برمجة وحدات التحكم الدقيقة، كقاعدة عامة، باستخدام أجهزة خاصة تسمى المبرمجين. يمكن شراء المبرمجين أو صنعهم محليًا. ولكن عند وميض وحدة التحكم الدقيقة باستخدام مبرمج محلي الصنع، فإن احتمال أن يتحول إلى "لبنة" مرتفع جدًا. هناك خيار آخر يمكن اعتباره باستخدام لوحة Arduino كمثال. تعمل اللوحة على وحدة التحكم الدقيقة Atmel وتستخدم لبرمجة وحدات التحكم الدقيقة AVR. تحتوي اللوحة بالفعل على محمل إقلاع مُسبق ومنفذ USB، مما يسمح لك بوميض وحدة التحكم الدقيقة قيد الاستخدام بأمان، دون منح المستخدم إمكانية الوصول إلى البيانات التي قد تؤدي إلى إتلاف وحدة التحكم الدقيقة نفسها. إن برمجة وحدات التحكم الدقيقة للمبتدئين ليست صعبة كما قد تبدو، ومع بعض المهارة والذكاء ستوفر عليك الحاجة إلى اللجوء إلى آلية جديدة.

اختلافات الأجهزة بين المتحكمات الدقيقة المختلفة

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

لغات برمجة المتحكمات الدقيقة

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

وأيضًا، في بعض الحالات، عندما تكون المساحة التشغيلية المستخدمة حرجة، يمكن دمج هذه اللغات. تتمتع جميع بيئات التطوير الخاصة بـ C وC++ تقريبًا بالقدرة على تثبيت إدراجات المجمع في البرنامج. لذلك، إذا ظهرت مشكلة في منطقة حرجة، فيمكنك كتابة إدراج تجميع ودمجه في البرنامج الثابت لوحدة التحكم الدقيقة، ويمكن كتابة البرنامج الثابت نفسه، أو بالأحرى معظمه، باللغة C أو C++. تعد برمجة وحدات التحكم الدقيقة في SI أسهل، ولهذا السبب يختار العديد من الأشخاص هذه اللغات. لكن أولئك الذين لا يخافون من الصعوبات ويريدون فهم خصوصيات كيفية عمل المعدات يمكنهم تجربة لغة التجميع.

كلمات فراق

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

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

[يخفي]

في أي الحالات تكون إعادة برمجة المفاتيح مطلوبة؟

قد تكون أسباب حاجتك لتسجيل المفتاح مختلفة:

  • المفتاح مهترئ وتلف، مما يؤدي إلى عدم استقرار تشغيل السيارة؛
  • وكان من الضروري عمل نسخة مكررة لأفراد الأسرة؛
  • وحدة التحكم في المحرك تالفة.
  • وحدة الإشعال في السيارة تالفة.

بمن يجب الاتصال لتسجيل مفتاح شريحة منع الحركة

عندما يكون هناك سبب لتسجيل المفتاح في نظام منع الحركة، يمكنك الاتصال بمركز الخدمة أو تنفيذ المهمة بنفسك.

إذا كانت السيارة تحت خدمة الضمان، فيجب تسجيل المفتاح في ذاكرة immo فقط في مركز الخدمة.

كيفية تسجيل مفتاح جديد بنفسك

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

خوارزمية الإجراءات

نقوم بتسجيل المفتاح بالترتيب التالي:

  1. أولا، تحتاج إلى إغلاق جميع أبواب السيارة، ثم قم بتشغيل الإشعال باستخدام مفتاح الشريحة وانتظر لمدة 10 ثوان على الأقل.
  2. أطفئ الإشعال. إذا كانت الرموز الموجودة على لوحة المعلومات تومض كل 5 ثوانٍ، فهذا يعني أن البرمجة تتم بشكل صحيح.
  3. مع إيقاف تشغيل الإشعال، قم بإزالة الشريحة في غضون 5 ثوانٍ وأدخل مفتاحًا جديدًا لمزيد من البرمجة. في هذه اللحظة يجب أن تنطلق إشارة الجرس ثلاث مرات.
  4. انتظر 6 ثوان حتى يصدر صوت صفير مرتين أخريين، وبعد ذلك تحتاج إلى إيقاف تشغيل مفتاح الإشعال وسحب مفتاح جديد.
  5. أدخل مفتاح الشريحة وانتظر أولاً حتى تظهر ثلاث إشارات، وبعد 6 ثوانٍ حتى تحصل على اثنتين أخريين.
  6. قم بإزالة مفتاح الشريحة وانتظر لمدة 10 ثوانٍ، ثم أدخل مفتاحًا جديدًا وقم بتشغيل المحرك.
  7. قم بإجراء اختبار قيادة للسيارة.

يُظهر الفيديو إعادة برمجة مفتاح منع الحركة لسيارة محلية، تم تصويره بواسطة قناة Door Doctor.

ميزات البرمجة وربط المفتاح بنظام منع الحركة

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

للبرمجة عليك اتباع الخطوات التالية:

  1. أغلق جميع الأبواب في السيارة.
  2. اضغط مع الاستمرار على الزر الكبير حتى يتوقف الصمام الثنائي عن الوميض. عندما تحرر المفتاح، يجب أن يضيء المؤشر بشكل ثابت.
  3. اضغط على الزر مرة أخرى. يجب أن يخرج الصمام الثنائي.
  4. يجب على السائق فتح الأبواب ووضع المفتاح في مكان التشغيل.
  5. اضغط على الزر الموجود على وحدة المفتاح وفقًا للتعليمات الخاصة بالعلامة التجارية المحددة للنظام.
  6. قم بتنشيط الإشعال، وانتظر لمدة 10 ثوانٍ على الأقل ثم قم بإيقاف تشغيله.
  7. بعد 5 ثوانٍ، يجب أن تكون سلسلة المفاتيح في حالة صالحة للعمل وتحفظ جميع المواضع في الذاكرة.

وحدات التحكم الدقيقة هي نوع خاص من الرقائق المستخدمة للتحكم في الأجهزة الإلكترونية المختلفة.

مقدمة إلى المتحكمات الدقيقة

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

  • أجهزة استشعار للسيارات.
  • ألعاب الأطفال؛
  • مؤشرات الجهد وأجهزة الشحن.
  • لوحات التحكم
  • الأجهزة الإلكترونية المصغرة.

تتم الإدارة باستخدام برامج خاصة.

يوصى للمبتدئين بالبدء في إتقان برمجة المتحكمات الدقيقة من خلال دراسة بنيتها وأنواعها. تنتج الصناعة الأنواع التالية من MK:

  • مدمج؛
  • 8 و16 و32 بت؛
  • معالجات الإشارات الرقمية.

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

قد لا يكون عدد أكواد التشغيل المستخدمة هو نفسه. ولذلك، يتم استخدام أنظمة التعليمات RISC و CISC. الأول يعتبر مخفضًا ويتم تنفيذه في دورة ساعة واحدة للمولد. وهذا يجعل من الممكن تبسيط تنفيذ أجهزة وحدة المعالجة المركزية وزيادة أداء الشريحة. CISC هو نظام معقد يمكنه زيادة كفاءة الجهاز بشكل كبير.

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

عائلات المتحكمات الدقيقة

أكثر عائلات المتحكمات الدقيقة شيوعًا هي:

  • MSP430 (تي)؛
  • ARM (ARM المحدودة)؛
  • إم سي إس 51 (إنتل)؛
  • STMB (STMicroelectronics)؛
  • الموافقة المسبقة عن علم (رقاقة) ؛
  • أفر (اتميل)؛
  • RL78 (رينيساس للإلكترونيات).

واحدة من المنتجات الأكثر شعبية في صناعة الإلكترونيات هي منتجات Atmel، المبنية على نواة RISC. تنتمي الدوائر الدقيقة الأولى، التي تم تطويرها في عام 1995، إلى المجموعة الكلاسيكية. يُنصح المبتدئين بدراسة برمجة متحكمات AVR على نماذج أكثر حداثة:

  • ميجا هي عائلة من الرقائق القوية ذات البنية المتقدمة.
  • منتجات صغيرة وغير مكلفة بثمانية دبابيس.

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

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

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

لغات البرمجة

تختلف لغات برمجة المتحكمات الدقيقة في بنيتها قليلاً عن تلك المستخدمة في أجهزة الكمبيوتر الشخصية. من بينها مجموعات منخفضة وعالية المستوى. يستخدم المبرمجون المعاصرون بشكل أساسي C/C++ و Assembly. هناك نقاشات لا نهاية لها بين أتباع هذه اللغات حول أيهما أفضل.

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

في الواقع، يمكن استخدام أي لغة برمجة لوحدات التحكم الدقيقة تقريبًا. ولكن الأكثر شعبية هو C/C++. هذه لغة عالية المستوى تتيح لك العمل بأقصى قدر من الراحة. علاوة على ذلك، شارك مبدعو لغة C في تطوير بنية AVR. ولذلك، فإن الرقائق التي تنتجها شركة Atmel تتكيف خصيصًا مع هذه اللغة.

يعد C/C++ مزيجًا متناغمًا من القدرات ذات المستوى المنخفض والمستوى العالي. لذلك، من الممكن إدخال إدراجات لغة التجميع في التعليمات البرمجية. منتج البرنامج النهائي سهل القراءة والتعديل. سرعة التطوير عالية جدًا. في هذه الحالة، لا يلزم إجراء دراسة شاملة لبنية MK ونظام أوامر وحدة المعالجة المركزية. تم تجهيز مترجمي C بمكتبات ذات حجم مثير للإعجاب، مما يجعل عمل المبرمج أسهل.

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

المتحكمات الدقيقة PIC

ظهرت المتحكمات الدقيقة الأولى PIC في النصف الثاني من القرن الماضي. اكتسبت رقائق Microchip السريعة ذات 8 بت شعبية على الفور. توفر بنية هارفارد ذات الحافلة المزدوجة سرعة غير مسبوقة. تم تطويره على أساس مجموعة من السجلات التي تتميز بفصل الحافلات.

عند اختيار لغة برمجة للمتحكمات الدقيقة PIC، يجب أن تأخذ في الاعتبار أن عائلة الدوائر الدقيقة تعتمد على تصميم معالج RISC فريد من نوعه. يتيح لك نظام الأوامر المتماثل تحديد طريقة العنونة بشكل تعسفي وتنفيذ العمليات في أي سجل. في الوقت الحالي، تنتج شركة Microchip 5 أنواع من MKs المتوافقة مع كود البرنامج:

  1. PIC18CXXX (75 أمرًا، حزمة الأجهزة المضمنة)؛
  2. PIC17CXXX (58 أمرًا بتنسيق 16 بت)؛
  3. PIC16CXXX (35 أمرًا، مجموعة كبيرة من الأجهزة الطرفية)؛
  4. PIC16C5X (33 تعليمات، تنسيق 12 بت، حزم 18-28 دبوس)؛
  5. PIC12CXXX (الإصدارات ذات 35 و 33 أمرًا، مولد متكامل).

في معظم الحالات، تحتوي وحدات PIC MCU على ذاكرة قابلة للبرمجة لمرة واحدة. هناك نماذج أكثر تكلفة مع محو الفلاش أو الأشعة فوق البنفسجية. تتيح لك مجموعة متنوعة من 500 عنصر اختيار منتج لأي مهمة. الآن تركز الشركة المصنعة جهودها على تطوير إصدارات 32 بت مع زيادة سعة الذاكرة.

لغات برمجة المتحكمات الدقيقة PIC هي Assembler و C. أي بيئة تطوير متكاملة (IDE) مناسبة للبرمجة. البرمجة معهم مريحة للغاية. يقومون تلقائيًا بترجمة نص البرنامج إلى رمز الجهاز. من الخصائص المهمة لـ IDE القدرة على محاكاة تشغيل البرنامج النهائي خطوة بخطوة. نوصي باستخدام بيئة تطوير MPLAB. تم إنشاؤه بواسطة شركة Microchip.

قبل البدء في العمل في MPLAB، نوصي بإنشاء مجلد منفصل في كل مرة. يعد ذلك ضروريًا حتى لا يتم الخلط بينك وبين ملفات المشروع. واجهة البرنامج بديهية، ولا ينبغي أن تكون هناك أي صعوبات معها. لتصحيح الأخطاء، يتم استخدام مصححات الأخطاء الخاصة Pickit وICD وREAL ICE وIC PROG. لديهم القدرة على عرض محتويات الذاكرة وتعيين نقاط التفتيش.



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

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

سعة المعالج. طرق تقديم المعلومات.
كل من المعالج والذاكرة عبارة عن أجهزة رقمية "تفهم" الإشارات ذات المستويين فقط: يوجد جهد/تيار، ولا يوجد جهد/تيار على الخط. عادة ما يتم كتابة هاتين الحالتين على النحو التالي: الحالة المنطقية - "1"، والصفر المنطقي - "0". الأوامر والبيانات عبارة عن مجموعة من الآحاد والأصفار. يمكن لخط واحد (يسمى التفريغ) في حالتيه أن ينقل قيمتين فقط. ولكن مع زيادة عدد الأرقام، يزيد عدد القيم أيضًا: رقمان هما بالفعل أربعة، وثمانية أرقام هي بالفعل 256 قيمة. يُسمى الرقم عادة بالبت: الرقم الواحد هو بت واحد. ومجموعة من ثماني بتات هي بايت: ثمانية بتات هي بايت واحد. لكن البايت الواحد يحتوي على 256 قيمة فقط. لنقل المزيد من المعلومات، يتم استخدام عدة بايتات موجودة بشكل تسلسلي في الذاكرة. بايتان ينقلان بالفعل قيم 65536. ثلاث بايت - 16777216 قيمة! وما إلى ذلك وهلم جرا. المعالجات الأكثر شيوعًا هي تلك التي يمكنها معالجة ثمانية بتات في عملية واحدة، ولهذا السبب تسمى هذه المعالجات بثمانية بتات.

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

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

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

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

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

متعددة الوظائف من دبابيس متحكم.
قد يطرح السؤال التالي: كيف "تتواصل" كل هذه الأجهزة مع العالم الخارجي، إذا كانت معظم الرقائق الموجودة في حزمة DIP لا تحتوي على أكثر من 40 طرفًا؟ لحل مشكلة نقص الدبوس، يتم استخدام طريقة لدمج وظائف عدة أجهزة باستخدام دبوس واحد. على سبيل المثال، تُستخدم منافذ أحد المنافذ (8 بت - 8 دبابيس) أيضًا لتشغيل محول تناظري إلى رقمي، وتستخدم منافذ منفذ آخر كمدخلات لمقارنات تناظرية، أو منفذ تسلسلي، أو ربط العقد المدمجة الأخرى. للتحكم في أوضاع تشغيل المنافذ، يتم استخدام سجل خاص للتحكم في وضع تشغيل المنفذ (تمت مناقشته مسبقًا عند شرح مبادئ تشغيل المنفذ). في معظم وحدات التحكم الدقيقة، يكون للدبابيس وظائف متعددة. إذا قمت بالرجوع إلى الوثائق الفنية لوحدة التحكم، فعند وصف وظيفة الإخراج، سيتم تقديم ملاحظة حول الوظائف الرئيسية والبديلة لهذا الإخراج. على سبيل المثال: PD0/RX - البتة الصفرية للمنفذ D هي أيضًا مدخلات المنفذ التسلسلي، PB1/Ain0 - البتة الأولى للمنفذ B هي أيضًا مدخلات المقارنة التناظرية.

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

أوامر الفرع: الفروع المشروطة وغير المشروطة.
تتضمن تعليمات المعالج الخاصة تعليمات القفز المشروطة وغير المشروطة. لفهم ذلك، لا بد من شرح مفهوم “مؤشر عنوان الأمر الذي يتم تنفيذه”. يحتوي المعالج على سجل خاص يقوم بتخزين عنوان التعليمات المنفذة حاليًا. عند توصيل الطاقة، تتم إعادة تعيين هذا السجل ويتم كتابة صفر عليه. بعد ذلك، يبدأ المعالج في تنفيذ الأوامر المخزنة في الذاكرة، بدءًا من العنوان صفر - بعد كل شيء، يحتوي سجل مؤشر العنوان للأمر المنفذ على صفر. وبعد تنفيذ الأمر يتم تجريم هذا المؤشر، أي تزداد قيمته. يقرأ المعالج التعليمات التالية من الذاكرة على العنوان المحدد في المؤشر. أي أن الأوامر يتم تنفيذها بالتسلسل. يمكنك كسر تسلسل تنفيذ البرنامج باستخدام أوامر الانتقال المشروطة وغير المشروطة. للقيام بذلك، يتم تخزين أمر في إحدى خلايا الذاكرة، لتوجيه المعالج لتغيير قيمة سجل مؤشر العنوان للتعليمات التي يتم تنفيذها. تعليمات الانتقال غير المشروط ترشد المعالج إلى تغيير الترتيب التسلسلي لتنفيذ البرنامج والبدء في تنفيذ التعليمات المخزنة في الذاكرة بدءًا من العنوان المحدد مسبقًا.
يعد أمر الانتقال الشرطي أكثر تعقيدًا: عند تنفيذه، فإنه يتحقق من استيفاء بعض الشروط. على سبيل المثال، تحتاج إلى مقارنة قيمة خليتين من الذاكرة. إذا كانت قيمة الخلية الأولى أكبر، فاستمر في تنفيذ البرنامج على العنوان A، وإلا (أي قيمة الخلية الأولى أقل) - انتقل إلى العنوان C.

المقاطعات وأنواعها. أولويات المقاطعة.
هناك طريقة أخرى "لإجبار" المعالج على إيقاف التنفيذ المتسلسل للبرنامج والبدء في تنفيذ البرنامج على عنوان محدد - استدعاء "المقاطعة". ظهر مفهوم الانقطاع مع المعالجات الأولى. المشكلة هي أن المعالج يتحكم في الأجهزة الأبطأ منه. على سبيل المثال، يجب على المعالج معالجة البيانات حتى تظهر إشارة معينة. لنعطي مثالا بسيطا: يقوم المعالج بتشغيل برنامج لحساب عدد النبضات المستلمة في أحد منافذه. عند الضغط على الزر، يجب على المعالج مقاطعة تنفيذ هذا البرنامج وتنفيذ برنامج آخر: قم بتشغيل بعض الأجهزة (أي، قم بتطبيق جهاز منطقي على إحدى بتات المنفذ - "1"). كيفية حل هذه المشكلة؟ في البرنامج نفسه، يمكنك استطلاع الرقم المطلوب للمنفذ الذي يتصل به الزر باستمرار. ولكن في الوقت نفسه، سيتم إنفاق جزء من موارد المعالج (السرعة) عمليا على استطلاع المنفذ. الطريقة الثانية هي استخدام المقاطعات. يحتوي المعالج (وبالتالي المتحكم الدقيق) على دبوس خاص. يُشار إليه عادةً باسم "Int" (بالإنجليزية: "Interrupt"). عند تطبيق إشارة على طرف "Int"، تحدث الإجراءات التالية:
- إيقاف تنفيذ البرنامج الرئيسي،
- يتم تخزين قيمة سجل مؤشر العنوان للأمر المنفذ في ذاكرة الوصول العشوائي (المكان الذي يتم فيه مقاطعة تنفيذ البرنامج)،
- وبعد ذلك يتم تحميل عنوان جديد في نفس السجل (حسب رغبة الشركة المصنعة للمعالج)،
- في خلية الذاكرة ذات العنوان المحدد يوجد أمر انتقال غير مشروط: "انتقل إلى العنوان xx"،
- في الذاكرة، بدءًا من الخلية ذات العنوان xx، يوجد برنامج آخر، دعنا نسميه برنامجًا مساعدًا.

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

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

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

لغات البرمجة وتقسيمها الوظيفي.
وتدريجيًا، شكلت هذه المعايير المتباينة لاستخدام الوحدات ما أطلق عليه لاحقًا "لغات البرمجة". مثل اللغات البشرية، تحتوي لغة البرمجة على عدة مستويات فرعية تحدد كتابة الكلمات الفردية (الوحدات) وطرق كتابتها، بالإضافة إلى قواعد استخدامها. مع مرور الوقت، تطورت لغات البرمجة وتغيرت. وتدريجياً تم تقسيم جميع لغات البرمجة إلى عدة مجموعات حسب “توجهها المهني”:
- لغات البرمجة التطبيقية (FORTRAN لعلماء الرياضيات، FoxPro للعاملين الماليين)؛
- عالمي (باسكال وأساسي)؛
- نظام (المجمع وC).

بدأت تسمى كلمات النظام باللغات ذات المستوى المنخفض، أي أن المبرمج يعمل على المستوى الأدنى، الأقرب إلى المعالج. واللغات، عند العمل التي لا يتعين على المبرمج التحكم فيها بشكل مباشر في تشغيل المعالج، بدأت تسمى اللغات عالية المستوى (يشار إليها غالبًا باسم لغات جافا). لا تخلط بين هذا الاختصار واسم لغة Java - "Java".

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

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

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

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

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

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

3. يجب عليك تحديد لغة البرمجة، والتي نخطط لكتابة برامج لـ MK.
يعد اختيار لغة البرمجة مهمة حساسة للغاية. لتدريس برمجة المتحكمات الدقيقة، أود استخدام لغة برمجة ذات بناء جملة بسيط: يجب على المبرمج أن يتعامل مع البرنامج، ولكن ليس تصميمه!
من الضروري هنا تقديم توضيح مقدمًا: حاليًا، هناك ثلاث "عائلات" من اللغات تحظى بشعبية كبيرة بين مطوري البرامج والأجهزة على وحدات التحكم الدقيقة: C (مكتوبة كـ "C")، وباسكال (باسكال) وبيسيك (BASIC). . تم تطوير باسكال في الأصل كأداة لتعلم البرمجة. تشبه لغة BASIC نفسها لغة Pascal من حيث البنية، إلا أن كتابة الأوامر مبسطة ومتطلبات تصميم البرنامج أقل بكثير. تعتبر لغة C لغة للمحترفين. يشبه شي الفلسفة الصينية: ليس الرمز (الأمر) هو المهم فحسب، بل أيضًا أسلوبه ولونه. بغض النظر عن النكات، لكن رأيي هو: C كابوس. استخدامه له ما يبرره فقط في بعض المهام المتخصصة بشكل ضيق للغاية. لكن مهمتنا هي تجربة نقاط قوتنا وإنفاقها بأقل قدر ممكن على المهام التي ليس لها صلة مباشرة بالهدف الرئيسي.

4. نحن بحاجة إلى بيئة تطوير برامج للمتحكمات الدقيقة. يعتمد اختياره بشكل مباشر على نوع MK المستخدم ولغة البرمجة.
تعد بيئة تطوير البرنامج مهمة جدًا لإتقان برمجة المتحكمات الدقيقة بنجاح. من الممكن كتابة برامج في محرر نصوص مثل Notepad، لكنه غير مريح (تم اختباره!). ويعد استدعاء المترجم على سطر الأوامر مهمة ناكر للجميل في عصرنا القائم على النوافذ الرسومية.
يعتمد اختيار بيئة التطوير بشكل مباشر على المتحكم الدقيق الذي سنبني عليه الجزء العملي من التدريب. وفوق كل شيء آخر، نحتاج إلى أدوات مجانية. ولكن، كما أظهر اختبار مثل هذه البرامج، فإن البرامج المجانية غالبًا ما تكون ذات جودة متواضعة من وجهة نظر الاستخدام ومن وجهة نظر تعلم برمجة MK: وجود أخطاء أو عيوب في المترجمين أنفسهم يخلق صعوبات إضافية وحرمان المرء من الثقة بالنفس.
ستكون النسخة التجريبية مناسبة أيضًا إذا كان بها الحد الأدنى من القيود وعملت لمدة نصف عام على الأقل - وهذه هي بالضبط الفترة اللازمة لاكتساب مهارات العمل مع وحدات التحكم الدقيقة في المنزل.

5. مبرمج سيتم استخدامه لتحميل البرامج المكتوبة في ذاكرة عضو الكنيست. يعتمد اختيار المبرمج أيضًا على نوع MK المستخدم. هناك، بالطبع، مبرمجون "عالميون" يسمحون لك بالعمل مع وحدات تحكم دقيقة وشرائح ذاكرة مختلفة، لكنها باهظة الثمن. نعم، وغير مطلوب في معظم الحالات. ولذلك، فمن الأسهل إنتاج شيء متخصص للغاية لهذه العائلة من أعضاء الكنيست.
لكن النقطة المهمة ليست تعقيد دوائر المبرمج بقدر ما تتعلق بطريقة توصيل هذا المبرمج بالكمبيوتر. من الضروري هنا التوضيح: المبرمج عبارة عن محول إلكتروني يحول الإشارات من واجهات الكمبيوتر (منافذ COM و LPT و USB) إلى إشارات يتم توفيرها لمخرجات MK لتحميل البرنامج في ذاكرته. يتم التحكم في المحول الإلكتروني بواسطة برنامج كمبيوتر، والذي "يجبر" المحول على إصدار التسلسلات اللازمة من الإشارات إلى دبابيس MK.
إذا كان من الممكن صنع محول مبرمج متصل بجهاز كمبيوتر عبر منافذ COM و LPT في المنزل - "على الركبة"، فإن صنع مثل هذا المحول، ولكنه متصل بمنفذ USB، يمثل بالفعل مشكلة إلى حد ما: قلب مثل هذا المحول هو في كثير من الأحيان... متحكم دقيق. تنشأ هنا مفارقة: من أجل برمجة MK، نحتاج إلى برمجة MK.
يطرح سؤال منطقي: لماذا تصنع محولًا معقدًا يتصل بـ USB بينما يمكنك إنشاء محول بسيط وتوصيله بمنفذ LPT أو COM. الشيء هو أن العديد من أجهزة الكمبيوتر الحديثة (جميعها تقريبًا) لا تحتوي على هذه المنافذ. لذلك، سيتعين عليك إنشاء محول أكثر تعقيدا لبرمجة MK.

مارس 2010

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

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

إجابة السؤال رقم 2
متحكم دقيق تم تصنيعه بواسطة ATMEL ATMEGA48. تم وصفه بشكل جيد، وقد ظل في الإنتاج لعدة سنوات، وليس من المخطط إيقافه لمدة 3 سنوات أخرى على الأقل، ويتمتع بمعايير فنية مثالية.

أجوبة السؤالين 3 و 4
بيئة البرمجة هي BASCOM (تم تصنيعها بواسطة MCS Electronics، المؤلف مارك ألبرتس). لغة البرمجة مشابهة في الأسلوب ومتطلبات تصميم نص البرنامج لباسكال، ولكن بناء جملة الأمر مأخوذ من BASIC.
أسباب الاختيار:
- نسخة تجريبية كاملة الوظائف من المترجم (القيد الوحيد: يقتصر حجم الكود الذي أنشأه المترجم على 4 كيلو بايت)
- رغبة مؤلف البرنامج في التعاون (لقد قمت بترجمة رسائل الواجهة ونظام المساعدة إلى اللغة الروسية، وقام بإضافة اللغة الروسية إلى هذا البرنامج)
- وجود منتدى باللغة الروسية لمستخدمي هذا المترجم

إجابة السؤال رقم 5
لم يكن من الممكن الجمع بين بساطة الدائرة وUSB. تقرر وصف نموذجين من المبرمجين: أحدهما يتصل بمنفذ LPT للكمبيوتر، والثاني بمنفذ COM. إذا كانت هذه المنافذ مفقودة، فيمكن توصيل الإصدار الثاني من المبرمج بجهاز كمبيوتر باستخدام محول USB-COM. هذه هي الطريقة التي نحصل بها على مجموعة USB-COM-programmer-microcontroller.
يُعرف النموذج الأول للمبرمج باسم STK-200/300، ويحتوي على شريحة عازلة للحالة الثالثة والعديد من المقاومات. النموذج الثاني هو مبرمج USBasp المعروف.

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

عندما تشير المعدات المكتبية إلى الحاجة إلى استبدال حاوية الحبر، ضع في اعتبارك أن هذا لا يعني أنه لا يوجد حبر متبقي فيها فعليًا. لقد وصلت الخرطوشة المقطوعة إلى حد معين من الصفحات المطبوعة. وعليهم، بدورهم، لا يمكن أن يكون هناك سوى 5-6 أسطر من النص. اتضح أن مستوى الحبر للطابعة والطابعة متعددة الوظائف يتم حسابه برمجيًا، وكقاعدة عامة، لا توجد معلومات حول مقدار الحبر المتبقي فعليًا في الحاوية. ولهذا السبب غالبًا ما يُطرح السؤال حول كيفية إعادة ضبط الشريحة الموجودة على الخرطوشة من أجل استهلاك كل الحبر الموجود في حاويتها.

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

كيفية استخدام المبرمج؟

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

يمكن لمبرمج الرقائق العمل مع عدد كبير من الرقائق من طابعات مختلفة. إنه سهل الاستخدام (غالبًا ما يحتوي هذا البرنامج على وظيفة برمجة تلقائية)، ويحتوي على واجهة USB كاملة، وتحكم يدوي وتلقائي في طاقة CRUM، بالإضافة إلى بيئة العمل.

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

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

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

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

إعادة الضبط الذاتي

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

  • بادئ ذي بدء، قم بإزالة المواد الاستهلاكية من المعدات المكتبية.
  • انقر فوق الزر "إلغاء" في قائمة الخدمة بجهاز الطباعة أثناء الضغط باستمرار على "موافق". وبعد بضع ثوان، يمكنك تحرير كلا الزرين.
  • ابحث عن عنصر في القائمة يسمى "قائمة إعادة الضبط"، ثم انقر على "موافق".
  • الآن يجب عليك تحديد "إعادة الضبط الجزئي". سيتم بعد ذلك إيقاف تشغيل جهازك.
  • قم بتشغيل الطابعة أو الجهاز متعدد الوظائف، وحدد منطقتك ولغتك، ثم اتبع جميع الإرشادات التي يقدمها لك جهاز الطباعة.
  • تحقق من مستوى الحبر إذا لم تكن هذه المعلمة 100 بالمائة، ثم كرر الخطوات المذكورة مسبقًا مرة أخرى. ومع ذلك، بدلاً من عنصر "إعادة الضبط الجزئي"، تحتاج إلى النقر فوق "إعادة الضبط شبه الكامل".
  • وبدلاً من ذلك، يمكنك محاولة الضغط باستمرار على زر إعادة الضبط/الإيقاف الموجود على جهاز الطباعة نفسه لمدة عشر ثوانٍ تقريبًا. بفضل هذا الإجراء، لن تتم مراقبة مستوى الحبر في المادة المستهلكة بواسطة الطابعة. لكن هذا النهج له عيب واحد. الحقيقة هي أنه بعد هذه العملية، سيتعين عليك مراقبة مستوى الحبر في كل خرطوشة بنفسك.

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

ماذا تفعل إذا لم تتمكن من إعادة ضبط الشريحة؟

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

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