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

   

الصورة الرمزية المخترع01
المخترع01
:: مهندس متميز ::
تاريخ التسجيل: Dec 2009
المشاركات: 397
نشاط [ المخترع01 ]
قوة السمعة:
قديم 29-08-2012, 11:16 AM المشاركة 49   
افتراضي



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

اخى المخترع01
اعزرنى والله يا اخى على التاخير انا شوفت طلبك وقلت هرد عليك بس اخلص الى فى ايدى
ونسيت خالص انا اسف

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

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

http://www.qariya.com/vb/showthread.php?t=113441&page=3

وهو الشرح الثالث فى الموضوع ستجد الشرح فى اول الصفحة

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

كود:
Lcd_Cmd(_LCD_CLEAR);
واذا اردت ترك الكلمة التى كتبتها او الشكل الذى كتبتة وعرض شىء اخر على الشاشة
فلا مشكلة فقط اجعل ما تريد اظهارة يكون فى مكان اخر على الشاشة
بجانب ما قمت باظهارة فى المرة الاولى

واذا كان فى اى مشكلة فى كلامى عرفنى وان شاء الله اشرحهالك اكثر

__________________________________________________ ____________

kaoutar11

هذا هو الكود الثالث فى الموضوع
وهو موجود ايضا فى الرابط التالى

http://www.qariya.com/vb/showthread.php?t=113441&page=3

وهو اول مشاركة فى الصفحة
وبه كيفية رسم اى شكل على الشاشة وتحريك الكلمات والخ....
السلام عليكم شكراا اخي على مد يد المساعدة
اخي Lcd_Cmd(_LCD_CLEAR);
لم تعمل مع و لم اعرف اين يمكن وضعها الرجاء المساعدة في مسح الشاشة و الانتقال الى عرض اخر
اخي مدة العرض الاول كيف ادرجها 3 ثواني

اعلانات

الصورة الرمزية kaoutar11
kaoutar11
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2012
الدولة: Algeria
المشاركات: 144
نشاط [ kaoutar11 ]
قوة السمعة:
قديم 29-08-2012, 03:11 PM المشاركة 50   
Smile


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

الكود الثالث والاخير
وهو عن استخدام امر Lcd_Cmd
وصنع اشكال كما نريد وطباعتها على الشاشة
وايضا تحريك الكلام على الشاشة كما نريد ان شاء الله

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

Custom character (( LCD Character 3 )) - YouTube

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

وقمت ايضا بتحريك كلمات على الشاشة

.................................................. .................................................. ..........

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

وهذا ما ستتعرف علية ان شاء الله داخل الكود

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

اولا
الكلام هنا سوف يكون عن الشاشات الغير ملونة

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

وهذه الصور خير من الف كلمة



كما ترى هكذا تكون الصور وهكذا تطبع

اما عن الشاشات الملونة وايضا السى ان سى المتطور
فالامر اكثر صعوبة قليلا ولكن المبادىء نفسها هى هى
.................................................. .................................................. ..........

ننتقل لمرحلة العملية
______________________

فى الشاشات ال LCD Character
يتكون كل مربع من 7*5 بكسل او 10*5 بكسل
وال5 بكسل بيكونوا هما عرض المربع
اما ال 7 او 10 بكسل هما طول المربع ((للعلم مربع هذا مجرد تسمية وليس الشكل الفعلى))

ولكى نتحكم فى بكسل بكسل نحتاج الى التعامل مع بروتوكول الشاشة وهو كا الاتى
تكوين مصفوفة عبارة عن 7 خانات
كل خانة تحمل قيمة للتتحكم فى 5 بكسل مرة واحدة
وبارسال خانة خانة نكون اتحكمنا فى كل البكسلات الى عندنا

ولحسن حظنا ان الشركة المصنعه للميكروسى
قامت بعمل برنامج خاص ترسم علية ما تريد من من الاشكال وهو يولد لك الكود
والمصفوفة جاهز

وهذا البرنامج يسمى
mikroelektronika lcd character Custom generator
وللحصول علية اتبع الخطوات الاتية
Tools >> lcd character Custom

ودى صورتة



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

اما الجزء الى بالون الاحمر فدة الكود الى من خلالة بتعرض الشكل على الشاشة

اما الجزء الى بالون الازرق فهذا هو الهام
زى مانت شايف كدة هى دى خانات الشكل هم 8خانات وكل خانة بها رقم يعبر عن 5 بكسل
وبكدة يكتمل عدد بكسلات المربع الواحد ..

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

