اطلاعیه

Collapse
No announcement yet.

GRAPHICAL LCD

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

    GRAPHICAL LCD

    سلام

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

    2.برای GRAPHICAL LCD در CODEVISION چه دستوراتی جود دارد
    asoudnia63

    #2
    پاسخ : GRAPHICAL LCD

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

    دیدگاه


      #3
      پاسخ : GRAPHICAL LCD

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

      با تشکر

      دیدگاه


        #4
        پاسخ : 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
          پاسخ : 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
            پاسخ : GRAPHICAL LCD

            سلام
            از بابت بر نامه مننون فقط اگه میشه روش اتصال به میکرو m16 or m32 رو هم بگید ممنون

            دیدگاه


              #7
              پاسخ : 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
                پاسخ : GRAPHICAL LCD

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

                از اسیلاتور داخلی استفاده کنید
                نوفن پردازش هوشمند

                دیدگاه


                  #9
                  پاسخ : GRAPHICAL LCD

                  اق یکی جوابه منو بده . مردم بس که چشم به تاپیک دوختم :cry:

                  دیدگاه


                    #10
                    پاسخ : GRAPHICAL LCD

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

                    دیدگاه


                      #11
                      پاسخ : GRAPHICAL LCD

                      سلام
                      اگر ممکنه در مورد triger level جوابی پیدا کنید

                      دیدگاه


                        #12
                        پاسخ : GRAPHICAL LCD

                        سلام این فایل پاک شده لطفا دوباره بذارید

                        دیدگاه


                          #13
                          پاسخ : GRAPHICAL LCD

                          سلام این فایل را دوباره upload کنید.

                          دیدگاه

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