RCU6093W-B_democode #include /*sbit SCK = P3^0;//AT89C2051 sbit SDI = P3^5; sbit DC = P3^4; sbit SCE = P3^3; sbit LCD_RST = P3^7;*/ sbit SCK = P2^0; //AT89C51 sbit SDI = P0^0; sbit DC = P0^1; sbit SCE = P0^2; sbit LCD_RST = P2^1; void Delay(unsigned int dly); void WR_LCD(unsigned char value,bit DATACOMM); char code INIT[] = {0x21,0xbd,0x14,0x20,0x0C}; unsigned char code PATYY[]={ /*-- WxH=102x65 --*/ /*-- 102x72 --*/ bitmap data }; void main (void) { int i; char value; SCK=0; DC=0; SCE=0; LCD_RST=0; Delay(10); LCD_RST=1; SCK=1; SCK=0; LCD_RST=0; LCD_RST=1; SCK=1; SCK=0; SCE=1; for ( i = 0 ; i < 5 ; i++ ) {value=INIT[i]; WR_LCD(value,0);} while(1) { WR_LCD(0x40,0);WR_LCD(0x80,0); for ( i = 0 ; i < 918 ; i++ ) {WR_LCD(0x00,1); Delay(100);} for ( i = 0 ; i < 918 ; i++ ) {value=PATYY[i]; WR_LCD(value,1);} Delay(60000); Delay(60000); Delay(60000); for ( i = 0 ; i < 918 ; i++ ) {WR_LCD(0x00,1); Delay(100);} for ( i = 0 ; i < 918 ; i++ ) {WR_LCD(0xff,1); Delay(100);} } } void WR_LCD (unsigned char value,bit DATACOMM) { int j; for ( j = 0 ; j < 7 ; j++ ) { SCE=0; if (value & 0x80) SDI=1; else SDI=0; value <<=1; SCK=1; SCK=0; } if (value & 0x80) SDI=1; else SDI=0; DC=DATACOMM; SCK=1; SCK=0; SCE=1; } void Delay(unsigned int dly) {while(dly > 0) dly --;}