ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13

موضوع: GRAPHICAL LCD

  1. #1
    2006/09/03
    masoudnia63@yahoo.com
    10
    0

    GRAPHICAL LCD

    سلام

    1.چگونه می توان با graphical lcd بوسیله نرم افزار CODEVISION موج سینوسی رسم کرد

    2.برای GRAPHICAL LCD در CODEVISION چه دستوراتی جود دارد
    asoudnia63
  2. #2
    2006/03/21
    1,034
    5

    پاسخ : GRAPHICAL LCD

    سلام
    دوست عزیز برای lcd گرافیکی باید خودتون توابع دلخواهتون رو بنویسید
    این پروژه یه اسکوپ دیجیتال هست،ببینید امیدوارم مشکلتون حل شه:
    http://files-upload.com/186995/DScope.rar.html
    در دیر مغان آمد یارم قدحی در دست
    مست از می می خواران از نرگس مستش مست
  3. #3
    2007/03/16
    844
    11

    پاسخ : GRAPHICAL LCD

    سلام
    من كد پروژه را مطالعه كردم . چند سوال دارم اگر ممكن است كمك كنيد
    1- منظور از TrigLevel و كد Sampling و هدف از آن چيست؟
    2- اگر ممكن است در مورد كد AC-DC در Sampling توضيح دهيد.
    3- در قسمت readkey() منظور از des|=(mn<<4)&0xf0 چيست. و كا ر mn چيست؟
    4- اگر ممكن است در مورد نحوه اعمال TimeDiv توضيح دهيد.
    5- A2D نياز به فركانس دارد ان را مستقل اعمال ميكنيم يا از ميكرو ميگيريم؟

    با تشكر

  4. #4
    2007/04/03
    29
    0

    پاسخ : GRAPHICAL LCD

    سلام
    اقا من یه lcd با مشخصاتts12864 گرافیکی دارم می خوام به یه میکرو mega32 وصلش کنم از bascom استفاده می کنم ایا کسی میتونه دیاگرام اتصال به میکرو به کشه ؟
    و منظور از درایور چیه ؟

    Features: 1. Dimension:93.00*70*13.5mm
    2. VA:72.40*40.60mm
    3. AA:66.52*33.24mm
    4. Resolution:128*64 dots
    5. Driver: KS0107/KS0108 or equiverlant


    درضمن دیتا شیت اونو میتونین اینجا ببینید http://www.lcdstar.com/en/product.asp?id=2006112711175081015642624&type= 2&page=1&pagesize=10



    ممنون
  5. #5
    2007/04/12
    1
    0

    پاسخ : GRAPHICAL LCD

    سلام
    دوست عزیز از درایور زیر استفاده کنید امیدوارم به دردتون بخوره

    /*Main functions:
    writedata
    writeinstruction
    clrscreen
    displaypic
    */
    /*
    C.7 DONT CARE
    C.6 DONT CARE
    C.5 ENABLE
    C.4 DATA/INSTRUCTION
    C.3 READ/WRITE
    C.2 RESET
    C.1 COLUMN SELECT 2
    C.2 COLUMN SELECT 2
    D.7 DATA BIT 7
    D.6 DATA BIT 6
    D.5 DATA BIT 5
    D.4 DATA BIT 4
    D.3 DATA BIT 3
    D.2 DATA BIT 2
    D.1 DATA BIT 1
    D.0 DATA BIT 0
    */
    //used as an example in the program organization doc.
    #include <Mega32.h>
    #include <delay.h>
    //timeout values for each task
    #define t1 1000
    #define t2 125
    #define t3 60
    #define begin {
    #define end }
    #define DISPLAY_ON 0x3f //0011 1111
    #define DISPLAY_OFF 0x3e //0011 1110
    #define DISPLAY_STARTLINE 0xc0 //1100 0000
    #define DISPLAY_PAGE_SET 0xb8 //1011 1000
    #define DISPLAY_COLUMN_SET 0x40 //0100 0000
    const unsigned char E = 0b00100000;
    const unsigned char DI = 0b00010000;
    const unsigned char RW = 0b00001000;
    const unsigned char RS = 0b00000100;
    const unsigned char C2 = 0b00000010;
    const unsigned char C1 = 0b00000001;
    const unsigned char D7 = 0b10000000;
    const unsigned char D6 = 0b01000000;
    const unsigned char D5 = 0b00100000;
    const unsigned char D4 = 0b00010000;
    const unsigned char D3 = 0b00001000;
    const unsigned char D2 = 0b00000100;
    const unsigned char D1 = 0b00000010;
    const unsigned char D0 = 0b00000001;
    unsigned char time = 1;
    //the three task subroutines
    void task1(void); //blink at 2 or 8 Hz
    //void task2(void); //blink at 1 Hz
    //void task3(void); //detect button and modify task 1 rate
    void initialize(void); //all the usual mcu stuff
    unsigned char setbit(unsigned char whichbit, unsigned char I); //set bit of control or data variable
    unsigned char resetbit(unsigned char whichbit, unsigned char I);//reset bit of control or data variable
    void writedata(unsigned char data1); //write data to LCD
    void writeinstruction(unsigned char instruct); //write instruction to LCD
    void clrscreen(void); //Clear LCD screen
    void loadpic(unsigned char *picdata); //Load pic from picdata mem location to screen
    void setcursorpos(unsigned char x, unsigned char y); //set cursor position
    //void writeinstruct(unsigned char instruction, unsigned char colselect);
    unsigned char time1, time2, time3; //timeout counters
    unsigned char tsk2c; //task 2 counter to get to 1/2 second
    unsigned char tsk3m; //task 3 message to task 1
    unsigned char led; //light states
    unsigned char data;
    unsigned char control;
    //unsigned bit CH2;
    //************************************************** ********
    //timer 0 compare ISR
    interrupt [TIM0_COMP] void timer0_compare(void)
    begin
    //Decrement the three times if they are not already zero
    if (time1>0) --time1;
    //if (time2>0) --time2;
    //if (time3>0) --time3;
    end
    //************************************************** ********
    //Entry point and task scheduler loop
    void main(void)
    begin
    initialize();
    //main task scheduler loop
    while(1)
    begin
    if (time1==0) task1();
    //if (time2==0) task2();
    //if (time3==0) task3();
    end
    end
    //************************************************** ********
    //Task subroutines
    //Task 1
    void task1(void)
    begin
    time1=t1; //reset the task timer
    if (tsk3m != 0) time1 >>= 2; //check for task 3 message
    //task 1 - every 1000 ms toggle ISR
    //toggle();
    control = 0b00000000;
    control = setbit(E, control);
    PORTC = control;
    delay_ms(500);
    control = resetbit(E,control);
    PORTC = control;
    end
    /*
    //*******************************
    //Task 2
    void task2(void)
    begin
    time2=t2; //reset the task timer
    if (--tsk2c == 0) //have we waited 1/2 second?
    begin
    tsk2c = 4; //reload the 1/2 sec counter
    //toggle the ones bit
    led = led ^ 0x02;
    PORTB = led;
    end
    end
    //*******************************
    //Task 3
    void task3(void)
    begin
    time3=t3; //reset the task timer
    tsk3m = ~PIND & 0x01; //generate the message for task 1
    end
    */
    //************************************************** ********
    //Set it all up
    void initialize(void)
    begin
    //set up the ports
    DDRD=0xff; // PORT D is an output
    DDRB=0xff; // PORT B is an output
    DDRC = 0xff; //PORT C is an output
    //PORTB=0;
    //PORTC = 0;
    PORTB = 0b01010101;
    //initialize LCD
    data = 0b00000000;
    control = 0b00000101;
    //toggle reset
    PORTD = data;
    PORTC = control;
    delay_ms(time);
    resetbit(RS, control);
    PORTC = control;
    delay_ms(time);
    setbit(RS, control);
    PORTC = control;
    delay_ms(time);
    //setup column select and initialize display
    setbit(C1, control);
    resetbit(C2,control);
    PORTC = control;
    writeinstruction(0x3E); // Display OFF
    writeinstruction(0xC0);
    writeinstruction(0xB8);
    writeinstruction(0x40);
    writeinstruction(0x3F); // Display ON
    resetbit(C1, control);
    setbit(C2,control);
    PORTC = control;
    writeinstruction(0x3E); // Display OFF
    writeinstruction(0xC0);
    writeinstruction(0xB8);
    writeinstruction(0x40);
    writeinstruction(0x3F); // Display ON
    writeinstruction(0b01010101);
    writeinstruction(0b10111001);
    /*
    PORTD = 0b00111111
    PORTC = control;
    delay_ms(2);
    setbit(E,control);
    PORTC = control;
    delay_ms(2);
    resetbit(E,control);
    PORTC = control;
    delay_ms(2);
    //set y
    data = 0b01000011;
    PORTD = data;
    delay_ms(2);
    PORTC = control;
    delay_ms(2);
    setbit(E,control);
    PORTC = control;
    delay_ms(2);
    resetbit(E,control);
    PORTC = control;
    delay_ms(2);
    //set x
    data = 0b10111011;
    PORTD = data;
    delay_ms(2);
    PORTC = control;
    delay_ms(2);
    setbit(E,control);
    PORTC = control;
    delay_ms(2);
    resetbit(E,control);
    PORTC = control;
    delay_ms(2);
    */
    //PORTD = 0;
    //set up timer 0
    TIMSK=2; //turn on timer 0 cmp match ISR
    OCR0 = 250; //set the compare re to 250 time ticks
    //prescalar to 64 and turn on clear-on-match
    TCCR0=0b00001011;
    //init the LED status (all off)
    led=0x00;
    //init the task timers
    time1=t1;
    //time2=t2;
    //time3=t3;
    //init the task 2 state variable
    //for four ticks
    tsk2c=4;
    //init the task 3 message
    //for no message
    tsk3m=0;
    //crank up the ISRs
    #asm
    sei
    #endasm
    end
    /*
    void writeinstruct (unsigned char instruction, unsigned char colselect)
    {
    delay_ms(15);
    PORTC = 00010001 ; //ENABLE_LO | CS | RS_LO
    PORTD = instruction; //SetPortVal(DATA, Command, 1);
    PORTC = 00110001; //;SetPortVal(CONTROL, ENABLE_HI | CS | RS_LO, 1);
    delay_ms(15);
    PORTC = 00010001 ; //SetPortVal(CONTROL, ENABLE_LO | CS | RS_LO, 1);
    //SetPortVal(DATA, 0, 1);
    }
    */
    unsigned char setbit(unsigned char whichbit, unsigned char I)
    {
    unsigned char A;
    switch (whichbit)
    {
    case 'D7':
    A = I | D7;
    break;
    case 'D6':
    A = I | D6;
    break;
    case 'E':
    case 'D5':
    A = I | D5;
    break;
    case 'DI':
    case 'D4':
    A = I | D4;
    break;
    case 'RW':
    case 'D3':
    A = I | D3;
    break;
    case 'RS':
    case 'D2':
    A = I | D2;
    break;
    case 'C2':
    case 'D1':
    A = I | D1;
    break;
    case 'C1':
    case 'D0':
    A = I | D0;
    break;
    }
    return A;
    }
    unsigned char resetbit(unsigned char whichbit, unsigned char I)
    {
    unsigned char A;
    switch (whichbit)
    {
    case 'D7':
    A = I & ~D7;
    break;
    case 'D6':
    A = I & ~D6;
    break;
    case 'E':
    case 'D5':
    A = I & ~D5;
    break;
    case 'DI':
    case 'D4':
    A = I & ~D4;
    break;
    case 'RW':
    case 'D3':
    A = I & ~D3;
    break;
    case 'RS':
    case 'D2':
    A = I & ~D2;
    break;
    case 'C2':
    case 'D1':
    A = I & ~D1;
    break;
    case 'C1':
    case 'D0':
    A = I & ~D0;
    break;
    }
    return A;
    }
    void writedata(unsigned char data1)
    {
    control = setbit(E, control);//Toggle enable
    PORTC = control;
    delay_ms(time);
    control = setbit(DI, control);//set data
    control = resetbit(RW, control); //set write
    PORTC = control;
    delay_ms(time);
    PORTD = data1; //output data
    control = resetbit(E, control); //toggle enable
    PORTC = control;
    delay_ms(time);
    }
    void writeinstruction(unsigned char instruct)
    {
    control = setbit(E, control);//toggle enable
    PORTC = control;
    delay_ms(time);
    control = resetbit(DI, control);//set instruction
    control = resetbit(RW, control); //set write
    PORTC = control;
    delay_ms(time);
    PORTD = instruct; //output instruction
    control = resetbit(E, control); //toggle enable
    PORTC = control;
    delay_ms(time);
    }
    //This function clears the LCD screen
    void clrscreen(void)
    {
    unsigned char page;
    unsigned char column;
    control = 0;
    writeinstruction(0b01000000); //set page
    for (page = 0; page <8; page++) //clear left side
    {
    control = setbit(C1, control); //select left side
    control = resetbit(C2, control);
    PORTC = control;
    writeinstruction(0b10111000 + page); //sweep pages
    writeinstruction(0b01000000);
    for (column = 0; column <128; column++)
    { //clear right side
    if(column ==64)
    {
    control = resetbit(C1, control); //select right side
    control = setbit(C2, control);
    PORTC = control;
    writeinstruction(0b10111000 + page);//sweep pages
    writeinstruction(0b01000000);
    }
    writedata(0); //for each set of 8 pixels, write no data
    }
    }
    }
    void loadpic(unsigned char *picdata)
    {
    unsigned char page;
    unsigned char column;
    page = 0;
    column = 0;
    writeinstruction(0b01000000); //set page
    for (page = 0; page <8; page++)
    {
    control = setbit(C1, control); //select left side
    control = resetbit(C2, control);
    PORTC = control;
    writeinstruction(0b10111000 + page);//sweep pages
    writeinstruction(0b01000000);
    for (column = 0; column <128; column++)
    { //move to right side
    if(column ==64)
    {
    control = resetbit(C1, control); //select right side
    control = setbit(C2, control);
    PORTC = control;
    writeinstruction(0b10111000 + page);//sweep pages
    writeinstruction(0b01000000);
    }
    writedata(picdata[(128*page)+column]); //for each set of 8 pixels, write data in pic array
    }
    }
    }
    void setcursorpos(unsigned char x, unsigned char y)
    {
    writeinstruction(0b01000000); //set y address to zero
    //if x falls on the left side of the screen
    if (x < 64)
    {
    setbit(C1,control); //choose side
    resetbit(C2,control);
    writeinstruction(0b10101000 + (y / 8)); //page
    writeinstruction(0b01000000 + x); //column
    delay_ms(1);
    }
    else
    //if x is greater than 64 and falls on the right side of the screen
    {
    setbit(C2,control); //choose side
    resetbit(C1,control);
    writeinstruction(0b10101000 + (y / 8)); //page
    writeinstruction(0b01000000+ x - 64); //column
    delay_ms(1);
    }
    }
    const char lowercase[] = {
    0x07, 0x87, 0x47, 0x47, 0x47, 0x87, 0x07, 0x07, 0x07, 0x07, 0xF7, 0x87, 0x47, 0x47, 0x87, 0x07,
    0x0F, 0x0F, 0x0F, 0x8F, 0x4F, 0x4F, 0x4F, 0x8F, 0x0F, 0x0F, 0x0F, 0x0F, 0x8F, 0x4F, 0x4F, 0x8F,
    0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x8F, 0x4F, 0x4F, 0x4F, 0x8F, 0x0F, 0x0F, 0x0F, 0x0F, 0x4F, 0xEF,
    0x5F, 0x0F, 0x0F, 0x0F, 0x0F, 0x8F, 0x4F, 0x4F, 0x8F, 0xCF, 0x0F, 0x0F, 0x0F, 0x0F, 0xFF, 0x8F,
    0x4F, 0x4F, 0x8F, 0x0F, 0x0F, 0x0F, 0x0F, 0xDF, 0x0F, 0x0F, 0x0F, 0x0F, 0xDF, 0x0F, 0x0F, 0x0F,
    0x0F, 0xFF, 0x0F, 0x8F, 0x4F, 0x0F, 0x0F, 0x0F, 0x0F, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0xCF, 0x8F,
    0x4F, 0xCF, 0x4F, 0x4F, 0x8F, 0x0F, 0x0F, 0x0F, 0x0F, 0xCF, 0x4F, 0x4F, 0x4F, 0x8F, 0x0F, 0x0F,
    0x0F, 0x0F, 0x8F, 0x4F, 0x4F, 0x4F, 0x8F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
    0x00, 0x06, 0x09, 0x09, 0x05, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x04, 0x08, 0x08, 0x07, 0x00,
    0x00, 0x00, 0x00, 0x07, 0x08, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x08, 0x04,
    0x0F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x09, 0x09, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x28, 0x28, 0x24, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00,
    0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x1F, 0x00, 0x00, 0x00,
    0x00, 0x0F, 0x01, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00,
    0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00,
    0x00, 0x00, 0x07, 0x08, 0x08, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0xF0, 0x20, 0x10, 0x10, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x10, 0x10, 0x20, 0xF0, 0x00,
    0x00, 0x00, 0x00, 0xF0, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x50, 0x50, 0x90, 0x20, 0x00,
    0x00, 0x00, 0x10, 0xFC, 0x10, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00,
    0x00, 0x00, 0x30, 0xC0, 0x00, 0xC0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0xC0, 0x00, 0xE0, 0x10,
    0xE0, 0x00, 0xC0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0xC0, 0x20, 0x10, 0x00, 0x00, 0x00,
    0x00, 0x30, 0xC0, 0x00, 0xC0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xD0, 0x30, 0x10, 0x00,
    0x00, 0x00, 0x00, 0x10, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x84, 0x44,
    0x38, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x24, 0x24, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x0F, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x0F, 0x00,
    0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x01, 0x00,
    0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x03, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
    0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02, 0x02, 0x02, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02, 0x02,
    0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x30, 0x2C, 0x22, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x8B, 0x89, 0x89, 0x71, 0x00,
    0x00, 0x00, 0x00, 0x7E, 0x89, 0x89, 0x89, 0x72, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE1, 0x19, 0x07,
    0x01, 0x00, 0x00, 0x00, 0x00, 0x76, 0x89, 0x89, 0x89, 0x76, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x91,
    0x91, 0x91, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x81, 0x81, 0x81, 0x7E, 0x00, 0x00, 0x00, 0x00,
    0xBF, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x06, 0x72, 0x89, 0x85, 0x45, 0xF9, 0x8D, 0x42, 0x3C, 0x00,
    0x00, 0x00, 0x00, 0xE4, 0x3C, 0xE7, 0x3C, 0x27, 0x00, 0x00, 0x00, 0x00, 0x46, 0x89, 0xFF, 0x89,
    0x72, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x89, 0x66, 0x18, 0x66, 0x91, 0x90, 0x60, 0x00, 0x00,
    0x00, 0x00, 0x08, 0x06, 0x01, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xC0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x01, 0x02, 0x02, 0x42, 0xC2, 0x02, 0x02, 0x02, 0x01, 0xC0,
    0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x18, 0x25, 0x22, 0x26, 0x19, 0x28, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0x00,
    0x00, 0x00, 0x3F, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x3F, 0x00, 0x00, 0x00, 0x00,
    0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x1F, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
    0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7B, 0x04, 0x00,
    0x00, 0x00, 0x04, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF,
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0A,
    0x0A, 0x0A, 0x11, 0x00, 0x00, 0x00, 0x00, 0x11, 0x0A, 0x0A, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00,
    0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    };
  6. #6
    2007/04/03
    29
    0

    پاسخ : GRAPHICAL LCD

    سلام
    از بابت بر نامه مننون فقط اگه میشه روش اتصال به میکرو m16 or m32 رو هم بگید ممنون
  7. #7
    2006/12/25
    کرج
    391
    3

    پاسخ : GRAPHICAL LCD

    نقل قول نوشته اصلی توسط varozhan
    سلام
    اقا من یه lcd با مشخصاتts12864 گرافیکی دارم می خوام به یه میکرو mega32 وصلش کنم از bascom استفاده می کنم ایا کسی میتونه دیاگرام اتصال به میکرو به کشه ؟
    و منظور از درایور چیه ؟

    Features: 1. Dimension:93.00*70*13.5mm
    2. VA:72.40*40.60mm
    3. AA:66.52*33.24mm
    4. Resolution:128*64 dots
    5. Driver: KS0107/KS0108 or equiverlant

    سلام
    در bascom avr 1.11.8.3 درایور ks108 هست و میتونی از اون استفاده کنی و دقیقا با دستورات lcd برنامه سازگاره



    '-----------------------------------------------------------------------------------------
    'name : ks108.bas
    'copyright : (c) 1995-2005, MCS Electronics
    'purpose : demonstrates the KS108 based graphical display support
    'micro : Mega323
    'suited for demo : no
    'commercial addon needed : no
    '-----------------------------------------------------------------------------------------

    $regfile = "m323def.dat" ' specify the used micro
    $crystal = 8000000 ' used crystal frequency
    $baud = 19200 ' use baud rate
    $hwstack = 32 ' default use 32 for the hardware stack
    $swstack = 10 ' default use 10 for the SW stack
    $framesize = 40 ' default use 40 for the frame space


    'some routines to control the display are in the glcdKS108.lib file
    $lib "glcdKS108.lib"


    Wait 2

    Print "Config" ' printing will still work as only the receiver pin is disabled


    'First we define that we use a graphic LCD
    Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 0 , Ce2 = 1 , Cd = 4 , Rd = 3 , Reset = 2 , Enable = 5

    'The dataport is the portname that is connected to the data lines of the LCD
    'The controlport is the portname which pins are used to control the lcd
    'CE =CS1 Chip select
    'CE2=CS2 Chip select second chip
    'CD=Data/instruction
    'RD=Read
    'RESET = reset
    'ENABLE= Chip Enable



    'Dim variables (y not used)
    Dim X As Byte , Y As Byte



    Print "Cls"
    Cls

    Wait 1

    'specify the font we want to use
    Setfont Font8x8


    'You can use locate but the columns have a range from 1-128
    'When you want to show somthing on the LCD, use the LDAT command
    'LCDAT Y , COL, value
    Lcdat 1 , 1 , "123"

    'lcdat accepts an additional param for inversing the text
    Lcdat 2 , 1 , "123" , 1 ' will inverse the text

    'Now use a different font
    'Setfont Font8x8
    'since the 16*16 font uses 2 rows, show on row 3
    'Lcdat 1 , 1 , "2345"
    'Lcdat 2 , 56 , "2345656"
    Wait 1
    Line(0 , 0) -(127 , 64) , 1 'make line
    Wait 2
    Line(0 , 0) -(127 , 64) , 0 'remove line

    For Y = 1 To 20
    Circle(30 , 30) , Y , 1
    Waitms 100
    Next

    Wait 1
    Glcdcmd &H3E , 1 : Glcdcmd &H3E , 2 ' both displays off
    Wait 1
    Glcdcmd &H3F , 1 : Glcdcmd &H3F , 2 'both on
    'GLCDCMD accepts an additional param to select the chip
    'With multiple, GLCDCMD statements, it is best to specify the chip only the first time


    Showpic 0 , 0 , Plaatje 'show a comnpressed picture
    End 'end program


    'we need to include the font files
    'Notice that this is a testfont with only numbers defined !
    '$include "smallfont8x8.font"
    $include "font8x8.font"
    '$include "font16x16.font"


    Plaatje:
    'include the picture data
    $bgf "ks108.bgf"

    نوفن پردازش هوشمند
  8. #8
    2006/12/25
    کرج
    391
    3

    پاسخ : GRAPHICAL LCD

    برای اتصال به avr در این مثال از اتصالات زیر استفاده کنید
    از port c برای اتصال d1-d7
    از port d برای کنترل
    ce1=3
    ce2=2
    cd=6
    rd=5
    reset=1
    enable=4

    از اسیلاتور داخلی استفاده کنید
    نوفن پردازش هوشمند
  9. #9
    2007/03/16
    844
    11

    پاسخ : GRAPHICAL LCD

    اق يكي جوابه منو بده . مردم بس كه چشم به تاپيك دوختم :cry:
  10. #10
    2006/03/21
    1,034
    5

    پاسخ : GRAPHICAL LCD

    سلام دوست عزیز
    چون این پروژه مال خودم نیست نمی تونم زیاد کمکتون کنم،منم مثل شما باید کامل برنامه رو ببینم تا متوجه بشم
    اما سعی میکنم یه نگاه بهش بندازم ،و گر چیزی دستگیرم شد حتما اینجا میذارم
    موفق باشید
    در دیر مغان آمد یارم قدحی در دست
    مست از می می خواران از نرگس مستش مست
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13

موضوعات مشابه

  1. LCD GRAPHICAL MTB-221 OR MTB-255
    توسط mehdiravanbod در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2016/04/18, 09:42
  2. graphical lcd-t6963
    توسط nimalatif در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2015/03/13, 18:57
  3. پاسخ: 0
    آخرين نوشته: 2008/02/28, 10:48

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •