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

أدوات الموضوع

احمد شهيد جواد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2015
الدولة: العراق
المشاركات: 324
نشاط [ احمد شهيد جواد ]
قوة السمعة:0
قديم 22-04-2015, 09:33 PM المشاركة 1   
افتراضي مشكلة في الشاشة 16*2 Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
اخوان هذا الاستخدام الاول لي للـــ LCD ولا اعرف لماذا تظهر هذه المربعات مع انها في البروتيس لا تظهر

http://www.4shared.com/video/-_yoCBwKba/_online.html?

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

اعلانات

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 23-04-2015, 02:19 AM المشاركة 2   
افتراضي


السلام عليكم ورحمة الله وبركاته
اخوان هذا الاستخدام الاول لي للـــ LCD ولا اعرف لماذا تظهر هذه المربعات مع انها في البروتيس لا تظهر

http://www.4shared.com/video/-_yoCBwKba/_online.html?

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

أخي اكتب الامر أطفاء مؤشر و مسح الشاشه في بدايه البرنامج
كود:
lcd_cmd(_LCD_CURSOR_OFF);
lcd_cmd(1);
حاول تعرض بالبدايه نص ثابت لمده 3 ثواني بعدها امسح الشاشه لتنفذ البرنامجك
يعني
كود:
lcd_cmd(_LCD_CURSOR_OFF);
lcd_cmd(1);
lcd_out(1,1,"*******IRAQ*****");
delay_ms(3000);
lcd_cmd(1);

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

zoro39
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2009
المشاركات: 69
نشاط [ zoro39 ]
قوة السمعة:0
قديم 23-04-2015, 12:22 PM المشاركة 3   
افتراضي


أهلا بك أخي
استعمال هذه الشاشات في غاية السهولة أخي العزيز وبما أنها اشنغلت على البروتيس فاني أعتقد بأنه لديك مشكل في تركيب الدارة على أرض الواقع,
هذه مشروعين لتوصيل شاشة LCD 1602 مع المتحكم PIC16F84A والمتحكم PIC16F877A كنت قد وضعتهما هنا في المنتدى من قبل مع الكودات وهي مكتوبة بلغة الميكروسي ومجربة على أرض الواقع:
http://elecnote.blogspot.com/2015/01...d-example.html

http://elecnote.blogspot.com/2014/12...d-example.html

بالتوفيق


احمد شهيد جواد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2015
الدولة: العراق
المشاركات: 324
نشاط [ احمد شهيد جواد ]
قوة السمعة:0
قديم 23-04-2015, 03:13 PM المشاركة 4   
افتراضي


كم هي قيمة المقاومة المتغيرة انا وضعتها 10 كيلو (103) فهل هذه القيمة صحيحه ؟؟؟

هذا الكود
كود:
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;


sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D7_Direction at TRISB5_bit;

char buffer[16];
char x=0,y=0;
const char text[]="                1-press key one to on/off relay...2- press key tow for siting timer...3-press key three to back..                ";
void main()
{

 lcd_init();
 lcd_cmd(12);
 lcd_cmd(1);
while(1)
{
 for(x=0;x<16;x++)
 {
  buffer[x]=text[x+y];

 }
 lcd_out(1,1,buffer);
 delay_ms(200);
 lcd_cmd(1);


 y++;  if(y==129)y=0;

}
}


التعديل الأخير تم بواسطة : احمد شهيد جواد بتاريخ 23-04-2015 الساعة 03:28 PM

احمد شهيد جواد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2015
الدولة: العراق
المشاركات: 324
نشاط [ احمد شهيد جواد ]
قوة السمعة:0
قديم 24-04-2015, 08:59 AM المشاركة 5   
افتراضي


اخوان هذه المربعات تظهر فقط عندما اخزن النص في الروم وانسخه الى الرام
اما اذا خزنتها على الرام مباشرة فلاتظهر .. لماذا ؟؟؟؟

طبعاً هذه المربعات والخربطة لاتظهر في البروتيس فقط في الواقع


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 24-04-2015, 09:22 AM المشاركة 6   
افتراضي


اخوان هذه المربعات تظهر فقط عندما اخزن النص في الروم وانسخه الى الرام
اما اذا خزنتها على الرام مباشرة فلاتظهر .. لماذا ؟؟؟؟

طبعاً هذه المربعات والخربطة لاتظهر في البروتيس فقط في الواقع
السلام عليكم
عندك حلين
1- أستخدم مكتبه جديده فهي تطبع مباشره من روم
2- او تستخدم نفس هذا الكود لانه يوجد خطأ بالكود
كود:
// Lcd pinout settings
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D4 at RB0_bit;

// Pin direction
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D7_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB0_bit;

unsigned char x,y, kk , count;
char text_lcd[17];
const char txt[]="               Hello ....How is my friend .. my name is Hasan Iam from iraq                ";
void main()
{
 cmcon=7;
 Lcd_Init();
 lcd_cmd(_LCD_CURSOR_OFF);
 lcd_cmd(1);
 while(1)
        {
         kk=sizeof(txt);// calcaulate size of txt
         for(x=0;x<17;x++)
                         {
                           if(x==16){text_lcd[x]=0;break;}// reset text_lcd[x] this verry nessary for avoid overwrited
                          text_lcd[x]=txt[x+y]; // 15+42

                          }
         lcd_out(1,1,text_lcd);

        count++;
        delay_ms(10);
        if(count==10)// to reducing time
                    {
                      y++;
                      if(y==kk-15)y=0;
                      count=0;
                     }


        }
}

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً احمد شهيد جواد ( شكر العضو على هذه المشاركة )

احمد شهيد جواد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2015
الدولة: العراق
المشاركات: 324
نشاط [ احمد شهيد جواد ]
قوة السمعة:0
قديم 24-04-2015, 11:10 AM المشاركة 7   
افتراضي


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

انا حالياً احاول كتابة اوامر الشاشة فقط وبعدها كتابة الاوامر الاخرى
هنا لي سؤال .. لو استخدمت المكتبة الجديدة فهل اكتب هذا الكود في كل دالة (دالة الريلي الاول ودالة الريلي الثاني ودالة void main )
مع اختلاف في كتابة النص


كود:
void Lcd_Out20(char row, char col, const char *txt) {

   switch (row)
   {
      case 0: Lcd0_Command(128 +  0 + col ); break;
      case 1: Lcd0_Command(128 + 64 + col ); break;
      case 2: Lcd0_Command(128 + facter + col ); break;
      case 3: Lcd0_Command(128 + 64+facter + col ); break;
      default: return;
   }


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 24-04-2015, 11:16 AM المشاركة 8   
افتراضي


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

انا حالياً احاول كتابة اوامر الشاشة فقط وبعدها كتابة الاوامر الاخرى
هنا لي سؤال .. لو استخدمت المكتبة الجديدة فهل اكتب هذا الكود في كل دالة (دالة الريلي الاول ودالة الريلي الثاني ودالة void main )
مع اختلاف في كتابة النص


كود:
void Lcd_Out20(char row, char col, const char *txt) {

   switch (row)
   {
      case 0: Lcd0_Command(128 +  0 + col ); break;
      case 1: Lcd0_Command(128 + 64 + col ); break;
      case 2: Lcd0_Command(128 + facter + col ); break;
      case 3: Lcd0_Command(128 + 64+facter + col ); break;
      default: return;
   }
لا ماكو داعي ذلك
هذا الكود تستخدمه اذا شاشه 4x20 او اكثر

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً احمد شهيد جواد ( شكر العضو على هذه المشاركة )
اعجاب احمد شهيد جواد ( أعجبته المشاركة )
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025