#include #include sfr p0m0=0x94; sfr p1m0=0x92; sbit rst=P0^0; sbit wr=P0^1; sbit rd=P0^2; sbit cs=P0^3; sbit a0=P0^4; sbit vcc=P0^5; void delay1us() { _nop_();_nop_();_nop_();_nop_();_nop_(); } void delay1ms(unsigned char ms) { unsigned char i; do{ i=250;do{delay1us();}while(--i); i=250;do{delay1us();}while(--i); i=250;do{delay1us();}while(--i); i=250;do{delay1us();}while(--i); }while(--ms); } void wrcmd(unsigned char cmd) { a0=0; P1=cmd; cs=0; wr=0; _nop_(); wr=1; cs=1; } void wrdat(unsigned char dat) { a0=1; P1=dat; cs=0; wr=0; _nop_(); wr=1; cs=1; } void init() { cs=0;delay1ms(1); rst=0;delay1ms(20);rst=1;delay1ms(10); wrcmd(0x01);delay1ms(10);//soft reset wrcmd(0x02);wrdat(0x00);//display off wrcmd(0x14);wrdat(0x00);//standby off wrcmd(0x1a);wrdat(0x04);//frame rate //wrcmd(0x1d);wrdat(0x00);//memory write direction //wrcmd(0x09);wrdat(0x00);//scan direction //wrcmd(0x38);wrdat(0x00);//column start address //wrcmd(0x39);wrdat(0x00);//row start address //wrcmd(0x30);wrdat(0x00);wrdat(0x7f);//display size x //wrcmd(0x32);wrdat(0x00);wrdat(0x7f);//display size y //wrcmd(0x0d);wrdat(0x00);//interface //wrcmd(0x1e);wrdat(0x07);//data masking wrcmd(0x16);wrdat(0x05);//peak delay wrcmd(0x3a);wrdat(0x03);//peak width R wrcmd(0x3b);wrdat(0x0f);//peak width G wrcmd(0x3c);wrdat(0x05);//peak width B wrcmd(0x40);wrdat(0x40);//dor current R wrcmd(0x41);wrdat(0x1a);//dor current G wrcmd(0x42);wrdat(0x31);//dor current B wrcmd(0x18);wrdat(0x04);//pre-charge width wrcmd(0x44);wrdat(0x01);//pre-charge select //wrcmd(0x17);wrdat(0x00);//row scan wrcmd(0x48);wrdat(0x00);//row overlap timing wrcmd(0x34);wrdat(0x00);//x box start address wrcmd(0x35);wrdat(0x7f);//x box end address wrcmd(0x36);wrdat(0x00);//y box start address wrcmd(0x37);wrdat(0x7f);//y box end address delay1ms(1);vcc=1;delay1ms(100); wrcmd(0x02);wrdat(0x01);//display on } unsigned char code image[]; void main() { unsigned char *p; unsigned int k; unsigned int l; vcc=0; p0m0=p1m0=0xff; delay1ms(100); init(); p=ℑ wrcmd(0x08); k=128*128*2; do{ wrdat(*p++); }while(--k); while(P2_0);// l=0xffff; while(--l); vcc=0; while(1); } unsigned char code image[]={ };