وهو يعمل كالاتى
ترسم الشكل الى انت عايزة وبعد كدة تدوس على Generator code
الى موجود تحت

هتلاقية كتبلك كود داله العرض وكتبلك مصفوفة الشكل

وانا قمت باخذ داله العرض كما هى وقمت بتغير بعض التغيرات عليها
والمصفوفة قمت بتغير اسمها حتى يتناسب مع عرض 8 اشكال
وهى من character0 الى character7

ولكن هناك مشكلة مع اظهار الاشكال على الشاشة
وهى
ان ال IC لا يقبل اظهار اكثر من 8 ثمان اشكال فقط
ومن المشاكل الاخرى هى ان الاشكال لها بروتوكول فى كتابتها
اولا
قبل ارسال اى شكل او قيم من مصفوفة الشكل المراد اظهارة
يجب اولا ارسال امر مثل
كود:
Lcd_Cmd(64);
وكما ترى مكتوب بداخلة 64 وكل امر لشكل مختلف يجب كتابة رقم مختلف داخل هذا الامر
وهو يزيد عنة ب 8 ارقام
وهو يبدء من 64 الى 120
فمثلا 64 هذا شكل
واذا اردنا كتابة شكل اخر مختلف عنة نكتب 72 واذا اردنا اخر نكتب 80 وهكذا
حتى نصل الى 120

ونزيد 8 ارقام لان هذا هو عدد البكسلات بالطول

واذا تركنا شكلين مختلفيين بنفس الامر فسوف يظهر شكل واحد فقط منهم

وايضا
يجب كتابة ارقام من 0 الى 7 فى اخر دالة العرض فى هذا الجزء
كود:
Lcd_Chr(pos_row, pos_char, 0 to 7);
وايضا اذا لم تكتبة فسوف يعرض شكل واحد فقط للمكرر

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

ننتقل الى مرحلة الكود
__________________

اولا حمل الكود والمحاكاة وكل شىء من هنا
http://www.4shared.com/rar/ioGStI0l/...aracter_3.html
_________________________________________
ملحوظة
انا عملت الكود بشكل مختصر بعض الشى للتوفير فى المساحة
وبطريقة جميلة وسهلا
ولكن هى احدى الطرق هناك الكثير من الطرق للاختصار
وهذه احداها وابسطها على ما اظن
واذا اراد احد طريقة اخرى للاختصار انا تحت امرة ان شاء الله
_________________________________________

نيجى للشرح

فى البداية تعريفات الشاشة

ثم مصفوفات بداخلها الكلمات التى سوف تعرض

كود:
char text0[] ="(Besm Allah Elrhman Elrahem)";
char text1[] ="(AllaH Akbar AllaH A3zem)";
ثم متغيرات ومصفوفة للاستخدام داخل الكود

كود:
char text2[8];
char y,x,x1;
ثم 8 مصفوفات لل8 اشكال الى عملتهم وكل مصفوفة تعبر عن شكل

كود:
const char character0[] = {1,3,7,31,31,7,3,1};
const char character1[] = {0,0,0,10,0,17,14,0};
const char character2[] = {1,3,5,9,11,27,24,0};
const char character3[] = {0,0,10,0,0,14,17,0};
const char character4[] = {0,0,10,21,17,10,4,0};
const char character5[] = {14,14,4,14,21,4,10,0};
const char character6[] = {14,31,17,17,17,31,31,31};
const char character7[] = {0,0,10,0,31,17,14,0};
ثم
داله العرض التى سوف تقوم بعرض الاشكال على الشاشة

كود:
void CustomChar(char pos_row, char pos_char) {
  char i;
    Lcd_Cmd(x);
    for (i = 0; i<=7; i++) Lcd_Chr_CP(text2[i]);
    Lcd_Cmd(_LCD_RETURN_HOME);
    Lcd_Chr(pos_row, pos_char, x1);
}
زى ما احنا شايفين هنا الامر
كود:
Lcd_Cmd(x);
قمت بكاتبة متغير اسمة x بداخلة
وفى كل مرة اغير فيها الشكل اغير معه قيمة x
وهكذا مع الامر الثانى
كود:
Lcd_Chr(pos_row, pos_char, x1);
اظن الامر اصبح مفهوم الان

وايضا جعلت المصفوفة التى سوف يتم عرضها هى
كود:
text2[]
وعند كتابة الشكل المراد انقل خانات مصفوفة اى شكل الى هذه المصفوفة ليتم عرض الشكل

