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