اطلاعیه

Collapse
No announcement yet.

راهنمایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

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

    راهنمایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

    با سلام ,من هیچی از نحوه راه اندازی (برنامه و ترتیب پایه ها)ی GLCD نمیدونم.یه مقاله در باره ی تصویر و پیکسل خوندم.در ضمن
    می دونم که باید تصویر های سیاه و سفید رو توی کامپایلرمون لود کنیم بعد کامپایلر اونو تبدیل به کد میکنه,بعد با برنامه و میکرو (ترجیحا :
    PIC 16F877A )کد ها به ال سی دی میرن و بعد روی ال سی دی نمایشداده میشن. :agree:

    اما مشکل اینجاست: چجوری باید برنامه بنویسیم؟ oo: پایه ها چجوری به میکرو وصل مشن؟ :eek:اگر میشه برنامه رو با Pic Basic بنویسید.





    در ضمن فکر کنم با این زبان , توی micro basic باید اجرا بشه...

    پیشاپیش ممنون. :bye
    آدم های سخت می مانند و روز های سخت می روند!

    #2
    پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC


    کد:
    program GLCD
    const vahid_bmp as byte[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,128, 0, 64,128, 0,
     98, 68, 8, 16, 0,128, 72,132, 0, 0, 96, 32, 0,192, 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, 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, 16,132,121, 4, 3, 1,128, 0,
     0, 0, 0, 0, 0, 0, 24, 23, 16, 0, 0, 0, 32, 32, 64,128,
     128, 1, 34,156,112,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, 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, 0, 64,192, 0, 96, 64,
     16, 64, 96, 32,128, 64, 0,128, 0, 0, 0, 0, 0, 0, 32, 16,
     0, 0, 0, 4, 0, 0, 0, 3, 0, 3, 0, 4, 4, 6, 8, 16,
     112,192, 0, 0, 0, 0, 0, 0, 0, 0,128, 32, 0, 0, 8, 1,
     7, 6, 4, 6, 4, 7, 4, 4, 0, 8, 8, 16,112,192, 0, 0,
     0, 0, 0, 0, 0, 0,240, 0, 0,122,122, 0, 64, 0, 2, 0,
     4,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0,128,128, 0, 64,128, 0, 96,128, 48, 96, 24, 24,
     32, 12, 20, 18, 6, 12, 3, 7, 4, 3, 3, 26, 1, 31,125, 60,
     60, 60,125, 25, 6, 2, 3, 5, 4, 2, 9, 12, 6, 18, 10, 36,
     48, 64, 96, 48,192,192, 32,160,192, 64, 16,144, 0, 8, 8, 4,
     6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
     0, 0, 32, 32, 32, 32, 32, 0, 16, 16, 8, 12, 6, 3,128,128,
     128, 0, 0,192,192,128,255, 0, 0, 7, 69, 8,192,135, 0, 0,
     128,255, 8,224,240,240,224,192,192,128, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 1, 1, 1,129, 1, 63, 33, 33, 33, 33,123, 63, 37,
     37, 37, 63,187, 33, 33, 33, 57, 37, 35,163, 39, 47, 61, 57, 49,
     33, 35, 63, 39, 37, 45, 57, 57, 63, 63, 33, 33, 59,127, 63, 37,
     37, 37, 47, 59, 57, 49,225, 33, 33, 33, 33, 63, 33, 1,192, 0,
     224, 32, 32, 0, 0, 0, 48, 48, 32, 0,136,152,152, 16,128,140,
     76, 72, 64, 0,198,230, 36, 32, 0, 3,227,242, 16, 16, 1, 1,
     9,248,248, 0, 0, 4,255, 0, 0,141,136,152,144, 61, 1, 0,
     218,255, 0,255,255,255,255,255,255,255,255,255,254,252,252,248,
     0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,255, 86, 0,
     0, 0, 0,255, 0, 0, 0, 0,255,255, 16,172,244, 62, 37, 39,
     35, 34, 34,226, 34, 34, 34, 35, 37, 38, 58,228,248, 0,255,255,
     0, 0, 0,255,255, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
     255, 2, 0, 0,127, 65, 65, 0, 63, 63, 0, 0, 32, 32, 63, 63,
     0,128,128,128,159,159,144,144,128,128,143,143,136, 8, 72, 72,
     64,199, 71,192,192, 4, 15, 0, 16, 5, 33, 34, 38, 32, 48, 0,
     15, 6, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,
     0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 64, 64,127,107, 64,
     64, 64, 64,127, 64, 64, 64, 64,127,127, 64, 84,127, 64, 64, 64,
     64, 64, 64,127, 64, 64, 64, 64, 64, 64, 64,127,127, 64,127,127,
     64, 64, 64,127,127, 64, 64,127, 64, 64, 64, 64, 64, 64, 64,240,
     255, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0,255, 64,255,255, 0, 16, 16, 16, 16, 16, 16,
     16,255, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0,255, 63,255, 15,255,255,255,255,255,255,255,255,255,
     0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
     6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
     6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
     6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 63,
     43, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
     40, 40, 40, 40, 40, 47, 32, 63, 63, 32, 32, 32, 32, 32, 32, 32,
     32, 63, 32, 47, 47, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
     40, 40, 40, 63, 32, 32, 32, 47, 63, 47, 47, 63, 63, 63, 63, 63
    )
     main:
     Glcd_Init(PORTC, 0,1,2,3,5,4,PORTB)
     Glcd_Image(vahid_bmp)
    end

    دیدگاه


      #3
      پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

      خییییییییییییییییییییییییییییییییییییییلیییییییییی یییییی ممنون .ببخشید که دیر جواب میدم. :redface:فقط شما ننوشتید که تو کدوم کامپایلر و فرم
      اصلی دستور چیه و زبانش؟ یعنی همون Pic Basic ؟




      خیییلییییی ممنون. :job: :bye
      آدم های سخت می مانند و روز های سخت می روند!

      دیدگاه


        #4
        پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

        سلام.
        فک کنم زمان زیادی از درج این تاپیک گذشته باشد ولی از اونجایی که بنده نیاز مبرم به راه اندازی ال سی دی گرافیکی با picبه زبان سی دارم خواهش میکنم در راه اندازیش به من و کسانی که مثل من هنوز موفق به راه اندازی این ال سی دی ها نشدن کمک کنید.هم در دستورات برنامه نویسی هم وصل پایه ها
        ش بهpic16f877
        با تشکر.....
        زکات علم اموختن ان به دیگران است...
        اگريك فلج مادر زاد در مسابقه دو ماراتون نفراول نشود مقصر فقط وفقط خودش است...

        دیدگاه


          #5
          پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

          مدارت اشکال داره برادر - اشکال سخت افزاری
          باید 3 ال سی دی رو با یه مقاومت به 18 وصل کنی و 18 رو با یه پتانسیو متر به گراند
          ***
          من ول کردم، می خوام ببینم که شما هم ول می کنین یا نه!

          دیدگاه


            #6
            پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

            نوشته اصلی توسط x.m.k
            مدارت اشکال داره برادر - اشکال سخت افزاری
            باید 3 ال سی دی رو با یه مقاومت به 18 وصل کنی و 18 رو با یه پتانسیو متر به گراند
            lمرسی داداش مشکل من بیشتر تو برنامه نویسیشه :cry2: :cry:من بازبان سی کار میکنم اگه راجب برنامه نویسیش اطلاعاتی داری ومیتونی کمکم کنی ممنون میشم بازم مرسی :applause:
            اگريك فلج مادر زاد در مسابقه دو ماراتون نفراول نشود مقصر فقط وفقط خودش است...

            دیدگاه


              #7
              پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

              نوشته اصلی توسط milad066
              lمرسی داداش مشکل من بیشتر تو برنامه نویسیشه :cry2: :cry:من بازبان سی کار میکنم اگه راجب برنامه نویسیش اطلاعاتی داری ومیتونی کمکم کنی ممنون میشم بازم مرسی :applause:
              از تابع آماده استفاده نکن، چون معمولا یه جای کار هست که از قلم میفته و آدم رو سردرگم می کنه. خودت بنویسی بهتره.
              اول ال سی دی رو روشن کن بادستورات مربوط به روشن کردن و بعد سطر و ستون رو مشخص کن و بعد اطلاعات رو بفرست. من دفعه اول که یه ال سی دی گرافیکی راه انداختم، هیچ اطلاعی در موردش نداشتم، ولی با اسمبلی تونستم اطلات یه اسکوپ رو توش نمایش بدم، کامپایلرشم خودم نوشته بودم خیلی هم سخت نبود، صد در صد با سی خیلی راحت تر می تونی بنویسی.
              خوبی این ال سی دی ها اینه که تعداد دستوراتشون خیلی کمه و راحت میشه اطلاعات رو بهشون ارسال کرد.
              به نظر من برو خودت شروع به نوشتن از اول کن که انشاء الله بتونی با مهارتی که پیدا کردی هرچه زودتر تر کار کردن با ال سی دی های رنگی(n96) رو هم(اگر شروع نکردی) شروع کنی - موفق باشی
              ***
              من ول کردم، می خوام ببینم که شما هم ول می کنین یا نه!

              دیدگاه


                #8
                پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

                نوشته اصلی توسط x.m.k
                از تابع آماده استفاده نکن، چون معمولا یه جای کار هست که از قلم میفته و آدم رو سردرگم می کنه. خودت بنویسی بهتره.
                اول ال سی دی رو روشن کن بادستورات مربوط به روشن کردن و بعد سطر و ستون رو مشخص کن و بعد اطلاعات رو بفرست. من دفعه اول که یه ال سی دی گرافیکی راه انداختم، هیچ اطلاعی در موردش نداشتم، ولی با اسمبلی تونستم اطلات یه اسکوپ رو توش نمایش بدم، کامپایلرشم خودم نوشته بودم خیلی هم سخت نبود، صد در صد با سی خیلی راحت تر می تونی بنویسی.
                خوبی این ال سی دی ها اینه که تعداد دستوراتشون خیلی کمه و راحت میشه اطلاعات رو بهشون ارسال کرد.
                به نظر من برو خودت شروع به نوشتن از اول کن که انشاء الله بتونی با مهارتی که پیدا کردی هرچه زودتر تر کار کردن با ال سی دی های رنگی(n96) رو هم(اگر شروع نکردی) شروع کنی - موفق باشی
                اتفاقا خودمم از تابع اماده خوشم نمیاد.دوست دارم تمام دستورات و خودم بنویسم ولی مشکلم اینجاس نمیدونم ازکجاشروع کنم ال سی دی کاراکتری را درسته قورتش میدم :wow: :applause:ولی راجب ال سد دی گرافیکی هیچ اطلاعاتی ندارم.
                اگريك فلج مادر زاد در مسابقه دو ماراتون نفراول نشود مقصر فقط وفقط خودش است...

                دیدگاه


                  #9
                  پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

                  مگه دیتاشیتش رو نداری-خیلی فرقی با ال سی دی کاراکتری نداره-من یه توضیح مختصر می دم باید چی کار کنی:
                  اول ال سی دی رو با دستور زیر روشن می کنی:
                  DATA:00111111
                  R/W:low
                  D/I:low
                  clock high to low>1us
                  بعد باید خط اولت رو مشخص بکنی که از چندمین پیکسل شروع بشه:
                  data0:5:start line in binary format
                  data6:high
                  data7:high
                  R/W:low
                  D/I:low
                  حالا شماره ستون رو از 0 تا 63 انتخاب می کنی، دو تا ورودی هستن که با 0 و 1 بودنشون مشخص می شه کدوم نصفه از صفحه منظورته، می تونی دوتا نصفه رو با هم یا جدا انتخاب کنی:
                  data0:5:binary format
                  data6:high
                  data7:low
                  R/W:low
                  D/I:low
                  یه چیزی هم به عنوان page داره که با هاش ردیفتو می تونی 8 تایی انتخاب کنی.ال سی دی 64*128 میشه 8 تا 8 تایی ردیف و دو تا 64 تایی ستون. هر بار که اطلاعات یه ستون رو وارد می کنی، خود به خود شماره ستون انتخابی افزایش پیدا می کنه. دستور انتخاب ردیف:
                  data0:2:binary format 0 to 7
                  data3:high
                  data4:high
                  data5:high
                  data6:low
                  data7:high
                  R/W:low
                  D/I:low
                  حالا نوبت نوشتن اطلاعاته:
                  data0:7:binary format
                  R/W:low
                  D/I:high
                  هر ردیف گفتم که هشت تا هشت تا انتخاب می شد، یعنی 8 تا پیکسل که همون 8 تا بیت مربوط به اطلاعات نمایش هستند.
                  موفق باشی
                  ***
                  من ول کردم، می خوام ببینم که شما هم ول می کنین یا نه!

                  دیدگاه


                    #10
                    پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

                    جواب نگرفتم کمکم کنید :cry2: :cry: :cry2:
                    اگريك فلج مادر زاد در مسابقه دو ماراتون نفراول نشود مقصر فقط وفقط خودش است...

                    دیدگاه


                      #11
                      پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

                      یعنی یه پیکسل هم روشن نمیشه!!!؟؟؟
                      ***
                      من ول کردم، می خوام ببینم که شما هم ول می کنین یا نه!

                      دیدگاه


                        #12
                        پاسخ : راهنایی کنید:راه اندازی LCD گرافیکی با میکرو PIC16F877A با برنامه BASIC

                        نوشته اصلی توسط x.m.k
                        یعنی یه پیکسل هم روشن نمیشه!!!؟؟؟
                        نه نمیشه.ضمنا هارد لبتاپم هم سوخته :cry2: :cry:تمام پروژه ها وبرنامه هام رو از دست دادم :cry2:.هرکاری کردم ال سی دی راه نی افتاد.البته تو پروتوس.
                        شما یه برنامه نوشته شده همراه با پروتوسش نداری؟
                        اگريك فلج مادر زاد در مسابقه دو ماراتون نفراول نشود مقصر فقط وفقط خودش است...

                        دیدگاه

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