/* IQC program */
/* IC : ssd1305 */
/* Module : QG-2832ASWCG01 */


                   
void  SSD1305()
{
       write_i(0xae); /* set  display off */
   
       write_i(0x04); /* set  lower column start address */
       write_i(0x10); /* set  higher column start address */
   
       write_i(0x40); /* set  display start line */   
     
       write_i(0x81); /* set  contrast control */
       write_i(0x80); 
   
       write_i(0xa1); /* set  segment remap  */
   
       write_i(0xa6); /* set  normal display */
   
       write_i(0xa8); /* set  multiplex ratio */
       write_i(0x1f); /* 1/32 */       
   
       write_i(0xc8); /* set  com scan direction */
   
       write_i(0xd3); /* set  display offset  */
       write_i(0x00);
   
       write_i(0xd5); /* set  display clock divide/oscillator frequency */
       write_i(0xf0); 
   
       write_i(0xD8);    /*set area color mode off */
       write_i(0x05);

       write_i(0xD9);   /* Set Pre-Charge Period */
       write_i(0xC2);

       write_i(0xda); /* set  com pin configuartion */
       write_i(0x12); 
   
       write_i(0xdb); /* set  Vcomh */
       write_i(0x08);

       write_i(0xaf); /* set  display on */ 

                           

}



/*¸±³جت½*/   
void write_i(unsigned char ins)
{
	
   DC=0;
   CS=0;
   WR=1;
   P1=ins;       /*inst*/
   WR=0;
   WR=1;
   CS=1;
}

void write_d(unsigned char dat)
{ 
   DC=1;
   CS=0;
   WR=1;
   P1=dat;       /*data*/
   WR=0;
   WR=1;
   CS=1;
}


void delay(unsigned int i)							
{
   	while(i>0)
   	{
		i--;
   	}
}