الان ساقوم بشرح طريقة عرض شكل واحد فقط للتوضيح والباقى بالمثل

وهو اول شكل

كود:
for(y=0;y<7;y++){text2[y]=character0[y];}
x=64;x1=0;
CustomChar(1,1);
delay_ms(500);
اولا
يجب نقل خانات مصفوفة الشكل الذى اريد نقلة الى المصفوفة
كود:
text2[]
ولذلك قمت بعمل جملة تكرارية بقيمة 7 مرات
ثم جعلت المتغير y الذى يزيد كل مرة من مرات التكرار بقيمة 1
هو الذى يقوم بالتبديل للمصفوفتان
فا فى البداية تكون قيمتة 0
وعندما اضعه داخل مربعات المصفوفة هذا يعنى ان ابدل الخانة رقم صفر اى بقيمة y
وهكذا الخانة رقم 0 من مصفوفة الشكل character0 سوف تنقل الى الخانة رقم صفر من المصفوفة text2

وهكذا 7 مرات لنقل 7 خانات

ثم
جعلت قيمة x و x1 تساوى قيم لاول شكل
وهى هنا
كود:
x=64;x1=0;
لكى يتم عرض شكل واحد ولا يحدث تداخل بين الاشكال

ثم
وهذا هااااااااام
قد اصبح كل شىء جاهز الان لعرض الشكل على الشاشة
وهذا يتم من خلال الامر

كود:
CustomChar(1,1);
وهو يعنى الذهاب الى داله العرض
وعرض الشكل فى الصف الاول والمربع الاول ايضا
فالرقم الاول يعنى الصف والرقم الثانى يعنى المربع

ثم قمت بالانتظار لمدة 500 مللى ثانية ..
.................................................ا نتهى.............................................. ..............

نيجى لجزء تحريك الكلمات وهو بسيط وسهل جدا

كود:
Lcd_Out(1, 13, text0); //2
for(y=0;y<40;y++){delay_ms(300);Lcd_Cmd(_LCD_SHIFT_RIGHT);}   //6
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(2, 16, text1); //2
for(y=0;y<40;y++){delay_ms(300);Lcd_Cmd(_LCD_SHIFT_RIGHT);}   //6
Lcd_Cmd(_LCD_CLEAR);  //6
اولا
قمت بعرض اول مصفوفة وبداخلة كلمات وهى (Besm Allah Elrhman Elrahem)

وقمت بعرضها فى اواخر المربعات بحيث تظهر فى البدء وكانها مختفية

ثم
قمت بكتابة امر التحريك او الازاحة الى اليمين ولكن مكرر 40 مرة
ورقم التكرار انت الذى تحددة على حسب ما تشاء
وعلى حسب عدد حروف الكلمات ايضا

كود:
for(y=0;y<40;y++){delay_ms(300);Lcd_Cmd(_LCD_SHIFT_RIGHT);}
وهناك امر انتظار 300 مللى ثانية حتى لا تجرى الكلمة بسرعه عالية

ثم قمت بمسح الشاشة
كود:
Lcd_Cmd(_LCD_CLEAR);
ثم تكرار نفس الاوامر السابقة
ولكن لعرض كلمات اخرى وهى (AllaH Akbar AllaH A3zem)

الى هنا انتهى الكود ولله الحمد وانتهى الجزء الثانى الذى يخص الشاشة LCD Character

اى حد لية سؤال انا تحت امرة ان شاء الله فى حدود علمى
__________________________________________________ _________________________________
__________________________________________________ _________________________________

تابع للشرح

هذا الشرح ما هو الا اساس بسيط للدخول فى عالم ال LCD
فيجب على من يحب التعلم البحث والتعب والجهد لايجاد المعلومة وليس تقليد اكواد فقط
ولهذا انا تركت بعض الثغرات البسيطة جدا فى الاكواد
ولكنها غير مؤثرة الا فى اكواد معينة وهى سهلة الاكتشاف
فقط لمن يجرب ويتعب

واترككم مع بعض فديوهات الاجنبية
والتى تستخدم فيها تقنيات التحكم فى ال LCD Character

1 - ADC Value Display in Graphical Format on a 16x2 Character LCD using FireBird V P89V51RD2 Robot - YouTube
2 - Animation on a 16x2 Character LCD using FireBird V P89V51RD2 Robot - YouTube
3 - Animaçمo display LCD / Microgenios - YouTube
4 - Arduino LCD Super Mario Game - YouTube
5 - Visualizacion Caracter de Doble Line - LCD 16x2 - Modelo 1 - Desarrollos Tecnologicos - YouTube

