اطلاعیه

Collapse
No announcement yet.

مشکل با GLCD چیپ KS0108B در CodeVision

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

    مشکل با GLCD چیپ KS0108B در CodeVision

    سلام

    من با basecom کار می کردم اما به این علت که نمی تونستم فارس بنو یسم مجبور به تغییر زبان شدم حالا هم تو این زبون ..... هستم.

    کسی می تونه به من کمک کنه چه جوری GLCD KS0108 درایو کنم

    با تشکر از شما دوستان

    #2
    پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

    سلام دوست عزیز
    این لینک رو ببینید:
    http://www.khazama.com/forums/reply.aspx?gid=696
    در لینک بالا توابع اولیه ای برای رسم خط و نقطه بر روی GLCD توضیح داده شده .
    یک پروژه ای هم با اسم اسکوپ جیبی در همین سایت وجود داره که شاید به کارتون بیاد.
    لطفا من رو هم از نتیجه کارتون بی خبر نگذارید.

    دیدگاه


      #3
      پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

      سلام دوست عزیز

      من با کد شما کار کردم اما نه داخل پروتئس ازش جواب گرفتم نه تو کار عملی !!

      نمیدونم شاید به علت اطلاعات ناقص منه .

      لطفا راهنمایی کنید

      با تشکر. :angry:

      دیدگاه


        #4
        پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

        سلام دوست عزیز...یه کتابخونه آقای یار محمدی تویه این زمینه داره....یه سرچ کن پیداش میکنی....اگه نتونستی من در خدمتم......

        دیدگاه


          #5
          پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

          یه کتابخونه آقای یار محمدی تویه این زمینه داره....یه سرچ کن پیداش میکنی
          کتابخانه مذکور:
          http://www.eca.ir/forum2/index.php?t...15320#msg15320

          دیدگاه


            #6
            پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

            تو بیسکام 9 با نرم افزار LCD CONVERTER به راحتی میتونی متن فارسی تئ به عکس تبدیل کنی و اونو روی LCD نمایش بدی اینم لینک دانلودش:
            http://rapidshare.com/files/111262659/bascom-avr1.11.9.0.rar
            ولی اگه خواستین تو کدویژن کار کنید فکر کنم لینک زیر کمکتون کنید سایت ELVAND میتونه بهتون کمک کنه اگه موفق نشودید هدر فایلهای کدویژن رو گیر بیارید بگین تا اپلودش کنم


            چه دعایی کنمت بهترازاین ،که کنار پسر فاطمه هنگام اذان ، سحر جمعه ای پشت دیوار بقیع قامتت قد بکشد در دو رکعت به نمازی که نثار حرم و گنبد برپا شده ی حضرت زهرا بکنی ... انشاالله

            دیدگاه


              #7
              پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

              اینم برنامه و کتابخانه های glcd در کدویژن:
              http://rapidshare.com/files/117458564/glcd_in_codevision.rar.html

              چه دعایی کنمت بهترازاین ،که کنار پسر فاطمه هنگام اذان ، سحر جمعه ای پشت دیوار بقیع قامتت قد بکشد در دو رکعت به نمازی که نثار حرم و گنبد برپا شده ی حضرت زهرا بکنی ... انشاالله

              دیدگاه


                #8
                پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

                با سلام

                با سپاس از شما دوستان گرامی

                من تمامی روش های رو تست کردم اما هیچکدام جواب نگرفتم چه کار کنم ؟ بد جور کارم گیرشه :angry:

                دیدگاه


                  #9
                  پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

                  سلام...برنامت رو بزار یه نگاه بهش بندازیم.......

                  دیدگاه


                    #10
                    پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

                    سلام

                    آقا من دوتا فایل و یکی کردم


                    /************************************************** ***
                    This program was produced by the
                    CodeWizardAVR V1.24.8b Professional
                    Automatic Program Generator
                    © Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
                    http://www.hpinfotech.com

                    Project :
                    Version :
                    Date : 2008/05/25
                    Author : F4CG
                    Company : F4CG
                    Comments:


                    Chip type : ATmega16
                    Program type : Application
                    Clock frequency : 8.000000 MHz
                    Memory model : Small
                    External SRAM size : 0
                    Data Stack size : 256
                    ************************************************** ***/

                    #include <mega16.h>
                    #include <delay.h>
                    #define cs1 PORTD.1
                    #define cs2 PORTD.0
                    #define rs PORTD.2
                    #define rw PORTD.3
                    #define rst PORTD.4
                    #define en PORTD.5



                    void init(void);
                    void display(unsigned char buffer[]);
                    void write_right(unsigned char x);
                    void write_left(unsigned char x);
                    void address_right(int x,int y);
                    void address_left(int x,int y);
                    void clear(void);
                    // Declare your global variables here
                    unsigned char flash bmp1[255] = {
                    0, 0, 0, 0, 4, 10, 58, 62,122,210,208,208,208,208,208, 48,
                    188, 60,172,172,246,247,255,110,254,190,126,126, 92,152, 96, 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,128,128,128, 0,129,129,141,143,136,192, 80,208,200, 8, 8,
                    140, 12, 58, 58, 71,130,135, 0,161,208,112,240,160,166,166,153,
                    139,142,141,143, 15, 27, 23, 23, 27, 15, 15,143,190,187,191,159,
                    204,140,143,246,246,246,230,189,255,177,189,238,19 5, 76, 0, 0,
                    0, 0, 0, 0, 0, 0, 0, 24, 28,222,126,123, 57, 63,125,120,
                    15, 15, 3, 3, 65,193,225,193,192,192, 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, 98, 99, 29,
                    153,192, 66,199,132,132,133,135, 0, 0,128, 80,120, 81,113,118,
                    126, 63, 31, 22,227,253,248,224,192,193,194,194,194,195,129, 0,
                    1,131,131,191,191,230,234,234,188,248,241,195, 66, 71,129,133,
                    133,174,255,255,247,255,255,254,254,255,251,253,21 0,208, 0
                    };
                    unsigned char lcd_buffer[255];

                    void display(unsigned char buffer[])
                    {
                    unsigned char page[8]={0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf };
                    int i=0,j=0,index=0;
                    while(index<255)
                    {
                    address_left(page[i],0x40);
                    rs=1;
                    for(j=0;j<64;j++)
                    {
                    write_left(buffer[index]);
                    index++;
                    }
                    address_right(page[i],0x40);
                    rs=1;
                    for(j=0;j<64;j++)
                    {
                    write_right(buffer[index]);
                    index++;
                    }
                    i++;
                    }
                    }

                    void init(void){
                    int i=0,com[4] = {0xc0,0xb8, 0x40, 0x3f};
                    rs=0;
                    while(i<4){
                    write_left(com[i]);
                    i++;
                    }
                    i=0;
                    while(i<4){

                    write_right(com[i]);
                    i++;
                    }
                    }

                    void clear(void){
                    unsigned char page[8]={0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf };
                    int i=0,j=0,index=0;
                    while(index<1024)
                    {
                    address_left(page[i],0x40);
                    rs=1;
                    for(j=0;j<64;j++)
                    {
                    write_left(0);
                    index++;
                    }
                    address_right(page[i],0x40);
                    rs=1;
                    for(j=0;j<64;j++)
                    {
                    write_right(0);
                    index++;
                    }
                    i++;
                    }
                    }

                    void write_right(unsigned char x )
                    {
                    cs1=0;
                    cs2=1;
                    delay_us(1);
                    PORTB=x;
                    en=1;
                    delay_us (1);
                    en=0;
                    cs1=0;
                    cs2=0;

                    }

                    void write_left(unsigned char x)
                    {
                    cs1=1;
                    cs2=0;
                    delay_us(1);
                    PORTB=x;
                    en=1;
                    delay_us (1);
                    en=0;
                    cs1=0;
                    cs2=0;
                    }

                    void address_right(int x,int y){
                    rs=0;
                    write_right(x);
                    write_right(y);
                    }


                    void address_left(int x,int y){
                    rs=0;
                    write_left(x);
                    write_left(y);
                    }




                    void main(void)
                    {
                    // Declare your local variables here

                    // Input/Output Ports initialization
                    // Port A initialization
                    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                    PORTA=0x00;
                    DDRA=0x00;

                    // Port B initialization
                    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                    PORTB=0x00;
                    DDRB=0xff;

                    // Port C initialization
                    // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
                    // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
                    PORTC=0x00;
                    DDRC=0x00;

                    // Port D initialization
                    // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
                    // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
                    PORTD=0x00;
                    DDRD=0xff;

                    // Timer/Counter 0 initialization
                    // Clock source: System Clock
                    // Clock value: Timer 0 Stopped
                    // Mode: Normal top=FFh
                    // OC0 output: Disconnected
                    TCCR0=0x00;
                    TCNT0=0x00;
                    OCR0=0x00;

                    // Timer/Counter 1 initialization
                    // Clock source: System Clock
                    // Clock value: Timer 1 Stopped
                    // Mode: Normal top=FFFFh
                    // OC1A output: Discon.
                    // OC1B output: Discon.
                    // Noise Canceler: Off
                    // Input Capture on Falling Edge
                    // Timer 1 Overflow Interrupt: Off
                    // Input Capture Interrupt: Off
                    // Compare A Match Interrupt: Off
                    // Compare B Match Interrupt: Off
                    TCCR1A=0x00;
                    TCCR1B=0x00;
                    TCNT1H=0x00;
                    TCNT1L=0x00;
                    ICR1H=0x00;
                    ICR1L=0x00;
                    OCR1AH=0x00;
                    OCR1AL=0x00;
                    OCR1BH=0x00;
                    OCR1BL=0x00;

                    // Timer/Counter 2 initialization
                    // Clock source: System Clock
                    // Clock value: Timer 2 Stopped
                    // Mode: Normal top=FFh
                    // OC2 output: Disconnected
                    ASSR=0x00;
                    TCCR2=0x00;
                    TCNT2=0x00;
                    OCR2=0x00;

                    // External Interrupt(s) initialization
                    // INT0: Off
                    // INT1: Off
                    // INT2: Off
                    MCUCR=0x00;
                    MCUCSR=0x00;

                    // Timer(s)/Counter(s) Interrupt(s) initialization
                    TIMSK=0x00;

                    // Analog Comparator initialization
                    // Analog Comparator: Off
                    // Analog Comparator Input Capture by Timer/Counter 1: Off
                    ACSR=0x80;
                    SFIOR=0x00;
                    PORTD.4=1;
                    while (1)
                    {
                    int i;
                    init();
                    for(i=0;i<1024;i++)
                    lcd_buffer[i]=bmp1[i];
                    display(lcd_buffer);
                    delay_ms(1000);
                    clear();
                    };
                    }

                    دیدگاه


                      #11
                      پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

                      سلام دوست عزیز...شما چند تا مشکل کوچیک داری.......

                      1) lcd_buffer[i]=bmp[i] رو باید یه این صورت بنویسی البته بجز n آخر.......یعنی باید تو کروشه برای هردو طرف i رو قرار بدی......

                      2)شما lcd_buffer رو بصورت 255 تعریف کردی در حالی که برنامه آقای یار محمدی بر اساس 1024 نوشته شده......اگر هم بخوای 1024 تایی تعریف کنی چون حجم atmega16 بهت اجازه نمیده نمیتونی اینکار رو انجام بدی...بهتره از atmega32 استفاده کنی.....

                      برنامه با mega32 هم توسایت هست..
                      فایل های پیوست شده

                      دیدگاه


                        #12
                        پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

                        برنامه با mega32 ....

                        فایل های پیوست شده

                        دیدگاه


                          #13
                          پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

                          نوشته اصلی توسط محسن قاسم پور
                          برنامه با mega32 ....

                          سلام من این کد رو ریختم ولی جواب نمیده :angry:




                          از جمله ی رفتگان این راه دراز
                          باز آمده ای کو که به ما گوید راز
                          هان بر سر این دو راهه از روی نیاز
                          چیزی نگذاری که نمی آیی باز

                          دیدگاه


                            #14
                            پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

                            سلام آقا محسن

                            میشه لطفا به من بگید چه جوری می شه روی LCD با این برنامه یک تکس نوشت (چه تغییری باید داخل برنامه بدم)

                            با تشکر امین

                            دیدگاه


                              #15
                              پاسخ : مشکل با GLCD چیپ KS0108B در CodeVision

                              من برنامه اقای یار محمدی رو ریختم ولی یه مشکلی هست.
                              تنضیمات x مشکل داره وقتی اینو مینویسم
                              کد:
                              lcd_put_str(0,10,t2);
                              شروع نوشته من از 0 نیست.









                              از جمله ی رفتگان این راه دراز
                              باز آمده ای کو که به ما گوید راز
                              هان بر سر این دو راهه از روی نیاز
                              چیزی نگذاری که نمی آیی باز

                              دیدگاه

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