اطلاعیه

Collapse
No announcement yet.

مشکل در اتصال LCD

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در اتصال LCD

    سلام
    یک ال سی دی 16 * 2 رو به مگا 32 وصل کردم ولی عمل نمیکنه کلیه پینهاشو هم درست وصل کردم. به نظر شما مشکل میتونه از چی باشه ؟ ؟ آیا نکته خاصی وجود داره که ممکنه من چشم پوشی کرده باشم ؟ ؟
    شبیه سازی پروتئوس هم درست کار می کنه
    اینم برنامه
    http://rameshk.persiangig.com/A.zip
    ممنون
    rameshk8@gmail.com

    #2
    پاسخ : مشکل در اتصال LCD

    از دستورات زیر استفاده کن اگه جواب نگرفتی پیغام بذار
    config lcd pin = pin , db4 = portx.x , ....
    config lcd bus =4
    config lcd = 16*2
    display on
    باید حواست باشه این پایه ها رو جای دیگه ورودی یا خروجی تعریف نکنی
    برای اطمینان کار پایه های 1 و 3 و 5 lcd رو به زمین وصل کن
    موفق باشی

    دیدگاه


      #3
      پاسخ : مشکل در اتصال LCD

      سلام دوست عزیز و ممنون از اینکه وقت گذاشتی
      از دستوراتی که گفته بودید استفاده کردم و برنامه رو به شکل زیر تغییر دادم :

      http://rameshk.persiangig.com/B.zip

      ولی بازم جوابی نگرفتم و تنها چیزی که روی صفحه میاد یه سطر از پیکسل های سیاه رنگ است.
      آیا باید در برنامه تاخیر ایجاد کنم؟
      با تشکر فراوان
      rameshk8@gmail.com

      دیدگاه


        #4
        پاسخ : مشکل در اتصال LCD

        سلام
        کارهای زیر رو انجام بده اگه جواب نگرفتی بگو
        1- در منو options \ compiler \ output اگه گزینه swap words فعاله تیک اون رو بردار و دوباره برنامه رو کامپایل کن
        2-بین +5 و زمین خازن با ظرفیت چند نانو قرار بده
        3- حالتی رو که گفتی مربوط به وجود نویز ، دریافت نکردن اطلاعات و یا تغذیه نا صحیح lcd است
        4- فرکانس کریستال رو 1 مگا تنظیم کن
        5- قبل از اینها میتونی یه برنامه ساده که یک led رو روشن و خاموش کنه بنویسی و ببینی که ایا میکرو درست کار میکنه
        موفق باشی
        اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

        دیدگاه


          #5
          پاسخ : مشکل در اتصال LCD

          ُسلام. دو.ست عزیز اگر تمام یک ردیف سایه میاره یعنی میکرو تون برای LCD چیزی نمیفرسته! یعنی میکروتون Program نشده! البته این هم یکی از احتمال ها هستش. اول یه برنامه خیلی ساده بدین ، مثلاً بدین پورت D رو پانزده بکنه! اگر میکرو درست بود، اونوقت به سایر موارد هم شک کنید. (همون مورد 5 که دوستمون گفتن) پایه ها رو ه می] بار چک کن! ممکنه پایه یک رو اشتباهی زدی به منبع تغذیه ( پیش میاد) یا پایه ها را جا بجا زدی! یا در ظاهر وصل اند ولی با اهم متر امتحان کنی قطع باشن!
          BNTSTBNT

          دیدگاه


            #6
            پاسخ : مشکل در اتصال LCD

            سلام دوستان
            من همه کارهایی رو که فرموده بودید رو انجام دادم، حتی میکرو رو با برنامه LED هم چک کردم و روی تمام پورتها هم جواب داد (پس میکرو و پروگرمر سالمه)
            حتی رفتم یه LCD با یه میکرو تازه هم گرفتم ولی بازم مشکلم حل نشد که نشد...
            پایه ها رو هم چک کردم، درست وصل شده اند. جای پورتها رو هم تو برنامه اصلی عوض کردم، حتی یکی از LCD ها رو لحیم کاری کردم (گفتم نکنه لقی بزنه!) بازم نشد که نشد...
            اصلا برنامه ای که در بالا نوشتم منطقی است؟ یا خیر؟
            منتظر راهنمایی هاتون هستم!!!
            با تشکر وسپاس فراوان
            rameshk8@gmail.com

            دیدگاه


              #7
              پاسخ : مشکل در اتصال LCD

              سلام
              من برنامه زیر را تو کد ویژن برای 90s2313 نوشتم و جواب داد فقط پورت b را که دیتا ها را می فرسته قبل اتصال به LCD با 74245 بافر کردم اگه میکروت شمارش فرق داره هدر فایل را عوض کنی بازم مشکلی نداره

              کد:
              #include<90s2313.h>
              
              
              #define ON 1
              #define OFF 0
              
              
              //RS = PORTD.0;
              //RW = PORTD.1;
              //E = PORTD.6; 
              
              void del(void) 
              {
              int i;
              for(i=0;i<20000;i++);
              }
              
              void Delay(void) 
              {
              int i,k;
              for(i=0;i<30000;i++)
              k++;
              k--;
              }
              void Command(void) 
              {
              PORTD.0=0;
              PORTD.1=0;
              PORTD.6=1;
              del();
              PORTD.6=0; 
              Delay();
              return;
              }
              void Display(void) 
              {
              PORTD.0=1;
              PORTD.1=0;
              PORTD.6=1;
              del();
              PORTD.6=0;
              Delay();
              return;
              } 
              void LCD(unsigned char a[])
              {
               char i,o;
              DDRB=0xff;
              DDRD.0=1;
              DDRD.1=1;
              DDRD.6=1;
              
              PORTB=0x38;
              Command();
              PORTB=0x0e;
              Command();
              PORTB=1;
              Command();
              PORTB=0x06;
              Command();
              PORTB=0x80;
              Command();
              
              for(i=0;a[i];i++)
              {
              PORTB=a[i];
              Display();
              if(i==15)
              {
              PORTB=0xc0;
              Command();
              }
              }
              }
              #pragma regalloc-
              void main()
              {
              
              unsigned char __lcd[18]="Pluskid"; 
              LCD(__lcd);
              
              }
              
               :wink:
              we are here,it must be done

              دیدگاه


                #8
                پاسخ : مشکل در اتصال LCD

                سلام.
                1) تو فایل هایی که گذاشتین، خود برنامه نیستش!! فایل Proteus هستش با فایل HEX. اگر با c نوشتین، اون فایل .C رو هم بزارین.
                2) چرا از Wizard خود Codevision برای راه اندازی خود LCD استفاده نمیکنین؟
                BNTSTBNT

                دیدگاه


                  #9
                  پاسخ : مشکل در اتصال LCD

                  سلام pluskid عزیز
                  من برنامه شما رو نگاه کردم ولی از آنجایی که زیاد C کار نکردم ، ندونستم پایه های LCD رو به کدام پایه های میکرو وصل کنم ، اگر امکانش هست (روم به دیوار) فایل شبیه سازی شده با پروتئوس را پلود کنید.در ضمن من از میکرو ATmega32 استفاده می کنم.
                  با آرزوی موفقیت برای شما و تمامی دوستان

                  نوشته اصلی توسط یاشار شکوهی
                  سلام.
                  1) تو فایل هایی که گذاشتین، خود برنامه نیستش!! فایل Proteus هستش با فایل HEX. اگر با c نوشتین، اون فایل .C رو هم بزارین.
                  2) چرا از Wizard خود Codevision برای راه اندازی خود LCD استفاده نمیکنین؟
                  سلام آقا یاشار
                  1- خود برنامه رو به زبان بیسیک نوشتم و درون فایل زیب شده هم قرار دادم (فایل B.bas که جسارتاً اگر با Notepad بازش کنید می بینید)
                  2- چشم، Wizard هم امتحان می کنم و نتیجه شو بهتون اطلاع میدم
                  با آرزوی موفقیت برای شما و تمامی دوستان
                  rameshk8@gmail.com

                  دیدگاه


                    #10
                    پاسخ : مشکل در اتصال LCD

                    سلام
                    من مطمئنم که مشکل شما در اتصال نادرست است
                    اگه برات ممکنه یک عکس با دوریبن از برد بورد بگیر و یا شماتیک مداری رو که عملا استفاده کردی بکش تا بقیه دوستان شاید بتونن کمکت کنند
                    متن برنامه رو اگه بزاری بد نیست
                    موفق باشی

                    دیدگاه


                      #11
                      پاسخ : مشکل در اتصال LCD

                      سلام
                      برنامه ات رو به شکل زیر تعقییر بده
                      $regfile = "M32DEF.dat"
                      $crystal = 8000000
                      Config Lcd = 16 * 2
                      Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , _
                      Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2
                      Config Lcdbus = 4
                      waitms 500
                      Display On
                      dim A as byte
                      do

                      locate 1,1
                      lcd "a=";a
                      waitms 500

                      loop
                      End
                      اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

                      دیدگاه


                        #12
                        پاسخ : مشکل در اتصال LCD

                        سلامی دوباره
                        با راهنمایی های شما عزیزان بالاخره یه جواب نصفه نیمه ازش گرفتم:
                        از Wizard خود Codevision استفاده کردم و پایه پنج LCD رو (R/W) بجای اینکه مستقیماً به زمین وصل کنم به یکی از پایه های میکرو وصل کردم ولی چیزی که رو صفحه دیدم یه سری کاراکترهای بی معنی بود و با اون چیزی که تو برنامه نوشته بودم کاملاً تفاوت داشت.
                        به نظر شما مشکل از چیه، آیا پایه های LCD به هم اتصالی دارند؟

                        شماتیک مدار همونی که تو فایل پروتئوس است

                        موفق و پیروز باشید
                        rameshk8@gmail.com

                        دیدگاه


                          #13
                          پاسخ : مشکل در اتصال LCD

                          سلام. خوبین؟ خوب با فرض ای« که اتصالاتتون درست باشه ( دقت کنید که وقتی از Wizard برنامه CODE VISION استفاده میکنید، ترتیب پایه ها با اونی که بستین فرق میکنه یعتی کلاً پایه های 4 تا 6 LCD به پایه های 0 تا 2 پورت مورد نظر و پایه های 4 تا 7 پورت هم برای ارسال دیتا بکار میره! دقت کنید.) حالا اگر درست نشون نمیده و چیز دیگه ای نشون میده، شما از کدوم ورژن Code Vsion استفاده میکنید؟ بهتره از ورژن 1.24.8 که تو سایت هستش استفاده کنید. ( فکر کنم آخرین ورژنش باشه) مشکل تو کامپایلره در حقیقت. واسه همینه میگم ورژن Codevison رو هم تست کن تا مطمئن شیم مشکل از کامپایلر نیستش. در ضمن سعی کنیداز پورت C برای اتصال به LCD استفاده نمکنید.
                          BNTSTBNT

                          دیدگاه


                            #14
                            پاسخ : مشکل در اتصال LCD

                            دوست عزیز آیا برنامه رو همون جور که آقا یاشار گفتن روی تمام پورت ها غیر پورت c امتحان کردی؟
                            چون تو میکرو های atmega16 و atmega32 به طور پیش فرض چند تا پایه های پورت c میکرو اتصال ندارن (به خاطر ارتباط jtag)
                            واسه همین باید قبل از هر کاری فیوزبیت های مربوط به ارتباط JTAG رو غیر فعال کنی.
                            اگر انسان از همه خطر ها پرهيز کند ، هرگز راه به جائي نخواهد برد...

                            دیدگاه


                              #15
                              پاسخ : مشکل در اتصال LCD

                              سلام
                              دست همتون درد نکنه مشکلم حل شد مشکل سر همین یه جمله بود که در زیر مشخص کردم
                              نوشته اصلی توسط یاشار شکوهی
                              سلام. خوبین؟ خوب با فرض ای« که اتصالاتتون درست باشه ( دقت کنید که وقتی از Wizard برنامه CODE VISION استفاده میکنید، ترتیب پایه ها با اونی که بستین فرق میکنه یعتی کلاً پایه های 4 تا 6 LCD به پایه های 0 تا 2 پورت مورد نظر و پایه های 4 تا 7 پورت هم برای ارسال دیتا بکار میره! دقت کنید.) حالا اگر درست نشون نمیده و چیز دیگه ای نشون میده، شما از کدوم ورژن Code Vsion استفاده میکنید؟ بهتره از ورژن 1.24.8 که تو سایت هستش استفاده کنید. ( فکر کنم آخرین ورژنش باشه) مشکل تو کامپایلره در حقیقت. واسه همینه میگم ورژن Codevison رو هم تست کن تا مطمئن شیم مشکل از کامپایلر نیستش. در ضمن سعی کنیداز پورت C برای اتصال به LCD استفاده نمکنید.
                              پایه 6 LCD رو به پایه 1 پورت وصل کردم و مشکلم حل شد
                              خوشحالم که دوستای خوبی مثل شما رو دارم
                              موفق و سر بلند باشید
                              rameshk8@gmail.com

                              دیدگاه

                              لطفا صبر کنید...
                              X