مشكور اخي لقد تم و الحمد لله فهمي للشرح و أخيرا

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

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


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

اسف جدا على التاخير

اخى المخترع01

كيف لا يعمل الامر معك ؟؟
واي اصدار تستعمل من الميكروسى
يجب ان تعمل على الميكروسى برو

وهذا الامر تضعه عند بداية الكتابة للعرض الثانى

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

اما بالنسبة للانتظار لمدة 3 ثوانى

فاكتب هذا الامر

كود:
delay_ms(3000);
ضعه قبل امر مسح الشاشة
اى بعد كتابة العرض الاول مباشرة
تضع امر الانتظار هذا ثم امر مسح الشاشة ثم تبدء بالعرض الثانى
وايضا اذا لم تفهم هذه النقطة سوف اشرحها لك بمثال ان شاء الله

__________________________________________________ ____________________

kaoutar11

الحمد والشكر لله بالتوفيق ان شاء الله مع المشاريع نريد ان نرى الابداع فى مشاريعك


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


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

اسف جدا على التاخير

اخى المخترع01

كيف لا يعمل الامر معك ؟؟
واي اصدار تستعمل من الميكروسى
يجب ان تعمل على الميكروسى برو

وهذا الامر تضعه عند بداية الكتابة للعرض الثانى

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

اما بالنسبة للانتظار لمدة 3 ثوانى

فاكتب هذا الامر

كود:
delay_ms(3000);
ضعه قبل امر مسح الشاشة
اى بعد كتابة العرض الاول مباشرة
تضع امر الانتظار هذا ثم امر مسح الشاشة ثم تبدء بالعرض الثانى
وايضا اذا لم تفهم هذه النقطة سوف اشرحها لك بمثال ان شاء الله

__________________________________________________ ____________________

kaoutar11

الحمد والشكر لله بالتوفيق ان شاء الله مع المشاريع نريد ان نرى الابداع فى مشاريعك
السلام عليكم و رحمة الله تعالى و بركاته
أخي funky عندما أردت عمل هذا الكود
sbit LCD_RS at RB5_bit;
sbit LCD_EN at RB6_bit;
sbit LCD_D7 at RB4_bit;
sbit LCD_D6 at RB3_bit;
sbit LCD_D5 at RB2_bit;
sbit LCD_D4 at RB1_bit;
// direction
sbit LCD_RS_Direction at TRISB5_bit;
sbit LCD_EN_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D5_Direction at TRISB2_bit;
sbit LCD_D4_Direction at TRISB1_bit;
///////////////////////////////////////////////////////////////////
char texte[]="Montada Alkariya Iliktroniya";
char texte0[] ="Thank You a Lot";
char texte1[] ="(Funky 112233)";
char x; char y; char k; char d;char f;
char msg=[8]

