اطلاعیه

Collapse
No announcement yet.

[برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

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

    #76
    پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

    نوشته اصلی توسط ameen.kh
    ممنون از اینکه جواب میدی :rolleyes:
    تغذیم با آداپتور هست.با یه 7805 میکرو و با یه sb33، ال سی دی رو ران کردم ولی از پایه های میکرو مستقیم به lcd وصل کردم
    کریستالم هم 16 مگ هست

    یه سوال اساسی
    ال سی دی من تمام مشخصاتی که مربوط به فلت هست رو داره (مثلا پایه 5 و 34 پهن تر و پایه 21 NC و ...)
    ولی پشتش نوشته LT8138-02
    این میتونه دلیل درست جواب ندادن دستورها باشه؟؟ ممکنه chip setش با اونا که شما دارین یکی نباشه؟؟
    آخه من نمیتونم دوتا مستطیل تو پر بالا سر هم بکشم!!! کنار هم میکشه! ولی بالا سر هم نمیکشه!!!
    هر دفه که رنگ زمینه رو بخوام عوض کنم از بالا با سرعت نسبتا آرومی شروع به رنگ کردن میکنه!
    با اینکه کریستال 16 استفاده میکنم و مد 16 بیتی!
    بعد اگه منو ایجاد کنم، وقتی صفحه عوض میکنم ، بعضی از محتویات صفحه قبل هم نمایش داده میشه!
    نمیدونم این مشکلا از هدر فایل هست یا نه!! کسی به این موارد برخورد کرده؟؟
    من خیلی کارم عجله ایه! پروژه دانشگاهی و اینا نیست. بحث کاره باید زود آمادش کنم
    ممنون میشم اگه بیشتر وقت بذارید.مرسی
    شاید مشکل همینه!یا مشکل از مدل چیپ ال سی دیه یا خود ال سی دی! (چون تا حالا برا ما از اینا دردسرا پیش نیومده! پس فایل هدر مشکلی نداره!)
    برو اونی که ماداریم رو از فروشگاه بخر هم مطمئن تره(اصله) هم ارزون تر!
    لینک:http://eshop.eca.ir/lcd/406-lcd-%D8%...-lcd-n96-.html
    دوست داشتی تاچش هم بخر: http://eshop.eca.ir/lcd/407-%D8%AA%D8%A7%DA%86-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%86-28-%D8%A7%DB%8C%D9%86%DA%86-68x47mm.html
    1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
    من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
    !Electronic On! Programming On
    هوشمندانه سوال بپرسیم!
    http://ir02x6.persiangig.com/logo/eca/tanks_01.png

    دیدگاه


      #77
      پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

      نوشته اصلی توسط Mahan.Rafiee
      شاید مشکل همینه!یا مشکل از مدل چیپ ال سی دیه یا خود ال سی دی! (چون تا حالا برا ما از اینا دردسرا پیش نیومده! پس فایل هدر مشکلی نداره!)
      برو اونی که ماداریم رو از فروشگاه بخر هم مطمئن تره(اصله) هم ارزون تر!
      لینک:http://eshop.eca.ir/lcd/406-lcd-%D8%...-lcd-n96-.html
      دوست داشتی تاچش هم بخر: http://eshop.eca.ir/lcd/407-%D8%AA%D8%A7%DA%86-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%86-28-%D8%A7%DB%8C%D9%86%DA%86-68x47mm.html
      آقا نشد!!!! از ال سی دی های خود سایت هم گرفتم همونجوره!

      دیدگاه


        #78
        پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

        نوشته اصلی توسط ameen.kh
        آقا نشد!!!! از ال سی دی های خود سایت هم گرفتم همونجوره!
        بهتره به آقای ایمانی فر پ.خ بدی تا بیاد اینجا کمکت کنه!
        1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
        من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
        !Electronic On! Programming On
        هوشمندانه سوال بپرسیم!
        http://ir02x6.persiangig.com/logo/eca/tanks_01.png

        دیدگاه


          #79
          پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

          نوشته اصلی توسط Mahan.Rafiee
          بهتره به آقای ایمانی فر پ.خ بدی تا بیاد اینجا کمکت کنه!
          آقا کسی اگه دم دست داره میتونه چک کنه ببینه 6تا مربع میشه توش کشید یا نه؟؟ دوتا ستون 3 ردیفه
          اگه کسی تونسته درست جواب بگیره بگه. من کارم بدفرم گیر کرده :cry: :cry2: :angry:

          مرسی از همه

          دیدگاه


            #80
            پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

            نوشته اصلی توسط ameen.kh

            آقا سوال اصلی من ریفرش شدن lcd هستش
            من وسط صفحه یه عدد رو با روتاری کم و زیاد میکنم
            این عدده وقتی یکی اضافه میشه، رو همون قبلی می افته!! چطور میشه کاری کرد که این اتفاق نیفته؟؟؟
            یه قسمتی از برنامه هم تابع lcd_clear_screen رو میزنم و بعدش background رو آبی میکنم ولی یه سری از اجزای قبلی هم میان تو صفحه!!!
            من یه مقدار با هدر آقای ایمانی فر به مشکل برخوردم و کارم هم عجله ای هست ممنون میشم کمکم کنید :cry:
            سلام
            نیاز نیست کل صفحه رو رفرش کنی
            فقط همون محدوده ای که عددت هست با ی مربع پاک کن
            تازه اینم لازم نیست
            شما بک گراند رو در نوشتن فعال کن و خودش میاد برای متنت بک گراند میزاره. عین Paint که دو حالت نوشتن داره. یکی با بک گراند خود تصویر و یکی دیگه هم خودش با ی رنگی پر میکنه. اینجا هم میتونی همین کارو کنی
            در ضمن همه استفاده کردن و سالم بوده مخصوصا جواد کلی با هدر کار کرده
            زندگی یعنی امید و حرکت
            کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
            سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
            برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
            به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

            دیدگاه


              #81
              پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

              نوشته اصلی توسط ameen.kh
              ممنون از اینکه جواب میدی :rolleyes:
              تغذیم با آداپتور هست.با یه 7805 میکرو و با یه sb33، ال سی دی رو ران کردم ولی از پایه های میکرو مستقیم به lcd وصل کردم
              کریستالم هم 16 مگ هست
              آهان!
              شما نباید تو این پروژه به میکرو 5 ولت بدی چون تو دیتاشیت ال سیدی نوشته که به هر کدوم از پایه ها باید نهایتا3.3 ولت داده بشه حالا میدونستی که این یارو میکرو همون ولتاژی که به vccمیدی رو به خروجی میده!!؟؟؟؟!!
              اصلا رگولاتور 7805 رو حذف کن و تغذیه میکرو رو 3.3 ولت کن!
              اگه بازم مشکلت حل نشد از یه باتری کتابی بجای ادپتور استفاده کن!
              در ضمن رو بِرِدبرد بستی؟
              1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
              من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
              !Electronic On! Programming On
              هوشمندانه سوال بپرسیم!
              http://ir02x6.persiangig.com/logo/eca/tanks_01.png

              دیدگاه


                #82
                پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                نوشته اصلی توسط Mahan.Rafiee
                آهان!
                شما نباید تو این پروژه به میکرو 5 ولت بدی چون تو دیتاشیت ال سیدی نوشته که به هر کدوم از پایه ها باید نهایتا3.3 ولت داده بشه حالا میدونستی که این یارو میکرو همون ولتاژی که به vccمیدی رو به خروجی میده!!؟؟؟؟!!
                اصلا رگولاتور 7805 رو حذف کن و تغذیه میکرو رو 3.3 ولت کن!
                اگه بازم مشکلت حل نشد از یه باتری کتابی بجای ادپتور استفاده کن!
                در ضمن رو بِرِدبرد بستی؟
                مشکلی نداره. من با 5 ولت هم جواب گرفتم ولی بهتره که 3.3 ولت بدی
                زندگی یعنی امید و حرکت
                کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                دیدگاه


                  #83
                  پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                  نوشته اصلی توسط علی ایمانی فر
                  سلام
                  نیاز نیست کل صفحه رو رفرش کنی
                  فقط همون محدوده ای که عددت هست با ی مربع پاک کن
                  تازه اینم لازم نیست
                  شما بک گراند رو در نوشتن فعال کن و خودش میاد برای متنت بک گراند میزاره. عین Paint که دو حالت نوشتن داره. یکی با بک گراند خود تصویر و یکی دیگه هم خودش با ی رنگی پر میکنه. اینجا هم میتونی همین کارو کنی
                  در ضمن همه استفاده کردن و سالم بوده مخصوصا جواد کلی با هدر کار کرده
                  مرسی بابت جواب
                  من menu درست کردم.وقتی صفحه عوض میشه حتی بعد از lcd_clear_screen یه مستطیل به ابعاد صفحه میکشم ولی بازم یه سری از محتویات صفحه قبل رو نشون میده
                  فکر کردم شاید lcd که دارم ili9320 باشه، حتی 9325 هم خریدم ولی هیچ فرقی نکرد
                  بک گراند هم فعال کنم وقتی عدد از دو رقمی به 1 رقمی تبدیل شه، اون صفر مربوط به 10 جلوی عدد میمونه!!
                  اینو هم بگید که چرا نمیشه دوتا مربع توپر بالا سر هم کشید؟! هم تو حالت landscape و هم تو حالت portrait
                  مرسی

                  نوشته اصلی توسط Mahan.Rafiee
                  آهان!
                  شما نباید تو این پروژه به میکرو 5 ولت بدی چون تو دیتاشیت ال سیدی نوشته که به هر کدوم از پایه ها باید نهایتا3.3 ولت داده بشه حالا میدونستی که این یارو میکرو همون ولتاژی که به vccمیدی رو به خروجی میده!!؟؟؟؟!!
                  اصلا رگولاتور 7805 رو حذف کن و تغذیه میکرو رو 3.3 ولت کن!
                  اگه بازم مشکلت حل نشد از یه باتری کتابی بجای ادپتور استفاده کن!
                  در ضمن رو بِرِدبرد بستی؟
                  این کارو هم انجام دادم بازم حل نشد :angry: :angry: :angry:

                  دیدگاه


                    #84
                    پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                    نوشته اصلی توسط ameen.kh
                    مرسی بابت جواب
                    من menu درست کردم.وقتی صفحه عوض میشه حتی بعد از lcd_clear_screen یه مستطیل به ابعاد صفحه میکشم ولی بازم یه سری از محتویات صفحه قبل رو نشون میده
                    فکر کردم شاید lcd که دارم ili9320 باشه، حتی 9325 هم خریدم ولی هیچ فرقی نکرد
                    بک گراند هم فعال کنم وقتی عدد از دو رقمی به 1 رقمی تبدیل شه، اون صفر مربوط به 10 جلوی عدد میمونه!!
                    اینو هم بگید که چرا نمیشه دوتا مربع توپر بالا سر هم کشید؟! هم تو حالت landscape و هم تو حالت portrait
                    مرسی
                    والا دوتا که سهل من چندین تا کشیدم و هیچ مشکلی هم نداشته مکیدونم چرا روی مدار شما اینجوریه
                    میخاید از هدر قبلی که برای AVR بود استفاده کنید ببینید باز هم همین مشکلات رو دارید؟
                    لینک برنامه نمونش توی فروشگاه هست
                    زندگی یعنی امید و حرکت
                    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                    دیدگاه


                      #85
                      پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                      مطمئنی پایه هارو درست وصل کردی؟
                      فیوزبیت jtag خاموشه؟
                      اگه جواب سوالای بالا مثبت هست،بایه میکرو دیگه امتحان کن!
                      اگه بازم نشد با این یکی کدویژن تو یه ویندوز یا کامپیوتر دیگه تست کن!
                      http://www.eca.ir/forum2/index.php?t...8390#msg588390
                      تو پست شماره 42 میتونی دان کنی!
                      در ضمن نفهمیدم شما رو بردبرد بستی یا رو pcb!?!?!?!?؟!؟!؟!
                      1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
                      من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
                      !Electronic On! Programming On
                      هوشمندانه سوال بپرسیم!
                      http://ir02x6.persiangig.com/logo/eca/tanks_01.png

                      دیدگاه


                        #86
                        پاسخ : پاسخ : پاسخ : [برنامه نمونه] هدر جدید ماژ&#16

                        نوشته اصلی توسط علی ایمانی فر
                        والا دوتا که سهل من چندین تا کشیدم و هیچ مشکلی هم نداشته مکیدونم چرا روی مدار شما اینجوریه
                        میخاید از هدر قبلی که برای AVR بود استفاده کنید ببینید باز هم همین مشکلات رو دارید؟
                        لینک برنامه نمونش توی فروشگاه هست
                        با هدر قبلی هم همونطوره :cry:
                        نوشته اصلی توسط Mahan.Rafiee
                        مطمئنی پایه هارو درست وصل کردی؟
                        فیوزبیت jtag خاموشه؟
                        اگه جواب سوالای بالا مثبت هست،بایه میکرو دیگه امتحان کن!
                        اگه بازم نشد با این یکی کدویژن تو یه ویندوز یا کامپیوتر دیگه تست کن!
                        http://www.eca.ir/forum2/index.php?t...8390#msg588390
                        تو پست شماره 42 میتونی دان کنی!
                        در ضمن نفهمیدم شما رو بردبرد بستی یا رو pcb!?!?!?!?؟!؟!؟!
                        اتصال پایه ها درسته، jtag هم غیرفعاله در غیراینصورت اصن نشون نمیداد چیزی!
                        رو برد بستم


                        دوستان بی زحمت یه نگاه به این لینک بندازین تا متوجه مشکل من بشید.ببینید وقتی صفحه عوض میشه هنوز بعضی از محتویات صفحه قبل میمونه رو صفحه! با اینکه یه بار clear انجام میشه و یه مستطیل هم به اندازه کل صفحه کشیده میشه!!!
                        View My Video
                        اصن سرعت clear شدنش طبیعیه؟؟ واسه شما هم با همین سرعت صفحه پاک میشه؟؟ یا اطلاعات بعدش با این تاخیر میاد رو صفحه؟؟
                        ممنون از اینکه وقت میذارید و راهنمایی میکنین :rolleyes:

                        دیدگاه


                          #87
                          پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                          با سلام بهتره نرم افزارتونا بذاریدو توضیح مشکل را روی نرم افزار بدید شاید بیشتر بشه بهتون کمک کرد

                          دیدگاه


                            #88
                            پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                            نوشته اصلی توسط زوار
                            با سلام بهتره نرم افزارتونا بذاریدو توضیح مشکل را روی نرم افزار بدید شاید بیشتر بشه بهتون کمک کرد
                            سلام
                            چشم اینم برنامم
                            کد:
                            #include<mega128.h>
                            #include<delay.h>
                            #include<stdlib.h>
                            
                            #define LCD_CONTROLPORT_DDR  DDRD
                            #define LCD_CONTROLPORT_PORT PORTD
                            #define LCD_CONTROLPORT_PIN  PIND
                            
                            #define LCD_RST_DDR  DDRD
                            #define LCD_RST_PORT PORTD
                            #define LCD_RST_PIN  7
                            
                            #define LCD_RS_DDR  DDRD
                            #define LCD_RS_PORT PORTD
                            #define LCD_RS_PIN  4
                            
                            #define LCD_CS_DDR  DDRD
                            #define LCD_CS_PORT PORTD
                            #define LCD_CS_PIN  3
                            
                            #define LCD_RD_DDR  DDRD
                            #define LCD_RD_PORT PORTD
                            #define LCD_RD_PIN  6
                            
                            #define LCD_WR_DDR  DDRD
                            #define LCD_WR_PORT PORTD
                            #define LCD_WR_PIN  5
                            
                            #define LCD_DATAPORT_MSB_DDR  DDRA
                            #define LCD_DATAPORT_MSB_PORT PORTA
                            #define LCD_DATAPORT_MSB_PIN  PINA
                            
                            #define LCD_DATAPORT_LSB_DDR  DDRB
                            #define LCD_DATAPORT_LSB_PORT PORTB
                            #define LCD_DATAPORT_LSB_PIN  PINB
                            
                            #define LANDSCAPE
                             
                            #include "tftlcd_functions.h"
                            
                            #define z_menu1 SILVER
                            #define m_menu1 BLACK
                            #define z_menu2 SILVER
                            #define m_menu2 BLACK
                            #define z_menu3 YELLOW
                            #define m_menu3 BLACK
                            
                            volatile unsigned int rotary,menu=0;
                            volatile char pe_save,even_odd,dafe,back,data[13],error;
                            
                            void send(){
                              char i;
                              for(i=0;i<13;++i){
                                if(dafe==1){
                                  putchar(data[i]);
                                  delay_ms(2);
                                  dafe=2;
                                  }
                                }
                              }
                            
                            void main(){
                              unsigned char str[16],str2[16];
                              EICRA=0x00;
                              EICRB=0x01;
                              EIMSK=0x11;
                              EIFR=0x11;
                              lcd_init();
                              lcd_clear_screen();
                              lcd_background_color(YELLOW);
                              lcd_goto_xy(40,90);
                              lcd_font_effect(1);
                              lcd_set_font_color(RED);
                              lcd_putsf_mix("سلام!!!",2);
                              lcd_set_font_color(BLACK);
                              delay_ms(2000);
                              lcd_background_color(z_menu1);
                              #asm("sei")
                              while(1){
                                itoa(rotary,str2);
                                itoa(menu,str);
                                lcd_gotoxy(0,0);
                                lcd_puts(str,RED,0,GREEN);
                                lcd_gotoxy(0,1);
                                lcd_puts(str2,BLUE,0,GREEN);
                                switch(menu){
                                  case 0:
                                    lcd_gotoxy(7,2);    
                                    lcd_set_font_color(m_menu1);
                                    lcd_font_effect(4);
                                    lcd_putsf("Channel",m_menu1,0,z_menu1);
                                    lcd_goto_xy(200,60);
                                    lcd_putsf_mix("A",10);
                                    lcd_gotoxy(26,2);    
                                    lcd_font_effect(4);
                                    lcd_putsf("Channel",m_menu1,0,z_menu1);
                                    lcd_goto_xy(55,60);
                                    lcd_putsf_mix("B",10);
                                    if(even_odd==0){
                                      //--- B          
                                      //lcd_draw_rectangle(175,30,290,210,1,YELLOW);
                                      lcd_draw_rectangle(174,29,291,211,0,z_menu1);
                                      lcd_draw_rectangle(173,28,292,212,0,z_menu1);
                                      //--- A selected
                                      //lcd_draw_rectangle(30,30,145,210,1,YELLOW);
                                      lcd_draw_rectangle(29,29,146,211,0,m_menu1);          
                                      lcd_draw_rectangle(28,28,147,212,0,m_menu1);
                                      back=0;
                                      data[0]=0x00;
                                      }          
                                    if(even_odd==1){
                                      //---- A
                                      //lcd_draw_rectangle(30,30,145,210,1,YELLOW);
                                      lcd_draw_rectangle(29,29,146,211,0,z_menu1);          
                                      lcd_draw_rectangle(28,28,147,212,0,z_menu1);          
                                      //--- B selected
                                      //lcd_draw_rectangle(175,30,290,210,1,YELLOW);
                                      lcd_draw_rectangle(174,29,291,211,0,m_menu1);
                                      lcd_draw_rectangle(173,28,292,212,0,m_menu1);
                                      back=0;
                                      data[0]=0x04;
                                      }
                                    break;
                                  case 1:
                                    if(dafe==1){
                                      lcd_draw_rectangle(0,0,320,240,1,z_menu2);
                                      lcd_font_effect(1);
                                      lcd_goto_xy(195,20);
                                      lcd_putsf_mix("TENS",2);
                                      lcd_goto_xy(190,78);
                                      lcd_putsf_mix("4 KHz",2);
                                      lcd_goto_xy(205,136);
                                      lcd_putsf_mix("IDC",2);
                                      lcd_goto_xy(205,195);
                                      lcd_putsf_mix("FES",2);
                                      lcd_goto_xy(32,20);
                                      lcd_putsf_mix("Diadyn.",2);
                                      lcd_goto_xy(44,78);
                                      lcd_putsf_mix("2-5 ms",2);
                                      lcd_goto_xy(36,136);
                                      lcd_putsf_mix("Faradic",2);
                                      lcd_goto_xy(60,195);
                                      lcd_set_font_color(WHITE);
                                      lcd_putsf_mix("BACK",2);
                                      lcd_set_font_color(BLACK);
                                      back=0;
                                      dafe=2;
                                      }
                                    switch(rotary){
                                      case 0:
                                        //---- 4khz
                                        //lcd_draw_rectangle(30,66,156,116,1,YELLOW);
                                        lcd_draw_rectangle(29,65,157,117,0,z_menu2);          
                                        lcd_draw_rectangle(28,64,158,118,0,z_menu2);
                                        //---- IDC
                                        //lcd_draw_rectangle(30,124,156,174,1,YELLOW);
                                        lcd_draw_rectangle(29,123,157,175,0,z_menu2);          
                                        lcd_draw_rectangle(28,122,157,176,0,z_menu2);
                                        //---- FES
                                        //lcd_draw_rectangle(30,182,156,232,1,YELLOW);
                                        lcd_draw_rectangle(29,181,157,233,0,z_menu2);          
                                        lcd_draw_rectangle(28,180,158,234,0,z_menu2);
                                        //---- 2th column
                                        //---- Diadynamic selected
                                        //lcd_draw_rectangle(164,8,290,58,1,YELLOW);
                                        lcd_draw_rectangle(163,7,291,59,0,z_menu2);          
                                        lcd_draw_rectangle(162,6,292,60,0,z_menu2);
                                        //---- 2-5
                                        //lcd_draw_rectangle(164,66,290,116,1,YELLOW);
                                        lcd_draw_rectangle(163,65,291,117,0,z_menu2);          
                                        lcd_draw_rectangle(162,64,292,118,0,z_menu2);
                                        //---- Faradic
                                        //lcd_draw_rectangle(164,124,290,174,1,YELLOW);
                                        lcd_draw_rectangle(163,123,291,175,0,z_menu2);          
                                        lcd_draw_rectangle(162,122,292,176,0,z_menu2);
                                        //---- Back
                                        //lcd_draw_rectangle(164,182,290,232,1,YELLOW);
                                        lcd_draw_rectangle(163,181,291,233,0,z_menu2);          
                                        lcd_draw_rectangle(162,180,292,234,0,z_menu2);
                                        //---- TENS selected
                                        //lcd_draw_rectangle(30,8,156,58,1,YELLOW);
                                        lcd_draw_rectangle(29,7,157,59,0,m_menu2);          
                                        lcd_draw_rectangle(28,6,158,60,0,m_menu2);
                                        back=0;
                                        data[1]=0x01;
                                        break;
                                      case 1:
                                        //---- TENS selected
                                        //lcd_draw_rectangle(30,8,156,58,1,YELLOW);
                                        lcd_draw_rectangle(29,7,157,59,0,z_menu2);          
                                        lcd_draw_rectangle(28,6,158,60,0,z_menu2);
                                        //---- 4khz
                                        //lcd_draw_rectangle(30,66,156,116,1,YELLOW);
                                        lcd_draw_rectangle(29,65,157,117,0,z_menu2);          
                                        lcd_draw_rectangle(28,64,158,118,0,z_menu2);
                                        //---- IDC
                                        //lcd_draw_rectangle(30,124,156,174,1,YELLOW);
                                        lcd_draw_rectangle(29,123,157,175,0,z_menu2);          
                                        lcd_draw_rectangle(28,122,157,176,0,z_menu2);
                                        //---- FES
                                        //lcd_draw_rectangle(30,182,156,232,1,YELLOW);
                                        lcd_draw_rectangle(29,181,157,233,0,z_menu2);          
                                        lcd_draw_rectangle(28,180,158,234,0,z_menu2);
                                        //---- 2th column
                                        //---- 2-5
                                        //lcd_draw_rectangle(164,66,290,116,1,YELLOW);
                                        lcd_draw_rectangle(163,65,291,117,0,z_menu2);          
                                        lcd_draw_rectangle(162,64,292,118,0,z_menu2);
                                        //---- Faradic
                                        //lcd_draw_rectangle(164,124,290,174,1,YELLOW);
                                        lcd_draw_rectangle(163,123,291,175,0,z_menu2);          
                                        lcd_draw_rectangle(162,122,292,176,0,z_menu2);
                                        //---- Back
                                        //lcd_draw_rectangle(164,182,290,232,1,YELLOW);
                                        lcd_draw_rectangle(163,181,291,233,0,z_menu2);          
                                        lcd_draw_rectangle(162,180,292,234,0,z_menu2);
                                        //---- Diadynamic selected
                                        //lcd_draw_rectangle(164,8,290,58,1,YELLOW);
                                        lcd_draw_rectangle(163,7,291,59,0,m_menu2);          
                                        lcd_draw_rectangle(162,6,292,60,0,m_menu2);
                                        back=0;
                                        data[1]=0x02;
                                        break;
                                      case 2:
                                        //---- TENS selected
                                        //lcd_draw_rectangle(30,8,156,58,1,YELLOW);
                                        lcd_draw_rectangle(29,7,157,59,0,z_menu2);          
                                        lcd_draw_rectangle(28,6,158,60,0,z_menu2);
                                        //---- 4khz
                                        //---- IDC
                                        //lcd_draw_rectangle(30,124,156,174,1,YELLOW);
                                        lcd_draw_rectangle(29,123,157,175,0,z_menu2);          
                                        lcd_draw_rectangle(28,122,157,176,0,z_menu2);
                                        //---- FES
                                        //lcd_draw_rectangle(30,182,156,232,1,YELLOW);
                                        lcd_draw_rectangle(29,181,157,233,0,z_menu2);          
                                        lcd_draw_rectangle(28,180,158,234,0,z_menu2);
                                        //---- 2th column
                                        //---- Diadynamic selected
                                        //lcd_draw_rectangle(164,8,290,58,1,YELLOW);
                                        lcd_draw_rectangle(163,7,291,59,0,z_menu2);          
                                        lcd_draw_rectangle(162,6,292,60,0,z_menu2);
                                        //---- 2-5
                                        //lcd_draw_rectangle(164,66,290,116,1,YELLOW);
                                        lcd_draw_rectangle(163,65,291,117,0,z_menu2);          
                                        lcd_draw_rectangle(162,64,292,118,0,z_menu2);
                                        //---- Faradic
                                        //lcd_draw_rectangle(164,124,290,174,1,YELLOW);
                                        lcd_draw_rectangle(163,123,291,175,0,z_menu2);          
                                        lcd_draw_rectangle(162,122,292,176,0,z_menu2);
                                        //---- Back
                                        //lcd_draw_rectangle(164,182,290,232,1,YELLOW);
                                        lcd_draw_rectangle(163,181,291,233,0,z_menu2);          
                                        lcd_draw_rectangle(162,180,292,234,0,z_menu2);
                                        //lcd_draw_rectangle(30,66,156,116,1,YELLOW);
                                        lcd_draw_rectangle(29,65,157,117,0,m_menu2);          
                                        lcd_draw_rectangle(28,64,158,118,0,m_menu2);
                                        back=0;
                                        data[1]=0x03;
                                        break;
                                      case 3:
                                        //---- TENS selected
                                        //lcd_draw_rectangle(30,8,156,58,1,YELLOW);
                                        lcd_draw_rectangle(29,7,157,59,0,z_menu2);          
                                        lcd_draw_rectangle(28,6,158,60,0,z_menu2);
                                        //---- 4khz
                                        //lcd_draw_rectangle(30,66,156,116,1,YELLOW);
                                        lcd_draw_rectangle(29,65,157,117,0,z_menu2);          
                                        lcd_draw_rectangle(28,64,158,118,0,z_menu2);
                                        //---- IDC
                                        //lcd_draw_rectangle(30,124,156,174,1,YELLOW);
                                        lcd_draw_rectangle(29,123,157,175,0,z_menu2);          
                                        lcd_draw_rectangle(28,122,157,176,0,z_menu2);
                                        //---- FES
                                        //lcd_draw_rectangle(30,182,156,232,1,YELLOW);
                                        lcd_draw_rectangle(29,181,157,233,0,z_menu2);          
                                        lcd_draw_rectangle(28,180,158,234,0,z_menu2);
                                        //---- 2th column
                                        //---- Diadynamic selected
                                        //lcd_draw_rectangle(164,8,290,58,1,YELLOW);
                                        lcd_draw_rectangle(163,7,291,59,0,z_menu2);          
                                        lcd_draw_rectangle(162,6,292,60,0,z_menu2);
                                        //---- Faradic
                                        //lcd_draw_rectangle(164,124,290,174,1,YELLOW);
                                        lcd_draw_rectangle(163,123,291,175,0,z_menu2);          
                                        lcd_draw_rectangle(162,122,292,176,0,z_menu2);
                                        //---- Back
                                        //lcd_draw_rectangle(164,182,290,232,1,YELLOW);
                                        lcd_draw_rectangle(163,181,291,233,0,z_menu2);          
                                        lcd_draw_rectangle(162,180,292,234,0,z_menu2);
                                        //---- 2-5
                                        //lcd_draw_rectangle(164,66,290,116,1,YELLOW);
                                        lcd_draw_rectangle(163,65,291,117,0,m_menu2);          
                                        lcd_draw_rectangle(162,64,292,118,0,m_menu2);
                                        back=0;
                                        data[1]=0x03;
                                        break;
                                      }                                                 
                                    break;
                                  case 2:
                                    if(dafe==1){
                                      lcd_draw_rectangle(0,0,320,240,1,YELLOW);
                                      lcd_draw_rectangle(50,50,270,100,0,m_menu3);
                                      lcd_draw_rectangle(49,49,271,101,0,m_menu3);
                                      lcd_goto_xy(120,55);
                                      lcd_putsf_mix("SEND",2);
                                      dafe=2;
                                      }
                                    break;
                                  }        
                                }
                              }
                            
                            interrupt [EXT_INT4] void ext_int4_isr(void){
                                pe_save=PINE;
                                pe_save&=0x90;
                                if(pe_save==0x80 || pe_save==0x10) {
                                  ++rotary;
                                  switch(menu){
                                    case 0:
                                      even_odd=rotary%2;
                                      break;
                                    case 1:
                                      if(rotary>=9) rotary=0;
                                      break;    
                                    }
                                  return;
                                  }
                                if(pe_save==0x90 || pe_save==0x00){
                                  --rotary;
                                  switch(menu){
                                    case 0:
                                      even_odd=rotary%2;
                                      break;
                                    case 1:
                                      if(rotary<0 || rotary>9) rotary=8;
                                      break;    
                                    }
                                  return;
                                  }
                                
                                }
                            
                            interrupt [EXT_INT0] void ext_int0_isr(void){
                              delay_us(50);
                              if(back==0) {
                                ++menu;
                                rotary=0;
                                }
                              else if(back!=0){
                                --menu;
                                rotary=0;
                                }
                              switch(menu){
                                case 0:
                                  lcd_clear_screen();
                                  lcd_fill(z_menu1);
                                  dafe=1;
                                  break;
                                case 1:
                                  lcd_clear_screen();
                                  lcd_fill(z_menu2);
                                  dafe=1;
                                  break;
                                case 2:
                                  lcd_clear_screen();
                                  lcd_fill(z_menu3);
                                  dafe=1;
                                  break;
                                case 3:
                                  lcd_clear_screen();
                                  lcd_fill(GREEN);
                                  dafe=1;
                                  send();
                                  break;
                                }
                              return;          
                              }
                            بازم مرسی

                            دیدگاه


                              #89
                              پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                              با سلام من برنامه شما را دیدم اول اگر میخواهید مطمئن بشید که مشکل از هدر یا برنامه شما بهتره یه برنامه بنویسید که مثلا فقط یک عدد را زیاد کنه وروی lcd نشون بده ببینید مشکل همچنان هست یا نه دوم بهتره از توابع زمانبر در روتین وقفه استفاده نکنید مثلا
                              کد:
                               lcd_clear_screen();
                                    lcd_fill(z_menu1);
                              در روتین وقفه فقط یک فلگ را یک کنید و در زیر برنامه کارهاتونا انجام بدید در مورد کند بودن اگر کل صفحه را رفرش کنید کند میشه من قبلا از این lcd و هدر قبلی آقای ایمانی فر استفاده کردم مشکلی نداشت اما از این هدر فعلا استفاده نکردم البته برای یه کاری تا هفته دیگه باید lcd را بخرم و کار را باهاش شروع کنم و ازهمین هدر هم استفاده میکنم اما فعلا اینها را تست کن ببین چی میشه

                              دیدگاه


                                #90
                                پاسخ : [برنامه نمونه] هدر جدید ماژول "TFT LCD 2.8

                                نوشته اصلی توسط زوار
                                با سلام من برنامه شما را دیدم اول اگر میخواهید مطمئن بشید که مشکل از هدر یا برنامه شما بهتره یه برنامه بنویسید که مثلا فقط یک عدد را زیاد کنه وروی lcd نشون بده ببینید مشکل همچنان هست یا نه دوم بهتره از توابع زمانبر در روتین وقفه استفاده نکنید مثلا
                                کد:
                                 lcd_clear_screen();
                                      lcd_fill(z_menu1);
                                در روتین وقفه فقط یک فلگ را یک کنید و در زیر برنامه کارهاتونا انجام بدید در مورد کند بودن اگر کل صفحه را رفرش کنید کند میشه من قبلا از این lcd و هدر قبلی آقای ایمانی فر استفاده کردم مشکلی نداشت اما از این هدر فعلا استفاده نکردم البته برای یه کاری تا هفته دیگه باید lcd را بخرم و کار را باهاش شروع کنم و ازهمین هدر هم استفاده میکنم اما فعلا اینها را تست کن ببین چی میشه
                                این کار رو انجام دادم ولی همونطور بود!
                                اصن قبل از اینکه وقفه ها رو اضافه کنم این مشکلو داشتم
                                اون فیلم هم ببینین که بفهمم مشکلم طبیعیه و واسه همه بوده یا فقط واسه من اینجوری کار میکنه!!! مرسی

                                یه چیز دیگه! امکانش هست از codevision باشه؟؟ کرک کدویژنم فکر نکنم درست حسابی باشه! موقع اجرا سریال رو مینویسه FFF-FFFF-FFFF-FFFF
                                میتونه به این مربوط باشه؟؟

                                دیدگاه

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