/* QG-2828KSWHG01 IC:SSD1327 */ 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--; } } void ssd1327() { RES=1; delay(1000); RES=0; delay(1000); RES=1; delay(1000); write_i(0xAE); /*display off*/ write_i(0xa0); /*set re-map*/ write_i(0x43); write_i(0xa1); /*set display start line*/ write_i(0x00); write_i(0xa2); /*set display offset*/ write_i(0x00); write_i(0xa4); /*normal display*/ write_i(0xa8); /*set multiplex ratio*/ write_i(0x7f); write_i(0xab); /*function selection A*/ write_i(0x01); /*enable internal VDD regulator*/ write_i(0x81); /*set contrast*/ write_i(0x77); write_i(0xb1); /*set phase length*/ write_i(0x31); write_i(0xb3); /*set front clock divider/oscillator frequency*/ write_i(0xb1); write_i(0xb4); /*For brightness enhancement*/ write_i(0xb5); write_i(0xb6); /*Set Second pre-charge Period*/ write_i(0X0d); write_i(0xbc); /*Set Pre-charge voltage*/ write_i(0x07); write_i(0xbe); /*set vcomh*/ write_i(0x07); write_i(0xd5); /*Function Selection B*/ write_i(0x02); /*Enable second pre-charge*/ write_i(0xAF); /*display ON*/ }