const char character0[] = {0,14,8,14,8,8,0,0};
const char character1[] = {0,10,0,17,10,4,0,0};
const char character2[] = {0,17,10,4,10,17,0,0};
const char character3[] = {0,0,27,21,17,10,4,0};
const char character4[] = {0,0,18,18,18,30,2,0};
const char character5[] = {0,16,30,18,18,18,0,0};
const char character6[] = {0,18,20,24,20,18,0,0};
const char character7[] = {0,17,17,10,4,8,16,0};
// méthde générale// //////////////////////////////////
void CustomChar(char pos_row, char pos_char) {
char i;
Lcd_Cmd(d);
for (i = 0; i<=7; i++) Lcd_Chr_CP(msg[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, f);
}
////////////////////////////////////////////////////////
void CustomChar0(char pos_row, char pos_char) {
char i;
Lcd_Cmd(64);
for (i = 0; i<=7; i++) Lcd_Chr_CP(character0[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, 0);
}

void CustomChar1(char pos_row, char pos_char) {
char i;
Lcd_Cmd(72);
for (i = 0; i<=7; i++) Lcd_Chr_CP(character1[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, 1);
}


void CustomChar2(char pos_row, char pos_char) {
char i;
Lcd_Cmd(80);
for (i = 0; i<=7; i++) Lcd_Chr_CP(character2[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, 2);
}


void CustomChar3(char pos_row, char pos_char) {
char i;
Lcd_Cmd(88);
for (i = 0; i<=7; i++) Lcd_Chr_CP(character3[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, 3);
}

// letre U ///////////
void CustomChar4(char pos_row, char pos_char) {
char i;
Lcd_Cmd(96);
for (i = 0; i<=7; i++) Lcd_Chr_CP(character4[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, 4);
}
////////////////////// LETRE N


void CustomChar5(char pos_row, char pos_char) {
char i;
Lcd_Cmd(104);
for (i = 0; i<=7; i++) Lcd_Chr_CP(character5[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, 5);
}
//////////////////////LETRE K


void CustomChar6(char pos_row, char pos_char) {
char i;
Lcd_Cmd(112);
for (i = 0; i<=7; i++) Lcd_Chr_CP(character6[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, 6);
}
//// LETRE Y

void CustomChar7(char pos_row, char pos_char) {
char i;
Lcd_Cmd(120);
for (i = 0; i<=7; i++) Lcd_Chr_CP(character7[i]);
Lcd_Cmd(_LCD_RETURN_HOME);
Lcd_Chr(pos_row, pos_char, 7);
}

void main() {
lcd_init();
lcd_cmd(_lcd_clear);
lcd_cmd(_lcd_cursor_off);
delay_ms(900);

CustomChar1(1,1);
CustomChar1(1,3);
CustomChar1(1,5);
CustomChar1(1,7);
CustomChar1(1,9);
CustomChar1(1,11);

CustomChar1(1,13);
CustomChar1(1,15);
lcd_out(2,2,"**welcome**);
delay_ms(900);
lcd_cmd(_lcd_clear);
///////////////////////////////////////////
// méthde générale//
////////////////////////////////////////////
/*for(k=0,k<7,k++){msg[k]=character0[k]
d=64;f=0; CustomChar(1,1);
delay_ms(600);
}*///////////////////////////////////
for(;{lcd_out(1,1,texte);
delay_ms(900);
lcd_out(1,1,texte0);
delay_ms(900);
lcd_cmd(_lcd_clear);
x=1;
for(y=0;y<15;y++){lcd_chr(1,x,texte[y]);
delay_ms(500);x++;}
x=2;
for(y=16;y<30;y++){lcd_chr(2,x,texte[y]);
delay_ms(500);x++;}
LCD_cmd(_lcd_clear);
// AFFICHER THE WORLD
CustomChar0(1,0);
CustomChar1(1,1);
CustomChar2(1,2);
CustomChar3(1,3);
CustomChar4(1,4);
CustomChar5(1,5);
CustomChar6(1,6);
CustomChar7(1,7);
delay_ms(900);
lcd_cmd(_lcd_clear);
}
}
ظهر لي هذا الخطأ
http://upload.qariya.info/images/qar...d1075c5e6b.png
أرجوك فسر لي


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


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

مشاء الله
البرنامج باين ان فية شغل ومتعوب فية

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

ياريت لو يتم رفع الكود كامل بملفات الميكرو سى يكون افضل

اما عن الاخطاء الى مكتوبة فى الصورة
فهى ان كلمة welcome مكتوبة بعلامة واحدة فقط "
وليس بين علامتين " "

ولا اعلم هل هناك خطا اخر ام لا

بالتوفيق ان شاء الله


الصورة الرمزية fathi-mohmed
fathi-mohmed
:: مهندس متميز ::
تاريخ التسجيل: Aug 2010
الدولة: القاهرة
المشاركات: 513
نشاط [ fathi-mohmed ]
قوة السمعة:
قديم 20-09-2012, 07:45 PM المشاركة 54   
افتراضي




الصورة الرمزية funky112233
funky112233
:: عضو ذهبي ::
تاريخ التسجيل: Aug 2009
المشاركات: 664
نشاط [ funky112233 ]
قوة السمعة:
قديم 21-09-2012, 02:48 AM المشاركة 55   
افتراضي


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

الله يكرمك يا اخى جزاك الله كل خير


rere2012
:: مهندس ::
تاريخ التسجيل: Sep 2012
المشاركات: 2
نشاط [ rere2012 ]
قوة السمعة:
قديم 01-10-2012, 11:35 PM المشاركة 56   
افتراضي


ممكن حد يساعدني في كود مايكروسي يحل معادلات وادخله المتغيرات بالكيباد ويظهرلي الناتج على lcd lمثلا sgr=(lnw1+lnw2)/t2-t1
ادخله w1,w2,t1,t2بالكيباد ويظهرلي الناتج sgr على lcd



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