قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية kaoutar11
kaoutar11
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2012
الدولة: Algeria
المشاركات: 144
نشاط [ kaoutar11 ]
قوة السمعة:
قديم 29-08-2012, 05:49 PM المشاركة 33   
افتراضي



[B][B] السلام عليكم ورحمة الله وبركاتة
بعد ان تعلمنا او رأينا كيفية توصيل الشاشة الرسومية بالمايكرو فما علينا الان الا ان نبدأ بعملية البرمجة, واول امر لا بد منة وضروري جدا لتشغيل الشاشة يجب ان نعمل لها اينشياليز INITIAL يعني بداية
1- GLCD_Init
Glcd_Init(&PORTB, 0,1,2,3,5,4, &PORTD);
واهم ما في هذا الامر الان هو ان نعرف بورت التحكم ( كونترول ) وبورت المعلومات ( داتا ) الموصولين مع الشاشة .
والباقي ممكن تعرفهم من هنا , واذا كان الامر صعب ممكن نشرحهم لاحقا , ولكن الان سوف اتطرق للمهم وهو لتشغيل الشاشة اولا .
GLCD_Init(unsighner char*ctrl_port,char cs1, char cs2, char rs, char rw, char rst, char en, unsighned char *data_port);
وهذا الامر معناة اننا قد عينا بورت بي ككنترول بورت , وبورت دي كداتا بورت . ويجب ان نكتب دائما هكذا قبل ان نبدأ بالكتابة للشاشة وهكذا نكون قد انهينا الامر الاول.

والان مع الامر الثاني
وهو لتحميل صورة على الشاشة , والكلام الان موجهة الى الاخ علي بدر وانا بدأت بالصورة كأول امر لتبدأ بمشروعك
وكما قلنا الامر الثاي لتحمبل صورة للشاشة .

2-
GLCD_Image(car_bmp);

والان هذا الامر سوف يرفع الى الشاشة صورة السيارة الموجودة بجهازك الى الشاشة وممكن ترفع اي صورة بهذا الامتداد, وبالنسبة لي ما جربت اي امتداد : لاني كما قلت بمشاركة سابقة بأن الكومبيلر عندي بس 2 كيلو والصورة حجمها كبير ,
وانت ممكن ان تجرب اي امتداد اخر .

والان اكتب برنامجك الاول وقول لي ماذا حصل معك ؟
وهذا هو البرنامج:

void main() {
GLCD_Init(&PORTB, 0,1,2,3,5,4, &PORTD)

)Glcd_Image( CAR_bmp ); }

وممكن يكون هناك خطأ بستايل البرنامج ولكن اكيد الكل عارف الاقواس والفواصل واتجهاتهم
واتمنى من الاخ احمد سمير التعديل على الستايل

واي شيء غير واضح ممكن ان تضعوا اسئلتكم هنا
لتعم الفائدة للجميع
وانتظرونا مع باقي اوامر الرسم

واللهم انصر الاسلام والمسلمين .
السلام عليكم
لقد اعجبني حقا هذا الموضوع لهذاأردت ان انجز هدا المشروع لكن المحاولة باءت بالفشل
http://www.electvillage.com/upload//...ile=ffb98464d6

اعلانات

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 29-08-2012, 06:01 PM المشاركة 34   
افتراضي


السلام عليكم
لقد اعجبني حقا هذا الموضوع لهذاأردت ان انجز هدا المشروع لكن المحاولة باءت بالفشل
http://www.electvillage.com/upload//...ile=ffb98464d6
ندعوا الله عز وجل ان يعود لنا مهندس نافذ ابو كشك بخير
فعلا افتقدناة كثيرا


بالنسبة للاستفسار فان الصورة لا توضح اى شىء
ان امكن رفع الملفات
وسوف تجد المساعدة من الجميع باذن الله

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية م. نافذ ابو كشك
م. نافذ ابو كشك
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2009
الدولة: االسعودية - الاحساء
المشاركات: 148
نشاط [ م. نافذ ابو كشك ]
قوة السمعة:
قديم 30-08-2012, 12:47 AM المشاركة 35   
افتراضي


