Professional Documents
Culture Documents
التجربة الرابعة
التجربة الرابعة
فكرة الجلسة
تعلّم ّالطالب ّماهية ّتقنية ّالكريستال ّالسائل ّوأنواعهّ
ومعالجاته ّووصل ّالشاشة ّالمحرفية ّمع ّالمتحكمّ
ATMega 2560
إشراف إعداد
د.م .مصطفى حاج ديبو م .مازن عبد السالم
مقدمة
تعدّشاشةّالعرض ّ"ّ"LCDمصفوفة ّنقطية ّتستخدمّلعرضّالمعلوماتّوالنتائجّحيثّيمكنّمنّخاللهاّ
عرضّجميعّرموزّشيفرةّاألسكيّكماّأنهاّتحويّعلىّذواكر ّّ DD-RAMلتخزينّالمعطياتّوذاكرةّ
ّCG-RAMلتوليدّالرموزّحيثّتقومّبحفظّالرموزّالمرادّإظهارهاّ .
ّ
أنواع شاشة الكريستال السائل حسب البنية ّ
ّ:"LCD_ّ Alphanumeric"ّ.1تقومّبعرضّالرموزّّ ّ
ّّّّوالحروفّواألرقامّوبعضّاألشكالّ(سنقومّبدراستها)ّ .
ّ:"LCD Graphics"ّ.2تستطيعّعرضّالصورّباإلضافةّ ّ
ّّّّ ّ
ّّّّللرموزّواألرقامّ(شاشاتّالموبايل)ّ.
الجدولّ(ّ)1يبينّوظائفّأقطابّالشاشةّذاتّال(ّ .)8bit
اسم رقم
الوظيفة القطب القطب
يّ
القطبّاألرض ّ VSS 1
قطبّالتغذيةّ5v VDD 2
قطبّالتباينّ(أعظمّتباينّعّندّقصرّهذاّالقطبّلألرض) ّ VE 3
مسجلّاختيارّالدخلّوعندّتطبيق"ّ"0يمكنّإرسالّأمرّللتحكمّأماّ ّ"ّ"1للسماحّبإرسالّ
تّالمعطيا ّ
RS 4
اختيارّوظيفةّالقراءةّمنّالشاشةّ"ّ"1أوّالكتابةّعليهّا"ّ "0 R/W 5
بّ(التفعيلّ
قطبّتمكينّالشاشةّكلّمعلومةّيتمّكتابتهاّأوّقراءتهاّتتمّبعدّتفعيلّهذاّالقط ّ
يكونّعبرّالجبهةّالهابطة ّ) ّ
E 6
DP0-
بّ
يتمّكتابةّالمعطياتّوأوامرّالتحكمّمنّخاللّهذهّاألقطا ّ 7
DP7
مصعدّليدّاإلضاءةّالمستخدمّإلضاءةّالشاشةّ(ّ5vللتفعيلّمعّمقاومةّّ )300Ω A 8
مهبطّليدّاإلضاءةّالمستخدمّإلضاءةّالشاشةّ(ّ0vللتفعيل)ّ ّ K 9
الجدول ( )1أقطاب شاشة LCDمع شرح الوظيفة ّ
1
ّ
ّ
ّّ ويكونّتوزعّأقطابّالشاشةّحسبّالشكلّ(ّ.)1
برمجة الشاشة باستخدام الCodeVision AVR
يتضمنّبرنامجّالّ"ّ"CodeVision AVRعدةّتوابعّتضمنّالتحكمّبالشاشةّوإظهارّالرموزّواألرقامّ
المطلوبةّبشكلّسلسّحيثّيقسمّالكودّالبرمجيّإلىّتعليماتّتتعلقّبالتهيئةّ،التحكمّ ّوتعليماتّخاصةّبكتابةّ
المعطياتّعلىّالشاشةّ،وننوهّأنهّقبلّكتابةّأيّمنّهذهّالتوابعّ،يجبّعليناّإدراجّمكتبةّّLCDالحاويةّ
علىّهذهّالتوابعّوفقّالتعليمةّّ :
#include ><alcd.h
ّ
ّ
ّ
ّ
ّ
ّ
ّ
ّ
ّ
2
ّ
ّ
✓ كيف نبدأ بمعايرة الشاشة قبل البرمجة؟
نفتحّالبرنامجّونضغطّعلىّ"مشروعّجديد"ّونسمحّالمساعدّبالعملّّCodeWithardAVRونقومّ
بالضبطّعلىّاألزرارّالتالي ّةّ(الشكلّ(ّ .))2
ّ
الشكل ( )2لوحة ضبط إعدادات Alphanumeric LCD ّ
ّ
حيثّالشرحّحسبّاألرقامّّ :
.1نختارّأيقونةّّAlphanumeric LCDمنّأجلّالدخولّوتفعيلهاّ.
.2نختارّنوعّمعالجّالشاشةّوهناّنميزّثالثّأنواعّمنّالمعالجاتّ:
ّ HD44780 .aهوّالمعالجّشائعّاالستخدامّبكثرةّبالنسبةّللشاشاتّالمحرفيةّويوجدّعادةّفيّشاشاتّ
بّ16محرفاّولكنّيتميزّبأنّالشاشةّالتيّتحويّهذاّالمعالجّ التيّتدعمّإظهارّسطرّواحدّوسطرينّ ّ
يمكنّبرمجتهاّمنّخاللّّ4أقطابّبياناتّفقط.
ّKS0073 .bيحويّنفسّميزاتّالمعالجّالسابقّولكنّيمتازّعنهّبأنهّيدعمّاإلظهارّعلىّّ4أسطرّولكنّ
التكلفةّاعلىّمنّالمعالجّالسابق.
ّSSD1803 .cيُخصصّهذاّالمعالجّمنّأجلّاإلظهارّالمرئيّ(الصور)ّويتميزّبخياراتّع ّديدةّويدعمّ
دقةّعرضّتصلّحتىّّ128x64بيكسلّ.
.3نضبطّعددّالمحارفّالتيّسيتمّاستخدامهاّضمنّالشاشةّوهناّنختارّّ16كونّالشاشةّمحرفيهّبسطرينّ.
.4نضبطّتوصيلّأقطابّتحكمّالشاشةّمعّأقطابّتحكمّالمتحكمّ.ّATMega2560
ّ
ّ
3
ّ
ّ
مثال
ّّّّّقُمّبكتابةّبرنامجّيقومّعلىّإظهارّ
العبارةّ"ّ"Welcome To USفيّ
السطرّاألولّمنّالشاشةّالمحرفيةّثمّ
تختفيّهذهّالعبارةّليتمّعرضّعددّ
نبضاتّالكباسّوفقّالدارةّالموضحةّ
بالشكلّ(ّ .ّ)3
ّ
ّ
ّ
ّ
ّ
ّ
ّ
ّ
ّ
ّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّ ّ
ّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّّ ّ
ّ
ّ
ّ
✓ الحل
يتمّكتابةّالكودّالتاليّ(الشك ّلّ(ّ :ّ)ّ )4
ّ
ّ
الشكل ( )4.aالجزء األول من الكود
4
ّ
ّ
ّ
5
ّ
ّ
ّ.16طباعةّالعبارةّ ّ" ّ"No.Typing:وتعنيّ ّ"عددّالضغطات"ّ ّ .
ّ.17بعدّ كتابةّ العبارةّ فيّ السطرّّّّ16يتمّ نقلّ المؤشرّ إلىّّالعمودّّّّ10ضمنّ السطرّ الثانيّ باعتبارّ أنّ ّ
ّّّّّّالعبارةّفيّالسطر ّّ 16تتألفّمن ّّ 10حروفّوبماّأنّالعدّبدءّمن ّّ 0فإنّالعبارةّتنتهيّعندّالعمودّ ّ
ّّّّّّ ّ9منّ السطرّ الثانيّ ولذلكّ نقلناّ المؤشرّ إلىّ العمودّ ّّ ّ10ليتمّ كتابةّ عددّ الضغطاتّ .
ّ.18تابعّتحويلّقيمةّالمتغير ّ(ّ iالرقمّال ُممثلّلعددّضغطاتّالزر) ّإلى ّالقيمةّالمقابلةّلهذاّالرقمّبحروفّ ّ
ّّّّّّشيفرةّ األسكيّ وهيّّشيفرةّّ ُمعتمدةّ منّ قبلّ معالجّ الشاشةّّوهاذّ التّابعّ موجودّ فيّ مكتبةّّّ .ّSTD
شيفرةّ اآلسكيّ ضمنّ مصفوفةّ المحارفّّ ّ)strعلىّّالشاشةّ فيّ الموقعّ ّ ّّ.19إظهارّ الرقمّ (بعدّ تخزينهّ ب ّ
ّّ ّّّّّّال ُمحددّفيّالسطرّالبرمجيّ.ّ17
ّ.20اختبارّإنّتمّضغطّالزرّ(تغيرّحالةّالقطبّّ ّ.)PINF.0
ّ .21فيّحالّتغيرّحالةّالقطبّنختبرّحالةّالقفلّ(المتغير ّّ)aوبذلك ّيتم ّتنفيذّالتعليماتّالخاصةّبالكباسّ ّ
ّّ ّّّّّّفقطّمرةّواحدةّخاللّالضغطةّالواحدة.
ّ.22عندّالضغطّعلىّالكباسّفيّأولّلحظةّيكونّّa=0وبالتاليّيتمّتنفيذّماّداخلّاألقواسّالشرطيةّوهوّ
أنّيتمّزيادةّالعداد ّّ iبمقدار ّّ 1وتعديلّقيمة ّّ aلغيرّالصفرّوذلكّمنّأجلّعدمّتكرارّاألمرّداخلّالشرطّ
ّّ أكثرّمنّمرةّخاللّالضغطةّالواحدة.
ّّ.24فيّ حالّ عدمّ الضغطّ علىّ الزرّ يعودّ المتغيرّ (القفل)ّّّّaإلىّ قيمتهّ االفتراضيةّّّّ0وذلكّ للسماحّ ّ
ّّّّّّبتكرارّالضغطّ .
ّ
ّ
ّ ---------------------------------------------------------------------------------------------------------- ّ
انتهتّالجلس ّة
6