يعد العرض جزءًا مهمًا جدًا من أي تطبيق نظام مضمن لأنه يساعد المستخدمين على معرفة حالة النظام ويعرض أيضًا الإخراج أو أي رسالة تحذير تم إنشاؤها بواسطة النظام. هناك العديد من أنواع الشاشات المستخدمة في الإلكترونيات مثل شاشة العرض ذات 7 مقاطع وشاشة LCD وشاشة TFT تعمل باللمس وشاشة LED وما إلى ذلك.
لقد واجهنا بالفعل شاشة LCD مقاس 16 × 2 مع ARM7-LPC2148 في برنامجنا التعليمي السابق. اليوم في هذا البرنامج التعليمي سنقوم بواجهة عرض من 7 أجزاء مع ARM7-LPC2148. قبل الخوض في التفاصيل ، سنرى كيفية التحكم في الوحدة المكونة من 7 مقاطع لعرض أي عدد من الأحرف.
7-عرض شرائح
تعد شاشات العرض ذات 7 مقاطع من بين أبسط وحدات العرض لعرض الأرقام والأحرف. يتم استخدامه بشكل عام لعرض الأرقام وله إضاءة أكثر إشراقًا وبنية أبسط من عرض المصفوفة النقطية. وبسبب الإضاءة الأكثر سطوعًا ، يمكن رؤية الإخراج من مسافة أكبر من شاشة LCD. كما هو موضح في الصورة أعلاه لشاشة عرض ذات 7 مقاطع ، فهي تتكون من 8 مصابيح LED ، كل منها يستخدم لإضاءة جزء واحد من الوحدة والمصباح الثامن يستخدم لإضاءة DOT في عرض 7 مقاطع. يتم استخدام 8thLED عند استخدام وحدتين أو أكثر من 7 أجزاء ، على سبيل المثال لعرض (0.1). يتم استخدام وحدة مفردة لعرض رقم أو حرف واحد. لعرض أكثر من رقم أو حرف واحد ، يتم استخدام مقاطع 7 متعددة.
دبابيس عرض 7-Segment
هناك 10 دبابيس ، حيث يتم استخدام 8 دبابيس للإشارة إلى a و b و c و d و e و f و g و h / dp ، والدبابيس الوسطى عبارة عن أنود / كاثود شائع لجميع مصابيح LED. يتم تقصير هذه الأنود / الكاثود الشائع داخليًا ، لذا نحتاج إلى توصيل دبوس COM واحد فقط
بناءً على الاتصال ، نصنف 7-Segment إلى نوعين:
الكاثود المشترك
في هذا ، يتم توصيل جميع المحطات السلبية (الكاثود) لجميع مصابيح LED الثمانية معًا (انظر الرسم البياني أدناه) ، المسماة باسم COM. ويتم ترك جميع الأطراف الموجبة بمفردها أو متصلة بدبابيس وحدة التحكم الدقيقة. إذا استخدمنا متحكمًا دقيقًا ، فسنضبط المنطق HIGH لإلقاء الضوء على المعين وتعيين LOW لإيقاف تشغيل LED.
الأنود المشترك
في هذا يتم توصيل جميع المحطات الموجبة (الأنودات) لجميع المصابيح الثمانية معًا ، والتي تسمى COM. ويتم ترك جميع درجات الحرارة السلبية بمفردها أو متصلة بدبابيس وحدة التحكم الدقيقة. إذا استخدمنا متحكمًا دقيقًا ، فسنضع المنطق LOW لإلقاء الضوء على المنطق الخاص وتعيين المنطق High لإيقاف تشغيل LED.
بناءً على قيمة الدبوس ، يمكن تشغيل أو إيقاف تشغيل مقطع أو خط معين من 7 مقاطع لعرض الرقم أو الأبجدية المطلوبة. على سبيل المثال لعرض رقم 0 ، يجب أن نضع دبابيس ABCDEF على أنها HIGH و G فقط على أنها LOW. نظرًا لأن مصابيح ABCDEF LED قيد التشغيل و G متوقفة ، فإن هذا يشكل الرقم 0 في الوحدة المكونة من 7 أجزاء. (هذا بالنسبة للكاثود الشائع ، أما الأنود الشائع فهو عكس ذلك).
يوضح الجدول أدناه قيم HEX والأرقام المقابلة وفقًا لدبابيس LPC2148 لتكوين الكاثود المشترك.
رقم |
قيم HEX لـ LPC2148 |
أ |
ب |
ج |
د |
ه |
F |
جي |
0 |
0xF3 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0x12 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
2 |
0x163 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
3 |
0x133 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
4 |
0x192 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
5 |
0x1B1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
6 |
0x1F1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
7 |
0x13 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
8 |
0x1F3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
9 |
0x1B3 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
هام: في الجدول أعلاه ، قدمت قيم HEX وفقًا للمسامير التي استخدمتها في LPC2148 ، تحقق من مخطط الدائرة أدناه. يمكنك استخدام أي دبابيس تريدها ولكن يمكنك تغيير القيم السداسية وفقًا لذلك.
لمعرفة المزيد حول العرض المكون من 7 أجزاء ، انتقل من خلال الرابط. تحقق أيضًا من واجهات العرض المكونة من 7 مقاطع مع وحدات التحكم الدقيقة الأخرى:
- 7 واجهة عرض شرائح مع Raspberry Pi
- عرض 7 قطاعات تتداخل مع متحكم PIC
- عرض 7 قطاعات تتفاعل مع Arduino
- عرض 7 قطاعات مع متحكم 8051
- 0-99 عداد باستخدام متحكم AVR
المواد المطلوبة
المعدات
- ARM7-LPC2148
- وحدة عرض سبعة أجزاء (رقم واحد)
- اللوح
- توصيل الأسلاك
البرمجيات
- Keil uVision5
- فلاش ماجيك
مخطط الرسم البياني
للربط بين 7 مقاطع مع LPC2148 ، لا يلزم وجود مكون خارجي كما هو موضح في مخطط الدائرة أدناه:
يوضح الجدول أدناه توصيلات الدائرة بين الوحدة المكونة من 7 أجزاء و LPC2148
سبعة دبابيس وحدة الجزء |
دبابيس LPC2148 |
أ |
P0.0 |
ب |
ص 0.1 |
ج |
ص 0.4 |
د |
ص 0.5 |
ه |
P0.6 |
F |
P0.7 |
جي |
P0.8 |
مشترك |
GND |
برمجة ARM7 LPC2148
لقد تعلمنا كيفية برمجة ARM7-LPC2148 باستخدام Keil في برنامجنا التعليمي السابق. نستخدم نفس Keil uVision 5 هنا لكتابة الكود وإنشاء ملف hex ، ثم تحميل ملف hex إلى LPC2148 باستخدام أداة flash magic. نحن نستخدم كابل USB لتشغيل الكود وتحميله إلى LPC2148
يتم تقديم الكود الكامل مع شرح الفيديو في نهاية هذا البرنامج التعليمي. نوضح هنا بعض الأجزاء المهمة من الكود.
نحتاج أولاً إلى تضمين ملف الرأس لوحدة التحكم الدقيقة من سلسلة LPC214x
#تضمن
بعد ذلك ، قم بتعيين المسامير كإخراج
IO0DIR = IO0DIR-0xffffffff
يقوم هذا بتعيين المسامير P0.0 إلى P0.31 كإخراج ولكننا سنستخدم دبابيس (P0.0 و P0.1 و P0.4 و P0.5 و P0.6 و P0.7 و P0.8) فقط.
ثم قم بتعيين دبابيس معينة على LOGIC HIGH أو LOW وفقًا للرقم العددي المراد عرضه. سنعرض هنا القيم من (0 إلى 9). سنستخدم مصفوفة تتكون من قيم HEX للقيم من 0 إلى 9.
int a = {0xf3،0x12،0x163،0x133،0x192،0x1b1،0x1f1،0x13،0x1f3،0x1b3} ؛
سيتم عرض القيم باستمرار حيث تم إدخال الرمز أثناء التكرار
بينما (1) { لـ (i = 0 ؛ i <= 9 ؛ i ++) { IO0SET = IO0SET-a ؛ // يعين المسامير المقابلة تأخير عالي (9000) ؛ // وظيفة تأخير المكالمات IO0CLR = IO0CLR-a ؛ // يعين الدبابيس المقابلة LOW } }
هنا IOSET و IOCLR تستخدم الدبابيس مجموعة العالية والمنخفضة على التوالي. نظرًا لأننا استخدمنا دبابيس PORT0 ، فلدينا IO0SET و IO0CLR .
يتم استخدام حلقة For لزيادة i في كل تكرار وفي كل مرة عند زيادة i ، يقوم المقطع 7 أيضًا بزيادة الرقم الذي يظهر عليه.
يتم استخدام وظيفة التأخير لإنشاء وقت تأخير بين SET & CLR
تأخير باطل (int k) // وظيفة لعمل التأخير { int i، j ؛ لـ (أنا = 0 ؛ أنا
ويرد أدناه رمز كامل ووصف العمل الفيديو. تحقق أيضًا من جميع المشاريع ذات الصلة بـ 7-Segment Display هنا.