كم يوم ان شاء الله ............ وانا حاصر


الصورة الرمزية kaoutar11
kaoutar11
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2012
الدولة: Algeria
المشاركات: 144
نشاط [ kaoutar11 ]
قوة السمعة:
قديم 30-08-2012, 02:18 PM المشاركة 36   
افتراضي


ندعوا الله عز وجل ان يعود لنا مهندس نافذ ابو كشك بخير
فعلا افتقدناة كثيرا


بالنسبة للاستفسار فان الصورة لا توضح اى شىء
ان امكن رفع الملفات
وسوف تجد المساعدة من الجميع باذن الله
السلام عليكم في الحقيقة أخي ناصر أني مبتدأة بعض الشيء فهذه أول خطوة لي في التعامل مع شاشة GLCD فعند قراءتي للموضوع أخ FUNKYأردت أن أنجز مشروع ألى و هو إظهار صورة على هذه الشاشة .بعد تحويلها بامتداد PMB و عند كتابة للكود لقد عرفت البورتات التي سوف أستخدمها فهي بورت بي و البورت دي. و الدالة الرئيسية VOIDE MAIN(){
Glcd_init(unsighner char*ctrl_port,char cs1, char cs2, char rs, char rw, char );rst, char en, unsighned char *data_port
GLcd_image(montada);
// montada هو أسم الصورة
لكن ظهر لي هذا الخطأ .و عند مراجعت للمكتبة الميكروسي برو لكي أتحقق من الكود .لقد كتبته كما هو ألى و هو glcd_image(.....);


الصورة الرمزية kaoutar11
kaoutar11
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2012
الدولة: Algeria
المشاركات: 144
نشاط [ kaoutar11 ]
قوة السمعة:
قديم 30-08-2012, 02:21 PM المشاركة 37   
افتراضي


السلام عليكم في الحقيقة أخي ناصر أني مبتدأة بعض الشيء فهذه أول خطوة لي في التعامل مع شاشة GLCD فعند قراءتي للموضوع أخ FUNKY و الأخ نافذ ابو كشك أردت أن أنجز مشروع ألى و هو إظهار صورة على هذه الشاشة .بعد تحويلها بامتداد PMB و عند كتابة للكود لقد عرفت البورتات التي سوف أستخدمها فهي بورت بي و البورت دي. و الدالة الرئيسية VOIDE MAIN(){
Glcd_init(unsighner char*ctrl_port,char cs1, char cs2, char rs, char rw, char );rst, char en, unsighned char *data_port
GLcd_image(montada);
// montada هو أسم الصورة
لكن ظهر لي هذا الخطأ file=ffb98464d6 .و عند مراجعت للمكتبة الميكروسي برو لكي أتحقق من الكود .لقد كتبته كما هو ألى و هو glcd_image(.....);
هذا هو الخطا الذي يظهر لي
http://www.electvillage.com/upload//view.php?


الصورة الرمزية azouvb.net
azouvb.net
:: عضو فضي ::
تاريخ التسجيل: May 2009
المشاركات: 152
نشاط [ azouvb.net ]
قوة السمعة:
قديم 30-08-2012, 04:29 PM المشاركة 38   
افتراضي


السلام عليكم و رحمة الله و بركاته

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

ووفقك الله و أخواني للخير و التطور و العلم النافع


بالمناسبة موضوع glcd كنت عملت نفس الموضوع لكن بواسطة touch panel
لتحكم في البورتات الغير مستعملة في البيك بواسطة أزرار في glcd
عند الضغط عليها تقوم بتشغيل بيت معين مثل RC2 OR RC3 .........
قمت بتصوير المشروع و هذا فيديو له لتحميل هنا

البرنامج المستعمل هو .... VISUAL GLCD + MIKRO C PRO
و البيك 18F4520
طبعا جربته على EasyPIC6 ثم عملت له لوحة خاصة به
ارجو ان ينال أعجابكم

و السلام عليكم


الصورة الرمزية funky112233
funky112233
:: عضو ذهبي ::
تاريخ التسجيل: Aug 2009
المشاركات: 664
نشاط [ funky112233 ]
قوة السمعة:
قديم 30-08-2012, 07:55 PM المشاركة 39   
افتراضي


بسم الله الرحمن الرحيم

شكرا جزيلا لك يا بشمهندس م. نافذ ابو كشك
مشاء الله انت سابق بكثير
ولكن للاسف لم تكملة نرجوا منك اكمالة ان شاء الله


اخى azouvb.net
مشاء الله نرجوا منك شرح المشروع لنا بشكل منفصل ومفصل جزاك الله كل خير

وفعلا فكرة جميلة لزيادة عدد المداخل من اربعه مادخل للتاتش بانل

الى اى عدد نريد مشاء الله


kaoutar11

ان شاء الله الشرح القادم عن عمل الصور وكيفية التحويل وفهم الموضوع كامل
ان شاء الله
ولكن انتظر فقط ان تخبرونى هل ما تم شرحة جيد واكمل ام ان هناك شىء غير مفهوم


بالنسبة لمشكلتك
فا بعد اذن البشمهندس نافذ ابو كشك هقوم بتصحيح الخطا

فالامر بسيط ان شاء الله

هذا الكود يقوم بعرض الصورة truck

كود:
const code char truck[1024] = {
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 128, 128, 128, 128, 128,  64,  64,  64,  64,  64,  64,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32, 160, 160, 160,  96, 224, 224,  96,  96,  96,  32,   0,  32,  32,  32,  32,  32,  32,  32,  32,  32,   0,   0,  64,  64,  64,   0, 128,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  0,   0,   0,   0,   0, 254,   0,   1,   1,   1,   1,   1, 253, 253, 253, 253,   1,   1,   1,   1,   1,   1, 253, 253, 253, 253,   1,   1,   1,   1, 253, 253, 253, 253, 249, 241, 225, 193, 129, 193, 225, 249, 253, 253, 253, 253, 253,   1,   1,   1,   1, 253, 253, 253, 253, 221, 221, 221,  29,  17,   1, 255,   1,   1,   1,   1,   0, 254,   1, 168,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,   8,  16, 224,  24,  36, 132,   0,   2, 130,   5,  81,  68, 112, 160, 192,  96,  96,  32,   0, 128, 128, 192, 192, 192,  64,   0,   0,   0,   0,   0, 128,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  0,   0,   0,   0,   0,  63,  96,  96,  96, 224,  96,  96, 127, 127, 127, 127, 124, 124, 124, 124,  96,  96, 127, 127, 127, 127,  96,  96,  96,  96, 127, 127, 127, 127,  97, 103, 111, 127, 127, 111, 103,  99,  97, 127, 127, 127, 127,  96,  96,  96,  96, 127, 127, 127, 127, 125, 125, 125, 124, 116,  96, 127,  64,  64,  64, 160,  96, 252, 246,   1,  14,   6,   6,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,  66, 114,  60,  32,  16,  16,   0,   4,   2,   3,   2,   0,   0,   0,   4,   4,   4,   4,  20,  16,  16,  16,  16,  16,   9,   9,  41, 112,  32,  67,   5, 240, 126, 174, 128,  56,   0,   0,   0,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   1,   1,   1,   1,   1,   1,   1, 127, 127, 127, 127, 255, 255, 247, 251, 123, 191,  95,  93, 125, 189, 189,  63,  93,  89, 177, 115, 243, 229, 207,  27,  63, 119, 255, 207, 191, 255, 255, 255, 255, 255, 255, 255, 255, 127, 127, 127, 127, 127, 127, 127, 127, 255, 255, 255, 127, 127, 125, 120, 120, 120, 120, 120, 248, 120, 120, 120, 120, 120, 120, 248, 248, 224, 135,   0,   0,   0,   0,   0,   0,   0,   0, 128, 240, 248, 120, 188, 220,  92, 252,  28,  28,  60,  92,  92,  60, 120, 248, 248,  96, 192, 143, 168, 216, 136,  49,  68,  72,   2, 160,  96,   0,   0,   0,   0,   0,   0,
  0,   0,   0, 128, 192, 248, 248, 248, 248, 252, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 246, 239, 208, 246, 174, 173, 169, 128, 209, 208, 224, 247, 249, 255, 255, 252, 220, 240, 127, 255, 223, 255, 255, 255, 255, 255, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 254, 255, 190, 255, 255, 253, 240, 239, 221, 223, 254, 168, 136, 170, 196, 208, 228, 230, 248, 127, 126, 156, 216, 224, 240, 240, 242, 242, 240, 177,  32,   0,   0,   0,   0,   0,   0,   0,
  0,   0,   0,   1,   1,   1,   1,   3,   3,   3,   7,   7,   7,   7,   7,  15,  15,  15,   7,  15,  15,  15,   7,   7,  15,  14,  15,  13,  15,  47,  43,  43,  43,  43,  43,  47, 111, 239, 255, 253, 253, 255, 254, 255, 255, 255, 255, 255, 191, 191, 239, 239, 239, 191, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 127, 127, 127, 255, 255, 191, 191, 191, 191, 255, 254, 255, 253, 255, 255, 255, 251, 255, 255, 255, 127, 125,  63,  31,  31,  31,  31,  31,  31,  63,  15,  15,   7,   7,   3,   3,   3,   0,   0,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   0,   1,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   1,   1,   1,   1,   1,   1,   3,   3,   3,  11,  11,  11,  11,   7,   3,  14,   6,   6,   6,   2,  18,  19,  19,   3,  23,  21,  21,  17,   1,  19,  19,   3,   6,   6,  14,  15,  15,   7,  15,  15,  15,  11,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
};

char GLCD_DataPort at PORTB;

sbit GLCD_CS1 at RD0_bit;
sbit GLCD_CS2 at RD1_bit;
sbit GLCD_RS  at RD2_bit;
sbit GLCD_RW  at RD3_bit;
sbit GLCD_EN  at RD4_bit;
sbit GLCD_RST at RD5_bit;

sbit GLCD_CS1_Direction at TRISD0_bit;
sbit GLCD_CS2_Direction at TRISD1_bit;
sbit GLCD_RS_Direction  at TRISD2_bit;
sbit GLCD_RW_Direction  at TRISD3_bit;
sbit GLCD_EN_Direction  at TRISD4_bit;
sbit GLCD_RST_Direction at TRISD5_bit;

void main() {
Glcd_Init();
Glcd_Fill(0);

Glcd_Image(truck);

}
فى البداية قمت بكتابة بيانات الصورة

وبعد ذلك تعريف ارجل الربط بين الشاشة والميكرو

ثم وهذا هو الخطاء الذى وقعتى فية

كود:
Glcd_Init();
فامر التعريف يكتب هكذا وليس كما كنتى تكتبية

وبعد ذلك مسحت الشاشة من خلال الامر

كود:
Glcd_Fill(0);
ثم قمت بعرض الصورة على الشاشة من خلال الامر

كود:
Glcd_Image(truck);
وهكذا تم عرض الصورة


الصورة الرمزية azouvb.net
azouvb.net
:: عضو فضي ::
تاريخ التسجيل: May 2009
المشاركات: 152
نشاط [ azouvb.net ]
قوة السمعة:
قديم 31-08-2012, 03:23 AM المشاركة 40   
افتراضي


سلام عليكم
اخي funky112233 ما شاء الله دائما يعجبني كلامك الرائع و ردودك التي
تزيد الأنسان ثقته و تعطيه التشجيع على العمل

اما عن المشروع فباذن الله سيكون الدرس على الرابط التالي

http://www.qariya.com/vb/showthread....143#post670143

و الذي طرحته منذ مدة و للأسف لم يلقئ اي ترحيب او ردود

المهم ساكون هناك قريبا ان شاء الله

وفقني الله و اياكم لما يحب و يرضى



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:12 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)