اطلاعیه

Collapse
No announcement yet.

رسم خطوط و اشکال در ال سی دی گرافیکی

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

    #16
    پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

    اگه دقت کنین پست خواصی پاک نشده،پست های من و خود امیره که داشتیم راجع به در و دیوار حرف می زدیم!!آ‌همین 2 تا پست که هیچ ربطی به ترسیم نداره،اگه پاک شه،ایرادش چیه؟ ...
    اگر وقت برای جواب دادن ندارین،خوب کسی که دستتونو نگرفته به زور بگه جواب بدین :smile: جاهایی که دیدن به نفعتون نیست،جواب ندین :smile: کسی ایراد نمی گیره!! اینجا اکثرا برای دریافت جواب میان،نه جواب دادن،شما مگه خونتون از بقیه رنگین تره که کسی بگه حتما باید جواب بدین :smile: ؟هر جا سوالی داشتین اگه بدونم خوشحال میشم جواب بدم

    دیدگاه


      #17
      پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

      من فقط یک پست از شما پاک کردم که اونم فقط 1 لینک داشت که به پست قبلیتون اضافه کردم....
      بقیه پست ها همونطور که دوستمون گفتن اکثرا مال خودم بودن!

      پست پاک شده در قسمت پست های اضافی هست میتونین ببینید !
      احتمال میدم سو تفاهمی پیش اومده که خوب با یک مرور حل میشه.
      موفق باشین.
      I ❤️ ECA

      دیدگاه


        #18
        پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

        راستی،توو امضام من گفتم 2-3 روز،اما نگفتم از کی شروع میشه :mrgreen:
        راجع به rotate هم اول بهتره شکلی رو تعریف کنیم،بعد بچرخونیمش،این تعریفها تموم شه،چشم،سعیمو میکنم ...

        برای نقطه هم اگه فرصت کنم کد های Cآ‌رو به codevision تبدیل می کنم می زارم،اونم چشم،اما به اون قضیه 2-3 روزه امضا توجه کنید!!

        دیدگاه


          #19
          پاسخ : پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

          [quote author=Iran-PC link=topic=8864.msg37692#msg37692 date=1184838613]
          mpc جان بهت بر نخوره ها. :mrgreen: اما نوشتن پیکسل رو گذاشتیم آخرین مرحله :mrgreen:.
          اما اگه کارت گیره تا خودم شروع کنم بنویسمش.
          چون به هر حال لازمه.

          باسلام مجدد
          Iran-PC عزیز از اول تا به حالا همه حرف زدن و یا از همدیگر تشکر کرده اند ولی هیچ کس یک خط برنامه کاربردی در جواب سئوال من نداده :angry:
          فرمول رسم خط و دایره و .... در هر کتابی هست :redface:
          ولی اگر کسی فقط توضیح میداد که چطوری یک نقطه را روشن یا خاموش کنیم دیگه همه چیز حل میشد :mrgreen:
          به کسی بر نخورد همه استاد هستید :agree: ولی تور رو به خدا اگر کسی بلد است شروع کند. oo: :angry:
          کمتر سخن گویم
          بیشتر عمل کنیم

          دیدگاه


            #20
            پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

            mpc جان.
            من یه برنامه نوشتن پیکسل برای این مورد خاص شما و یک میکرو حد اقل با یک کیلو بایت رم مینویسم.
            اما احتمالا برای برنامه استفاده نمیکنیم.
            الهم عجل لولیک الفرج

            دیدگاه


              #21
              پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

              نوشته اصلی توسط mpc
              با سلام به همه دوستان
              قبل از هر چیز تشکر از همه که جواب میدهند ولی به کسی برنخورد :redface:
              بابا یکی جواب دادن را شروع کته همش حرف وحرف .... ببخشـــــــــــــــــــــــــــــــیدها :angry:
              از رسم یک نقطه شروع کنید و ...منتظر ایجاد یک نقطه با مختصات Xوy در در صفحه هستم تور به خدا یکی جواب بده oo:
              مدل ال سی دی رایج در باز ts12864a-2/b است که k0108 میباشد . برنامه هم به زبان سی با کد ویژن
              مرســــــــــــــــــــــــــی :bye
              سلام دوست عزیز
              برای نوشتن یک پیکسل کافیه با استفاده از همون کتابخونه ای که داری این 3 خط رو بنویسی:
              address_left(0xbe,0x45);
              PORTC.0=1;
              write_left(0x04);

              خط اول آدرس در نیم صفحه سمت چپ هست،توی کتابخونه نگاه کنی میتونی بقیه آدرس ها رو هم پیدا کنی! آدرس Page ها که میشه مولفه اوا و 8 تا هست و مولفه دوم که آدرس ستونهاست و برای هر نیم صفحه 64 تاست
              خط دوم همون پایه RS هست
              خط سوم هم توی بیت دوم یدونه یک می نویسه! اگر بنویسی 0xFF تمام 8 پیکسل رو برات روشن میکنه!
              موفق باشی
              در دیر مغان آمد یارم قدحی در دست
              مست از می می خواران از نرگس مستش مست

              دیدگاه


                #22
                پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                سلام
                امروز یکم بیکار بودم،چندتا تابع نوشتم،توابع گداشتن پیکسل،کشیدن خط،نوشتن کاراکتر و رشته
                امیدوارم مفید باشه،در ضمن لطفا هرگونه اشکالی رو گزارش بدید،ممنون

                http://www.4shared.com/file/20314749/3fb62264/glcd-func.html


                در دیر مغان آمد یارم قدحی در دست
                مست از می می خواران از نرگس مستش مست

                دیدگاه


                  #23
                  پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                  من شرمنده ....
                  write_left برای مثال این دستور جزو توابع کدویژن که نیست! جزو کدوم توابع هست یک رفرنسی لطفا معرفی کنید تا ما هم بتونیم بریم دنبالش وگرنه من اینطوری با چند تا کد که کلا چیزی نفهمیدم انصافا.....اون توابعی روهم که محمدرضا نوشته از توابع pixel استفاده کرده که اونم باز نمیدونم قضیش چیه ! به نظرم یکی اصلا یک توضیح کلی بده و رفرنس این توابع رو بگه که اصلا این دستورا از کجا اومدن کمک میکنه من تو codevision که سرچ کردم اینارو نیاورد!
                  البته احساستون رو درک میکنم....خوب بلد نیستم دیگه :icon_razz:
                  متشکر
                  I ❤️ ECA

                  دیدگاه


                    #24
                    پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                    سلام امیر جان
                    این توابع مربوط به همون کتابخونه ای هست که من قبلا برای نمایش عکس گذاشتم توی سایت!
                    همه توابع جدید و قدیم اینجاست:
                    http://www.4shared.com/file/20314749/3fb62264/glcd-func.html

                    فایل های پیوست شده
                    در دیر مغان آمد یارم قدحی در دست
                    مست از می می خواران از نرگس مستش مست

                    دیدگاه


                      #25
                      پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                      مرسی محمد جان ... :nice:
                      I ❤️ ECA

                      دیدگاه


                        #26
                        پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                        با سلام
                        و با تشکر از دوستان (بخصوص آقای محمد یارمحمدی )
                        بنامه زیر راه نگاه بندازید من امتحان هم کردم جواب هم داد. :wow:
                        :NO:


                        #include <mega32.h>
                        #include <delay.h>
                        #include <math.h>

                        #define LCD PORTD
                        #define DI PORTC.0
                        #define RW PORTC.1
                        #define En PORTC.2
                        #define CS1 PORTC.3
                        #define CS2 PORTC.4

                        unsigned char lcd_buffer[8][128];

                        //===============================================
                        void xx(unsigned char a)
                        {
                        En=0;
                        DI=0;
                        LCD=0b10111000+a; // Set Page (X Address)
                        En=1;
                        delay_us(5);
                        En=0;
                        }
                        //===========================================

                        void yy(unsigned char a)
                        {
                        En=0;
                        DI=0;
                        LCD=0b01000000+a; // Set Y Address
                        En=1;
                        delay_us(5);
                        En=0;
                        }

                        //==========================================

                        void send_data(unsigned char a)
                        {
                        En=0;
                        DI=1;
                        LCD=a ;
                        En=1;
                        delay_us(5);
                        En=0;
                        }

                        //=======================================

                        void GLCD_clear (void)
                        {
                        int x=0, y=0;

                        CS1=1;
                        CS2=1;

                        for(x=0 ; x<=7 ; x++)
                        for(y=0 ; y<=63 ; y++)
                        {
                        xx(x);
                        yy(y);
                        send_data(0);
                        lcd_buffer[x][y]=0;
                        lcd_buffer[x][y+64]=0;
                        }

                        CS1=0;
                        CS2=0;
                        }

                        //============================================



                        void GLCD_init (void)
                        {
                        CS1=1;
                        CS2=1;

                        En=0;
                        DI=0;
                        LCD=0x3F;
                        En=1;
                        delay_us(10);
                        En=0;

                        CS1=0;
                        CS2=0;
                        }

                        //================================================== ======

                        void point (int x, int y)
                        {
                        int i=0, j=0, k=0;

                        if (( x > 127 ) || ( y > 63 )) return;
                        if (x>63) {CS1=0;CS2=1;x-=64;k=64;}
                        else {CS1=1;CS2=0;}

                        yy(x);
                        i=(unsigned char)(y/8);
                        xx(7-i);

                        j = y - (i*8);
                        lcd_buffer[7-i][x+k] = lcd_buffer[7-i][x+k] | (0b10000000 >> j);
                        send_data(lcd_buffer[7-i][x+k]);

                        CS1=0;
                        CS2=0;
                        }

                        //================================================== =======











                        void line (int x_start, int y_start, int x_end, int y_end)
                        {
                        int t, distance;
                        int x_err=0, y_err=0, delta_x, delta_y;
                        int inc_x, inc_y;
                        delta_x = x_end - x_start;
                        delta_y = y_end - y_start;
                        if(delta_x > 0) inc_x = 1;
                        else if(delta_x == 0) inc_x = 0;
                        else inc_x = -1;
                        if(delta_y > 0) inc_y = 1;
                        else if(delta_y == 0) inc_y = 0;
                        else inc_y = -1;

                        delta_x = abs(delta_x);
                        delta_y = abs(delta_y);

                        if (delta_x != 0) delta_x ++;
                        if (delta_y != 0) delta_y ++;

                        if (delta_x > delta_y) distance = delta_x;
                        else distance = delta_y;

                        for (t=0;t<=distance;t++)
                        {
                        point(x_start,y_start);
                        x_err += delta_x;
                        y_err += delta_y;
                        If (x_err > distance)
                        {
                        x_err -= distance;
                        x_start += inc_x;
                        }
                        if (y_err > distance)
                        {
                        y_err -= distance;
                        y_start += inc_y;
                        }
                        } // end of for (t=0...
                        } // end of line function

                        //================================================== =======
                        کمتر سخن گویم
                        بیشتر عمل کنیم

                        دیدگاه


                          #27
                          پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                          محمد جان لطفا بحث رو ادامه بدیم بحث های دیگه تو pm :nerd:
                          I ❤️ ECA

                          دیدگاه


                            #28
                            پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                            سلام به همه
                            فکر کنم همه رفتند به مرخصی و جواب نمدهند :mrgreen:
                            بابا جواب بدهید :angry: oo:
                            :bye
                            کمتر سخن گویم
                            بیشتر عمل کنیم

                            دیدگاه


                              #29
                              پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                              سلام
                              شرمنده به خاطر غیبتهای طولانی :redface:
                              خب الان دیگه چه چیزهایی مونده؟؟؟؟
                              در دیر مغان آمد یارم قدحی در دست
                              مست از می می خواران از نرگس مستش مست

                              دیدگاه


                                #30
                                پاسخ : رسم خطوط و اشکال در ال سی دی گرافیکی

                                سلام .
                                ببین آقای یار محمدی عزیز این برنامهها وتوابعی رو که نوشتی رو یکمی به زبان فارسی میتونی برام توضیح بدی. :eek:
                                این مجموعه برنامه ها خیلی برام مهمه طوری که یکی از قسمت های پرژه پایانی من ال سی دی گرافیکیه .
                                کلا من میخواهم روی ال سی دی یک عکس رو نمایش بدم ودر زیر همین عکس باید یکسری پارامتر ها( متغیر ها) رو توسط صفحه کلید 4*4
                                وارد کنم مثلا
                                در پایین عکس ثابتی که در قسمت بالای صفحه ال سی دی گذاشته ام میخواهم یک متغیر مثل ( A=مقدار ورودی از کیبورد)
                                رو بدم وهمزمان روی ال سی دی با وارد کردن هر عدد" اون عدد(رقم به رقم اون عدد) بلافاصله نمایش داده بشه .
                                من رو راهنمایی کنید( به صورت ساده ) که از چه توابعی باید استفاده کنم.
                                li

                                دیدگاه

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