اطلاعیه

Collapse
No announcement yet.

سوالات مربوط به LCD های کاراکتری و گرافیکی

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

    درسته ، این به ذهن خودم هم رسید ، اما lcd من 128x64 هستش
    و برای ذخیره این حجم اطلاعات 1024 بایت جا لازمه که مگا16 اینقدر جا نداره
    حالا فقط این راه برام مونده که حافظه ی lcd رو بخونم....
    Share OR Die

    دیدگاه


      پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

      سلام

      من با ال سی دی کاراکتری 2*16 دو مشکل داشتم

      1) راهی هست که بشه خونه خونه ی این LCD را پاک کرد تا حروفی دیگر جایگزین شود؟
      2) من از دستور زیر استفاده کردم تا یک کاراکتر ساختگی رو چاپ کنم ولی جواب نداد مشکل من از کجاست؟


      کد:
      Locate 2 , 1
      Deflcdchar 0 , 3 , 7 , 15 , 31 , 31 , 15 , 7 , 3      ' replace ? with number (0-7
      3) یک توضیحی درباره replace ? with number (0-7) می خواستم که کارش چیست و چرا استفاده می شود

      دیدگاه


        پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

        نوشته اصلی توسط jahromy
        سلام

        من با ال سی دی کاراکتری 2*16 دو مشکل داشتم

        1) راهی هست که بشه خونه خونه ی این LCD را پاک کرد تا حروفی دیگر جایگزین شود؟
        2) من از دستور زیر استفاده کردم تا یک کاراکتر ساختگی رو چاپ کنم ولی جواب نداد مشکل من از کجاست؟


        کد:
        Locate 2 , 1
        Deflcdchar 0 , 3 , 7 , 15 , 31 , 31 , 15 , 7 , 3      ' replace ? with number (0-7
        3) یک توضیحی درباره replace ? with number (0-7) می خواستم که کارش چیست و چرا استفاده می شود
        خونه به خونه lcd رو منظرته یا یک کارکتر
        اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

        دیدگاه


          پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

          نوشته اصلی توسط jahromy
          سلام

          من با ال سی دی کاراکتری 2*16 دو مشکل داشتم

          1) راهی هست که بشه خونه خونه ی این LCD را پاک کرد تا حروفی دیگر جایگزین شود؟
          2) من از دستور زیر استفاده کردم تا یک کاراکتر ساختگی رو چاپ کنم ولی جواب نداد مشکل من از کجاست؟


          کد:
          Locate 2 , 1
          Deflcdchar 0 , 3 , 7 , 15 , 31 , 31 , 15 , 7 , 3      ' replace ? with number (0-7
          3) یک توضیحی درباره replace ? with number (0-7) می خواستم که کارش چیست و چرا استفاده می شود
          سلام
          دوست عزیز نرم افزار bascom یک قسمت داره بنام lcd desiger که شما می تونی یک کاراکتر رو با سیاه کردن یک پیکسل بسازی و وقتی ok کنی خودش می یاد تو برنامه این کد رو تولید میکنه .
          ولی باید دقت کنی که بیشتر از 7 کاراکتر نمی تونی واسه lcd کاراکتری بسازی.

          دیدگاه


            پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

            نوشته اصلی توسط Saeed Bagherani
            خونه به خونه lcd رو منظرته یا یک کارکتر
            1) منظورم همون کاراکترهاست که بشود در این LCD پاک کرد تا کارکتر جدید جایگزین کنم بدون پاک شدن کاراکترهای دیگر؟
            (مگه میشه پیکسل پیکسل LCD را پاک کرد؟)

            نوشته اصلی توسط علی حیاتی
            سلام
            دوست عزیز نرم افزار bascom یک قسمت داره بنام lcd desiger که شما می تونی یک کاراکتر رو با سیاه کردن یک پیکسل بسازی و وقتی ok کنی خودش می یاد تو برنامه این کد رو تولید میکنه .
            ولی باید دقت کنی که بیشتر از 7 کاراکتر نمی تونی واسه lcd کاراکتری بسازی.
            2) آقای حیاتی عزیز من از LCD Designer استفاده کردم که کد زیر بدست اومد حالا مشکل اینه که کد زیر جواب نمیده.


            کد:
            Locate 2 , 1
            Deflcdchar 0 , 3 , 7 , 15 , 31 , 31 , 15 , 7 , 3      ' replace ? with number (0-7

            3) بیشتر از 7 کاراکتر نمی تونی واسه lcd کاراکتری بسازی. منظورتون چیه؟

            دیدگاه


              پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

              نوشته اصلی توسط jahromy

              1) منظورم همون کاراکترهاست که بشود در این LCD پاک کرد تا کارکتر جدید جایگزین کنم بدون پاک شدن کاراکترهای دیگر؟
              (مگه میشه پیکسل پیکسل LCD را پاک کرد؟)

              نوشته اصلی توسط علی حیاتی
              سلام
              دوست عزیز نرم افزار bascom یک قسمت داره بنام lcd desiger که شما می تونی یک کاراکتر رو با سیاه کردن یک پیکسل بسازی و وقتی ok کنی خودش می یاد تو برنامه این کد رو تولید میکنه .
              ولی باید دقت کنی که بیشتر از 7 کاراکتر نمی تونی واسه lcd کاراکتری بسازی.
              2) آقای حیاتی عزیز من از LCD Designer استفاده کردم که کد زیر بدست اومد حالا مشکل اینه که کد زیر جواب نمیده.


              کد:
              Locate 2 , 1
              Deflcdchar 0 , 3 , 7 , 15 , 31 , 31 , 15 , 7 , 3      ' replace ? with number (0-7

              3) بیشتر از 7 کاراکتر نمی تونی واسه lcd کاراکتری بسازی. منظورتون چیه؟
              1. برای اینکه یه کاراکتر را جایگزین کنی با دستور locate x,y مکان نما را به اون قسمت ببر و با دستور lcd یه کاراکتر دیگه نمایش بده.

              2. اولین عدد بعد از Deflcdchar شماره اون کاراکتر را مشخص میکنه. (توی مثال شما عدد صفر: Deflcdchar 0 , 3 , 7 , 15 , 31 , 31 , 15 , 7 , 3)
              منظور از replace ? with number (0-7 هم دقیقن اینه که علامت سوال را با شماره کاراکتری که ساختی (که یه شماره دلخاه بین 0 تا هفته) عوض کنی.
              محدودیتی که تو ساختن کاراکتر وجود داره اینه که بیشتر از 8 کاراکتر (با شماره های 0 تا 7) نمی تونی بسازی.
              آخر سر هم با دستور lcd chr(n می تونی کاراکترهایی که ساختی را نمایش بدی. به جای n باید شماره کاراکتر را بنویسی. البته بعد از n پرانتز را ببند!

              دیدگاه


                پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی


                1) شاید بهتر این بود که اینطوری می پرسیدم من می خواستم برخی کاراکترهای مورد نظرم را پاک کنم تا کارکتری رو جایگزینش کنم بدون تکون خوردن دیگر کاراکترها

                2) به عبارتی یعنی فقط 8 کاراکتر می توان ساخت که قابل استفاده هستند؟ یا فقط یک کاراکتر را 8 بار میشه نمایش داد؟
                3) حالا چرا دستور Deflcdchar در برنامه من جواب نمیده؟
                من به این شکل استفاده کردم ولی کاراکتر نشان داده نمیشه

                کد:
                Cls
                Lcd "AUTOMATIC"
                Locate 2 , 1
                Deflcdchar 0 , 3 , 7 , 15 , 31 , 31 , 15 , 7 , 3      ' replace ? with number (0-7)
                Locate 2 , 3
                Lcd "Status 2"

                البته به شیوه ای که padfoot عزیز ذکر نمودن هم نوشتم برنامه خطا داد و کمپایل نکرد

                دیدگاه


                  پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                  کمک کنی ینی کسی بلد نیست فارسی بنویسه رو ال سی دی 2*16 با با چقد استفاده از امکانات فارسی کم گشتم هیچی نیست یه فونت فارسی واسم بزارید لایب رری ds1307 رو هم پیدا نکردم :cry2: دیگه خسته شدم از گشتن ها و پیدا نکردن هاااااااااااااااااااااااااا :cry2: :sad:
                  [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                  دیدگاه


                    پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                    نوشته اصلی توسط Mahdi.N
                    سلام دوستان
                    من می خواستم دستور Pset از دستورات بسکام رو تو کدویژن درست کنم
                    اما وقتی نقطه ی مورد نظر رو روشن می کنم نقاط دیگه موجود در اون بایت خاموش میشن
                    حالا من می خوام اول LCD رو بخونم ، بعد با توجه به اون نقطه ی مورد نظر رو روشن کنم ، اما نتونستم چون هر بار فقط 255 رو از حافظه می خونه
                    حالا می چیکار کنم ؟
                    لطفا کمکم کنید.....
                    دوستان لطفا یکی به سوال منم جواب بده...
                    Share OR Die

                    دیدگاه


                      پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                      با سلام
                      ببخشید من در مورد راه اندازی glcd چند تا دستور عمل را نتونستم بفهم که چی کار می کنه لطف کنید کمک کنید.
                      با تشکر
                      این برنامه از کتاب پرتوی فر از انتشارت نص می باشد.جلوی دستوراتی علامت سوال است را لطف کنید توضیح دهید.(البته من این برنامه کمی تغییردادم )
                      با سپاس #include<mega32.h>
                      #include<delay.h>
                      #define LCD_PORT PORTA
                      #define LCD_RST PORTB.0
                      #define LCD_E PORTB.1
                      #define LCD_RW PORTB.2
                      #define LCD_RS PORTB.3
                      #define LCD_CS2 PORTB.4
                      #define LCD_CS1 PORTB.5

                      flash char picture[]={
                      کدبر نامه }
                      void write_lcd(char columns,char page,char data);
                      void LatchLCD();
                      void main()
                      {
                      unsigned int i,x,y;
                      PORTA=0x00;
                      DDRA=0xFF;
                      PORTB=0;
                      DDRB=0xFF;
                      LCD_RST=1;
                      for(i=0;i<1024;i++){؟؟؟؟؟
                      if(x>=128){؟؟؟؟؟؟
                      x=0;
                      y++;
                      }
                      write_lcd(x,y,picture);
                      x++;
                      }
                      while(1);

                      }
                      //---------------------------
                      void write_lcd(char columns,char page,char data)
                      {
                      if(columns >=64){؟؟؟؟؟؟؟
                      LCD_CS1=0;
                      LCD_CS2=1;
                      }else{
                      LCD_CS1=1;
                      LCD_CS2=0;
                      }
                      LCD_RS=0;
                      LCD_RW=0;
                      LCD_PORT=0xB8 | page;؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
                      LatchLCD();
                      LCD_RS=0;
                      LCD_RW=0;
                      LCD_PORT=0x40 | columns; ؟؟؟؟؟؟؟؟؟؟؟؟
                      LatchLCD();
                      LCD_RS=1;
                      LCD_RW=0;
                      LCD_PORT=data;
                      LatchLCD();
                      }
                      //-----------------------
                      void LatchLCD()
                      {
                      LCD_E=1;
                      LCD_E=0;
                      }

                      دیدگاه


                        پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                        sadeg جان میشه لطف کنی سورس برنامه همراه با کتابخونشو بزاری
                        ذکات علم یاد دادنه ....

                        دیدگاه


                          پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                          سلام دوستان
                          من یک GLCD با شماره TS12864A-2 رو همین حالا راه اندازی کردم ( با زبان اسمبلی ) اول کار که هنوز دستوری بهش ندادم ( فقط نیم صفحه ها رو فعال کردم ) هر کدام از نیم صفحه ها که فعال باشه یا هردو تماما روشن هست، در این حالت تصویر کمی لرزش داره، مثل اینکه صفحه LCD یا یک تغذیه ac روشن شده باشه ( تند تند چشمک بزنه ) میخواستم ببنیم این مشکل از کجاست؟ اگر LCD رو یکبار کامل پاک کنم بعد با دستورات تمام پیکسل ها رو دوباره روشن کنم باز هم همینطور میشه یا دیگه ثابت میمونه؟ اصلا این مشکل هست یا به طور طبیعی این یکم نوسات توشون هست؟
                          تشکر
                          از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                          هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                          اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                          اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                          شاد و موفق باشید

                          دیدگاه


                            پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                            مشکل حل شد
                            از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                            هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                            اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                            اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                            شاد و موفق باشید

                            دیدگاه


                              پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی

                              ببخشید فقط تو کتاب این فایل text* هست هیچ کتابخونه ای نداره یا من نمی دونم اگه میشه راهنمایی کنید ممنون میشم .
                              درضمن من مشکلم فقط تو دستوراتی که جلوش علامت سوال هست اگه لطف کنید کارشو بگیدممنون می شم.

                              دیدگاه


                                پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی





                                flash char picture[]={
                                کدبر نامه }
                                در واقع همون عکسیه که میخوای رو lcd نشون داده بشه



                                for(i=0;i<1024;i++){؟؟؟؟؟ ال سی دی به 8تا صفحه از بالا به پایین + 127 ستون از چپ به راست تقسیم میشه تو این حلقه اون عکسی که تو حافظه فلشه داره سطر به سطر خونده میشه تا برسه به صفه اخر
                                if(x>=128){؟؟؟؟؟؟
                                x=0; پس 8 تاصفه داریم و 128 تا ستون میشه 1024
                                این شرطم گذاشته تا وقتی x رسید به اخر ین پیکسل یا اخرین ستون دوباره 0 بشه و این بار یکی به صفه اضافه بشه تا اینجا :agree:OK
                                y++;
                                }
                                write_lcd(x,y,picture);
                                x++;
                                }


                                if(columns >=64){؟؟؟؟؟؟؟
                                در ضمن lcd به دو تا قسمت 64 پیکسلی تقسیم میشه که وقتی cs1=1 باشه و cs2=0 قسمت سمت چپ lcd روشنه و بلعکس ... حالا تو این شرط گفته اگه ادرسه ستونی که میدی بیشتر از 64 باشه میره تو نیمه دوم lcd پس باید cs1=0 و cs2=1 باشه... بهمین راحتی :nerd:

                                اینم برنامه اصلاح شده همراه فایل پرتئوس...
                                glcd.rar
                                ذکات علم یاد دادنه ....

                                دیدگاه

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