You are on page 1of 5

‫‪ #define F_CPU 8000000UL:‬هذا ُيعرف كثابت تُستخدم لتحديد تردد الميكروكنترولر‪ .

‬في‬
‫هذه الحالة‪ ،‬تم تعيين تردد الميكروكنترولر إلى ‪ 8‬ميجاهرتز (‪ 8,000,000‬هرتز)‪ .‬هذا القيمة‬
‫تستخدم في حسابات التأخير وأوقات اإلشارة الزمنية‪.‬‬

‫‪ #include <avr/io.h>:‬هذا السطر يقوم بتضمين ملف التصديرات الخاص بميكروكنترولر والذي‬
‫يحتوي على التعريفات والوظائف الالزمة للتحكم في مداخل ومخرجات الميكروكنترولر وغيرها من‬
‫المهام األساسية‪.‬‬

‫‪ #include <util/delay.h>:‬هذا السطر يقوم بتضمين مكتبة تحتوي على وظائف إلنشاء‬
‫تأخيرات‪ .‬سيتم استخدامها في البرنامج لتعيين فترات زمنية محددة‪.‬‬
‫‪ DDRC:‬هذا ُيشير إلى مسجل تحكم في اتجاه المنافذ‬

‫‪ PINC:‬هذا ُيشير إلى مسجل تحكم منفذ اإلدخال‬


‫يستخدم لقراءة قيم المنافذ القادمة من مصادر خارجية مثل أجهزة استشعار أو مفاتيح‬

‫‪ PORTC:‬هذا ُيشير إلى مسجل تحكم منفذ اإلخراج‬


‫تستخدم عادة لتعيين قيم لمنافذ اإلخراج‪ ،‬حيث يمكن تعيينها إما على القيمة العالية (‪ )1‬أو‬
‫القيمة المنخفضة (‪ )0‬وهذا يسيطر على حالة المخرجات‬
‫شاشة ‪LCD‬‬

‫‪ 0x0C:‬هذا األمر ُيستخدم لتفعيل وعرض الشاشة وإخفاء مؤشر اإلدخال‪ .‬وهذا يعني أن‬
‫الشاشة ستكون قابلة للقراءة والكتابة‪،‬‬

‫‪ 0x06:‬هذا األمر ُيستخدم لتحديد اتجاه الكتابة على الشاشة‪ .‬يتم تحديد االتجاه من اليسار‬
‫إلى اليمين‪.‬‬

‫‪ 0x38:‬هذا األمر ُيستخدم لتحديد تكوين الشاشة وحجمها‪ .‬لتحديد أن الشاشة هي شاشة‬
‫‪2X16‬‬

‫‪ 0x01:‬هذا األمر ُيستخدم لمسح الشاشة ومسح محتواها الحالي‬


‫شاشة ‪LCD‬‬

‫‪ unsigned char *arr:‬هذا ُيعرف مؤشر ‪ pointer‬إلى مصفوفة ‪ array‬من األحرف‬


‫الغير موقعة ‪unsigned char.‬‬
‫في هذه الحالة‪ُ ،‬يستخدم المؤشر ‪ arr‬لإلشارة إلى مصفوفة من األحرف‪ ،‬وهذه‬
‫المصفوفة تعتبر سلسلة حروف ‪ string‬في السياق البرمجي‪ .‬االستخدام المشترك‬
‫للمؤشر‬
‫"*" هو لإلشارة إلى المصفوفة أو السلسلة الموجودة في الذاكرة‪.‬‬

‫'‪ :'\0‬هو تحديد نهاية السلسلة ألن الحلقة تقوم بمرور عبر السلسلة حتى تصل إلى هذا‬
‫الحرف لتعرف أن النهاية قد تم الوصول إليها‪.‬‬

You might also like