#include "stc12c5a60s2.h" #include #include<16x8.h> #define RED 0XF800 //红色 #define GREEN 0X07E0 //绿色 #define BLUE 0X001F //蓝色 #define WHITE 0XFFFF //白色 #define DATA_H P2 #define DATA_L P0 sbit LCD_WR = P0^3; sbit LCD_CD = P0^2;//rs sbit LCD_RESET = P0^0; sbit LCD_MOSI = P0^4; sbit LCD_MISO = P0^5; sbit LCD_SCK = P0^1;//scl void Delay1ms() //@12.000MHz { unsigned char i, j; i = 12; j = 169; do { while (--j); } while (--i); } void delay_ms(unsigned int ms) { while(ms--) { Delay1ms(); } } unsigned char SPI_RW(unsigned char byte) { unsigned char bit_ctr; LCD_WR=0; //移位寄存器方案要用 for(bit_ctr=0;bit_ctr<8;bit_ctr++) // 输出8位 { LCD_SCK=0;LCD_SCK=0; LCD_MOSI=(byte&0x80); // MSB TO MOSI byte=(byte<<1); // shift next bit to MSB LCD_SCK=1; // byte|=LCD_MISO; // capture current MISO bit } LCD_WR=1; //移位寄存器方案要用 return byte; } void LCD_CD_DATA(unsigned char val) { // LCD_CS=0; LCD_CD=1; SPI_RW(val); // LCD_CS=1; } void LCD_CD_REG(unsigned char reg) { // LCD_CS=0; LCD_CD=0; SPI_RW(reg); // LCD_CS=1; } void LCD_Init() { P0=0; P2=0; delay_ms(50); LCD_RESET=0; delay_ms(10); LCD_RESET=1; // delay_ms(120); // LCD_CD_REG(0xFF); // LCD_CD_DATA(0x00);//5e // LCD_CD_DATA(0x00); //1f // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x40);//5e // LCD_CD_REG(0xf0); //LCD_CD_DATA(0x5a); //LCD_CD_DATA(0x5a); //LCD_CD_REG(0xf1); //LCD_CD_DATA(0x5a); //LCD_CD_DATA(0x5a); //LCD_CD_REG(0xf5); //LCD_CD_DATA(0x00); //LCD_CD_DATA(0x4d); //LCD_CD_DATA(0x33); //LCD_CD_REG(0xf7); //LCD_CD_DATA(0x10); //LCD_CD_DATA(0x00); //LCD_CD_DATA(0x10); //LCD_CD_DATA(0x80); //LCD_CD_REG(0xf2); //LCD_CD_DATA(0x32); //LCD_CD_DATA(0x8a); //LCD_CD_DATA(0x03); //LCD_CD_DATA(0x03); //LCD_CD_DATA(0x02); //LCD_CD_DATA(0x10); //LCD_CD_DATA(0x01); //LCD_CD_DATA(0x00); //LCD_CD_DATA(0x95); //LCD_CD_DATA(0x00); //LCD_CD_DATA(0x02); //LCD_CD_DATA(0x01); //LCD_CD_DATA(0x00); //LCD_CD_DATA(0x00); //LCD_CD_DATA(0xff); //LCD_CD_DATA(0x03); //LCD_CD_DATA(0x02); //LCD_CD_REG(0x11); //LCD_CD_REG(0x36); //LCD_CD_DATA(0x08); //LCD_CD_REG(0x3a); //LCD_CD_DATA(0x55); //LCD_CD_REG(0x29); delay_ms(100); // LCD_CD_REG(0xe0); // LCD_CD_DATA(0x01); // LCD_CD_REG(0xf3); // LCD_CD_DATA(0x00); // LCD_CD_REG(0xf1); // LCD_CD_DATA(0x5a); // LCD_CD_REG(0xFF); // LCD_CD_DATA(0x00);//5e // LCD_CD_DATA(0x00); //1f // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x40);//5e delay_ms(100); LCD_CD_REG(0xFF); LCD_CD_DATA(0x00);//5e LCD_CD_DATA(0x00); //1f LCD_CD_DATA(0x00); LCD_CD_DATA(0x40);//5e //***************** LCD_CD_REG(0xf4); LCD_CD_DATA(0x55); // 增大变白 LCD_CD_DATA(0x55); LCD_CD_DATA(0x7f); //增大变白 LCD_CD_DATA(0x73); LCD_CD_DATA(0x33); LCD_CD_REG(0xf5); LCD_CD_DATA(0x12); // LCD_CD_DATA(0x00); LCD_CD_DATA(0x03); LCD_CD_DATA(0xF0); LCD_CD_DATA(0x70); delay_ms(10); LCD_CD_REG(0xf3); LCD_CD_DATA(0xFF); LCD_CD_DATA(0x2A); LCD_CD_DATA(0x2A); LCD_CD_DATA(0x09); LCD_CD_DATA(0x33); LCD_CD_DATA(0x7F); LCD_CD_DATA(0x7F); LCD_CD_DATA(0x20); LCD_CD_REG(0x3a); LCD_CD_DATA(0x05); LCD_CD_REG(0xf2); LCD_CD_DATA(0x10); LCD_CD_DATA(0x10); LCD_CD_DATA(0x03); LCD_CD_DATA(0x02); LCD_CD_DATA(0x03); LCD_CD_DATA(0x02); LCD_CD_DATA(0x03); LCD_CD_DATA(0x10); LCD_CD_DATA(0x04); LCD_CD_DATA(0x15); LCD_CD_DATA(0x15); LCD_CD_REG(0xf6); LCD_CD_DATA(0x00); LCD_CD_DATA(0x80);// 0x00 niuweifeng 20101102 LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_REG(0xf7); LCD_CD_DATA(0x80); LCD_CD_DATA(0x31); LCD_CD_DATA(0x03); LCD_CD_DATA(0x0A); LCD_CD_DATA(0x1E); LCD_CD_DATA(0x26); LCD_CD_DATA(0x2F); LCD_CD_DATA(0x36); LCD_CD_DATA(0x0C); LCD_CD_DATA(0x12); LCD_CD_DATA(0x2A); LCD_CD_DATA(0x21); LCD_CD_DATA(0x07); LCD_CD_DATA(0x22); LCD_CD_DATA(0x22); LCD_CD_REG(0xf8); LCD_CD_DATA(0x80); LCD_CD_DATA(0x00); LCD_CD_DATA(0x03); LCD_CD_DATA(0x14); LCD_CD_DATA(0x2F); LCD_CD_DATA(0x30); LCD_CD_DATA(0x31); LCD_CD_DATA(0x38); LCD_CD_DATA(0x06); LCD_CD_DATA(0x00); LCD_CD_DATA(0x0A); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x22); LCD_CD_DATA(0x22); LCD_CD_REG(0xf9); LCD_CD_DATA(0x8A); LCD_CD_DATA(0x31); LCD_CD_DATA(0x00); LCD_CD_DATA(0x14); LCD_CD_DATA(0x25); LCD_CD_DATA(0x2f); LCD_CD_DATA(0x37); LCD_CD_DATA(0x3F); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x1F); LCD_CD_DATA(0x1D); LCD_CD_DATA(0x04); LCD_CD_DATA(0x22); LCD_CD_DATA(0x22); LCD_CD_REG(0xfA); LCD_CD_DATA(0x80); LCD_CD_DATA(0x0B); LCD_CD_DATA(0x00); LCD_CD_DATA(0x0A); LCD_CD_DATA(0x35); LCD_CD_DATA(0x36); LCD_CD_DATA(0x39); LCD_CD_DATA(0x3F); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x0A); LCD_CD_DATA(0x03); LCD_CD_DATA(0x00); LCD_CD_DATA(0x22); LCD_CD_DATA(0x22); LCD_CD_REG(0xfB); LCD_CD_DATA(0x8A); LCD_CD_DATA(0x31); LCD_CD_DATA(0x03); LCD_CD_DATA(0x0E); LCD_CD_DATA(0x1E); LCD_CD_DATA(0x2f); LCD_CD_DATA(0x34); LCD_CD_DATA(0x3F); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x24); LCD_CD_DATA(0x1E); LCD_CD_DATA(0x07); LCD_CD_DATA(0x22); LCD_CD_DATA(0x22); LCD_CD_REG(0xfC); LCD_CD_DATA(0x80); LCD_CD_DATA(0x18); LCD_CD_DATA(0x03); LCD_CD_DATA(0x14); LCD_CD_DATA(0x38); LCD_CD_DATA(0x3C); LCD_CD_DATA(0x3C); LCD_CD_DATA(0x3F); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x22); LCD_CD_DATA(0x22); LCD_CD_REG(0xFD); LCD_CD_DATA(0x22);//0x11 LCD_CD_DATA(0x01); LCD_CD_REG(0x36); // LCD_CD_DATA(0xe8); //排线向左,横屏 LCD_CD_DATA(0x48); LCD_CD_REG(0x35); LCD_CD_DATA(0x00); LCD_CD_REG(0xF1); LCD_CD_DATA(0x5A); LCD_CD_REG(0xFF); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x40);//0x40 LCD_CD_REG(0x11); delay_ms(120); // LCD_CD_REG(0xF1); LCD_CD_DATA(0x00); LCD_CD_REG(0x29); delay_ms(40); //********************************** // delay_ms(100); // LCD_CD_REG(0xe0); // LCD_CD_DATA(0x01); // LCD_CD_REG(0xf3); // LCD_CD_DATA(0x00); // LCD_CD_REG(0xf1); // LCD_CD_DATA(0x5a); //// LCD_CD_REG(0xFF); //// LCD_CD_DATA(0x00);//5e //// LCD_CD_DATA(0x00); //1f //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0x40);//5e // delay_ms(100); // LCD_CD_REG(0xFF); // LCD_CD_DATA(0x5e);//5e // LCD_CD_DATA(0x00); //1f // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x5e);//5e // // // //****************************** // LCD_CD_REG(0x11); // delay_ms(120); // // LCD_CD_REG(0xF2); // LCD_CD_DATA(0x10); // LCD_CD_DATA(0x10); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x02); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x02); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x10); // LCD_CD_DATA(0x04); // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x15); // // LCD_CD_REG(0xF3); // LCD_CD_DATA(0xFF); // LCD_CD_DATA(0x2A); // LCD_CD_DATA(0x2A); // LCD_CD_DATA(0x09); // LCD_CD_DATA(0x33); // LCD_CD_DATA(0x7F); // LCD_CD_DATA(0x7F); // LCD_CD_DATA(0x20); // LCD_CD_REG(0xF4); // LCD_CD_DATA(0x55); // LCD_CD_DATA(0x55); // LCD_CD_DATA(0x73); // LCD_CD_DATA(0x73); // LCD_CD_DATA(0x33); // LCD_CD_REG(0xF5); // LCD_CD_DATA(0x12); // // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0xF0); // LCD_CD_DATA(0x70); // // // LCD_CD_REG(0x35); // LCD_CD_DATA(0x00); // LCD_CD_REG(0x36); // LCD_CD_DATA(0x48); // LCD_CD_REG(0x3a); // LCD_CD_DATA(0x55); // // // LCD_CD_REG(0xF6); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x80); // LCD_CD_REG(0xFD); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x01); // LCD_CD_REG(0xF7); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2F); // LCD_CD_DATA(0x36); // LCD_CD_DATA(0x0C); // LCD_CD_DATA(0x12); // LCD_CD_DATA(0x2A); // LCD_CD_DATA(0x21); // LCD_CD_DATA(0x07); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // LCD_CD_REG(0xF8); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x2F); // LCD_CD_DATA(0x30); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x38); // LCD_CD_DATA(0x06); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xf9); // LCD_CD_DATA(0x8A); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x25); // LCD_CD_DATA(0x2f); // LCD_CD_DATA(0x37); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x1F); // LCD_CD_DATA(0x1D); // LCD_CD_DATA(0x04); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // // LCD_CD_REG(0xfA); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x0B); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x35); // LCD_CD_DATA(0x36); // LCD_CD_DATA(0x39); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xfB); // LCD_CD_DATA(0x8A); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x0E); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x2f); // LCD_CD_DATA(0x34); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x24); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x07); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xfC); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x18); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x38); // LCD_CD_DATA(0x3C); // LCD_CD_DATA(0x3C); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // LCD_CD_REG(0x2A); //Set_column_address // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0xEF); // //Set_page_address // LCD_CD_REG(0x2B); //Set_page_address // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00);//00 // LCD_CD_DATA(0x01); // LCD_CD_DATA(0x8F);//8f // LCD_CD_REG(0x29); //display on // delay_ms(100); // LCD_CD_REG(0x2c); //display on // //*********************************** // //LCD_CD_REG(0xF3); // delay_ms(100); // LCD_CD_REG(0xe0); // LCD_CD_DATA(0x01); // LCD_CD_REG(0xf3); // LCD_CD_DATA(0x00); // LCD_CD_REG(0xf1); // LCD_CD_DATA(0x5a); // LCD_CD_REG(0xFF); // LCD_CD_DATA(0x00);//5e // LCD_CD_DATA(0x00); //1f // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x40);//5e // delay_ms(100); // LCD_CD_REG(0xFF); // LCD_CD_DATA(0x00);//5e // LCD_CD_DATA(0x00); //1f // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x5e);//5e // // // LCD_CD_REG(0x11); //Exit Sleep // delay_ms(10); // LCD_CD_REG(0xF2); // LCD_CD_DATA(0x10); // LCD_CD_DATA(0x10); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x02); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x02); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x10); // LCD_CD_DATA(0x04); // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x15); // // // LCD_CD_REG(0xF3); // LCD_CD_DATA(0xFF); // LCD_CD_DATA(0x2A); // LCD_CD_DATA(0x2A); // LCD_CD_DATA(0x09); // LCD_CD_DATA(0x33); // LCD_CD_DATA(0x7F); // LCD_CD_DATA(0x7F); // LCD_CD_DATA(0x20); // LCD_CD_REG(0xF4); // LCD_CD_DATA(0x55); // LCD_CD_DATA(0x55); // LCD_CD_DATA(0x73); // LCD_CD_DATA(0x73); // LCD_CD_DATA(0x33); // LCD_CD_REG(0xF5); // LCD_CD_DATA(0x02); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0xF0); // LCD_CD_DATA(0x70); // LCD_CD_REG(0xF6); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x80); // LCD_CD_REG(0xFD); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x01); // LCD_CD_REG(0xF7); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2F); // LCD_CD_DATA(0x36); // LCD_CD_DATA(0x0C); // LCD_CD_DATA(0x12); // LCD_CD_DATA(0x2A); // LCD_CD_DATA(0x21); // LCD_CD_DATA(0x07); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // LCD_CD_REG(0xF8); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x2F); // LCD_CD_DATA(0x30); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x38); // LCD_CD_DATA(0x06); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xf9); // LCD_CD_DATA(0x8A); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x25); // LCD_CD_DATA(0x2f); // LCD_CD_DATA(0x37); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x1F); // LCD_CD_DATA(0x1D); // LCD_CD_DATA(0x04); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // // LCD_CD_REG(0xfA); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x0B); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x35); // LCD_CD_DATA(0x36); // LCD_CD_DATA(0x39); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xfB); // LCD_CD_DATA(0x8A); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x0E); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x2f); // LCD_CD_DATA(0x34); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x24); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x07); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xfC); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x18); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x38); // LCD_CD_DATA(0x3C); // LCD_CD_DATA(0x3C); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // LCD_CD_REG(0x35); // LCD_CD_DATA(0x00); // LCD_CD_REG(0x36); // LCD_CD_DATA(0x48); // LCD_CD_REG(0x3a); // LCD_CD_DATA(0x55); //// LCD_CD_REG(0x2A); //Set_column_address //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0xEF); //// //Set_page_address //// LCD_CD_REG(0x2B); //Set_page_address //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0x00);//00 //// LCD_CD_DATA(0x01); //// LCD_CD_DATA(0x8F);//8f // LCD_CD_REG(0x29); //display on // delay_ms(100); // LCD_CD_REG(0x2c); //display on //chimei // LCD_CD_REG(0xf4); // LCD_CD_DATA(0x55); // LCD_CD_DATA(0x55); // LCD_CD_DATA(0x73); // LCD_CD_DATA(0x73); // LCD_CD_DATA(0x20); // // LCD_CD_REG(0xf5); // LCD_CD_DATA(0x12); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0xf0); // LCD_CD_DATA(0x70); // delay_ms(10); // // LCD_CD_REG(0xf3); // LCD_CD_DATA(0xff); // LCD_CD_DATA(0x2a); // LCD_CD_DATA(0x2a); // LCD_CD_DATA(0x09); // LCD_CD_DATA(0x33); // LCD_CD_DATA(0x7F); // LCD_CD_DATA(0x7F); // LCD_CD_DATA(0x20); // // LCD_CD_REG(0x3a); // LCD_CD_DATA(0x05); // // LCD_CD_REG(0xf2); // LCD_CD_DATA(0x10); // LCD_CD_DATA(0x10); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x02); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x02); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x20); // LCD_CD_DATA(0x04);// 0x04 niuweifeng 20101102 0x00 分两段显示 // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x15); // // LCD_CD_REG(0xf6); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x80);// 0x00 niuweifeng 20101102 // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // // LCD_CD_REG(0xf7); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2F); // LCD_CD_DATA(0x36); // LCD_CD_DATA(0x0C); // LCD_CD_DATA(0x12); // LCD_CD_DATA(0x2A); // LCD_CD_DATA(0x21); // LCD_CD_DATA(0x07); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xf8); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x2F); // LCD_CD_DATA(0x30); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x38); // LCD_CD_DATA(0x06); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xf9); // LCD_CD_DATA(0x8A); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x25); // LCD_CD_DATA(0x2f); // LCD_CD_DATA(0x37); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x1F); // LCD_CD_DATA(0x1D); // LCD_CD_DATA(0x04); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // // LCD_CD_REG(0xfA); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x0B); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x35); // LCD_CD_DATA(0x36); // LCD_CD_DATA(0x39); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0A); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xfB); // LCD_CD_DATA(0x8A); // LCD_CD_DATA(0x31); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x0E); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x2f); // LCD_CD_DATA(0x34); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x24); // LCD_CD_DATA(0x1E); // LCD_CD_DATA(0x07); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xfC); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x18); // LCD_CD_DATA(0x03); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x38); // LCD_CD_DATA(0x3C); // LCD_CD_DATA(0x3C); // LCD_CD_DATA(0x3F); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xFD); // LCD_CD_DATA(0x22);//0x11 // LCD_CD_DATA(0x01); // // LCD_CD_REG(0x36); //// LCD_CD_DATA(0xe8); //排线向左,横屏 // LCD_CD_DATA(0x48); // // LCD_CD_REG(0x35); // LCD_CD_DATA(0x00); // // // // LCD_CD_REG(0xF1); // LCD_CD_DATA(0x5A); // // LCD_CD_REG(0xFF); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x40);//0x40 // // LCD_CD_REG(0x11); // delay_ms(120); //// // LCD_CD_REG(0xF1); // LCD_CD_DATA(0x00); // // LCD_CD_REG(0x29); // delay_ms(40); // LCD_CD_REG(0xf4); // LCD_CD_DATA(0x5e); // LCD_CD_DATA(0x59); // LCD_CD_DATA(0x52); // LCD_CD_DATA(0x52); // LCD_CD_DATA(0x11); // // LCD_CD_REG(0xf5); // LCD_CD_DATA(0x12); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x0b); // LCD_CD_DATA(0xf0); // LCD_CD_DATA(0x00); // delay_ms(10); // // LCD_CD_REG(0xf3); // LCD_CD_DATA(0xff); // LCD_CD_DATA(0x2a); // LCD_CD_DATA(0x2a); // LCD_CD_DATA(0x0a); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x72); // LCD_CD_DATA(0x72); // LCD_CD_DATA(0x20); // // LCD_CD_REG(0x3a); // LCD_CD_DATA(0x55); // // LCD_CD_REG(0xf2); // LCD_CD_DATA(0x17); // LCD_CD_DATA(0x17); // LCD_CD_DATA(0x0f); // LCD_CD_DATA(0x08); // LCD_CD_DATA(0x08); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x04);// 0x04 niuweifeng 20101102 0x00 分两段显示 // LCD_CD_DATA(0x13); // LCD_CD_DATA(0x00); // // LCD_CD_REG(0xf6); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x08);// 0x00 niuweifeng 20101102 // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // // LCD_CD_REG(0xf7); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x05); // LCD_CD_DATA(0x0d); // LCD_CD_DATA(0x1f); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2d); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x20); // LCD_CD_DATA(0x01); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xf8); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x05); // LCD_CD_DATA(0x0d); // LCD_CD_DATA(0x1f); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2d); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x20); // LCD_CD_DATA(0x01); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xf9); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x05); // LCD_CD_DATA(0x0d); // LCD_CD_DATA(0x1f); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2d); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x20); // LCD_CD_DATA(0x01); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // // LCD_CD_REG(0xfA); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x05); // LCD_CD_DATA(0x0d); // LCD_CD_DATA(0x1f); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2d); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x20); // LCD_CD_DATA(0x01); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xfB); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x05); // LCD_CD_DATA(0x0d); // LCD_CD_DATA(0x1f); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2d); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x20); // LCD_CD_DATA(0x01); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xfC); // LCD_CD_DATA(0x80); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x05); // LCD_CD_DATA(0x0d); // LCD_CD_DATA(0x1f); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x2d); // LCD_CD_DATA(0x14); // LCD_CD_DATA(0x15); // LCD_CD_DATA(0x26); // LCD_CD_DATA(0x20); // LCD_CD_DATA(0x01); // LCD_CD_DATA(0x22); // LCD_CD_DATA(0x22); // // LCD_CD_REG(0xFD); // LCD_CD_DATA(0x11);//0x11 // LCD_CD_DATA(0x01); // // LCD_CD_REG(0x36); //// LCD_CD_DATA(0xe8); //排线向左,横屏 // LCD_CD_DATA(0x08); // // LCD_CD_REG(0x35); // LCD_CD_DATA(0x00); // // // //// LCD_CD_REG(0x2A); //排线向左,横屏 列数为 400. //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0xef); //// //// LCD_CD_REG(0x2B);//排线向左,横屏 行数为 240. //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0x00); //// LCD_CD_DATA(0x01); //// LCD_CD_DATA(0x8f); // // LCD_CD_REG(0xF1); // LCD_CD_DATA(0x5A); // // LCD_CD_REG(0xFF); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x00); // LCD_CD_DATA(0x40);//0x40 // // LCD_CD_REG(0x11); // delay_ms(120); //// // LCD_CD_REG(0xF1); // LCD_CD_DATA(0x00); // // LCD_CD_REG(0x29); // delay_ms(40); } void LcdWirteColorData(unsigned int color) { // LCD_CS=0; LCD_CD=1; SPI_RW(color>>8); SPI_RW(color); // LCD_CS=1; } void LCD_Clear(unsigned int color) { unsigned int i,j; LCD_CD=1; for(i=0;i<400;i++) { for(j=0;j<240;j++) { SPI_RW(color>>8); SPI_RW(color); } } } void LCD_SET_WIN(void) { LCD_CD_REG(0x2A); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0xef); LCD_CD_REG(0x2B); LCD_CD_DATA(0x00); LCD_CD_DATA(0x00); LCD_CD_DATA(0x01); LCD_CD_DATA(0x8f); LCD_CD_REG(0x002C); } void draw_pic() { int i=0,m=0,n=0 ; LCD_CD=1; for(m=0;m<400;m++) //刷图片 { for(n=0;n<240;n++) { if(i == 19200) i = 0; // SPI_RW(image[i*2+1]); // SPI_RW(image[i*2]); SPI_RW(image[i*2+1]); SPI_RW(image[i*2]); i++; } } } void main() { LCD_Init(); LCD_SET_WIN(); while(1) { LCD_Clear(WHITE); LCD_Clear(0); LCD_Clear(RED); LCD_Clear(GREEN); LCD_Clear(BLUE); draw_pic(); while(1); } }