[51单片机] TFT2.4彩屏1 [文字显示 画矩形]
2014-04-04 20:49
197 查看
>_<:因为要驱动彩屏,所以这里采用STC90C516RD+单片机[51的89C52也行,就是可能内存在接下来的实验中可能会内存不够],晶振尽量采用高一点的,这里采用24MHz的。
>_<:这里的引脚连接为:
sbit CS=P2^2; //片选
sbit RES=P2^1; //复位
sbit RS=P2^4; //数据/命令选择
sbit RW=P2^5;
数据口使用P0
>_<:全部代码:
gb1616.h
>_<:这里的引脚连接为:
sbit CS=P2^2; //片选
sbit RES=P2^1; //复位
sbit RS=P2^4; //数据/命令选择
sbit RW=P2^5;
数据口使用P0
>_<:全部代码:
// ------------------ 汉字字模的数据结构定义 ------------------------ // struct typFNT_GB16 // 汉字字模数据结构 { unsigned char Index[3]; // 汉字内码索引 unsigned char Msk[32]; // 点阵码数据 }; ///////////////////////////////////////////////////////////////////////// // 汉字字模表 // // 汉字库: 宋体16.dot,横向取模左高位,数据排列:从左到右从上到下 // ///////////////////////////////////////////////////////////////////////// code struct typFNT_GB16 codeGB_16[] = // 数据表 { /*-- 文字: 上 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "上",0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0xF8,0x01,0x00, 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0x7F,0xFE,0x00,0x00, /*-- 文字: 海 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "海",0x21,0x00,0x11,0x00,0x11,0xFE,0x02,0x00,0x97,0xF8,0x52,0x88,0x52,0x48,0x12,0x08, 0x2F,0xFE,0x22,0x88,0xE2,0x48,0x22,0x08,0x23,0xFE,0x20,0x08,0x20,0x28,0x20,0x10, /*-- 文字: 浩 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "浩",0x20,0x40,0x10,0x40,0x12,0x40,0x03,0xFC,0x8A,0x40,0x4C,0x40,0x50,0x40,0x17,0xFE, 0x10,0x00,0x20,0x00,0xE3,0xFC,0x22,0x04,0x22,0x04,0x22,0x04,0x23,0xFC,0x22,0x04, /*-- 文字: 豚 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "豚",0x00,0x00,0x7F,0xFE,0x48,0x40,0x48,0x88,0x79,0x8C,0x4E,0x50,0x48,0xA0,0x49,0x30, 0x7A,0x70,0x4C,0xA8,0x49,0x28,0x4A,0x26,0x4C,0x24,0x48,0x20,0xA8,0xA0,0x90,0x40, /*-- 文字: 电 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "电",0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08, 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00, /*-- 文字: 子 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "子",0x00,0x00,0x3F,0xF0,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x01,0x00,0x01,0x04, 0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00, /*-- 文字: 科 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "科",0x06,0x08,0x78,0x88,0x08,0x48,0x08,0x48,0xFE,0x08,0x18,0x88,0x1C,0x48,0x2A,0x48, 0x28,0x0E,0x48,0x78,0x8B,0x88,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08, /*-- 文字: 技 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "技",0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x14,0x20,0x19,0xFC,0x31,0x08, 0xD0,0x88,0x10,0x90,0x10,0x60,0x10,0x60,0x10,0x90,0x11,0x0E,0x56,0x04,0x20,0x00, /*-- 文字: 有 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "有",0x01,0x00,0x01,0x00,0x7F,0xFE,0x02,0x00,0x04,0x00,0x0F,0xF0,0x18,0x10,0x28,0x10, 0x4F,0xF0,0x88,0x10,0x08,0x10,0x0F,0xF0,0x08,0x10,0x08,0x90,0x08,0x70,0x08,0x20, /*-- 文字: 限 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "限",0x00,0x00,0xFB,0xF8,0x92,0x08,0x93,0xF8,0xA2,0x08,0xA2,0x08,0x93,0xF8,0x8A,0x80, 0x8A,0x48,0xAA,0x50,0x92,0x20,0x82,0x20,0x82,0x10,0x82,0x8E,0x83,0x04,0x82,0x00, /*-- 文字: 公 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "公",0x00,0x00,0x04,0x40,0x06,0x40,0x04,0x40,0x08,0x20,0x08,0x10,0x10,0x18,0x22,0x0E, 0x43,0x04,0x02,0x00,0x04,0x20,0x08,0x10,0x11,0xF8,0x3F,0x18,0x10,0x10,0x00,0x00, /*-- 文字: 司 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "司",0x00,0x00,0x3F,0xFC,0x00,0x04,0x00,0x04,0x7F,0xE4,0x00,0x04,0x00,0x04,0x3F,0xC4, 0x20,0x44,0x20,0x44,0x3F,0xC4,0x20,0x44,0x20,0x04,0x00,0x14,0x00,0x08,0x00,0x00, /*-- 文字: 专 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "专",0x01,0x00,0x01,0x00,0x3F,0xF8,0x02,0x00,0x02,0x00,0xFF,0xFE,0x04,0x00,0x08,0x20, 0x0F,0xF0,0x00,0x20,0x00,0x40,0x02,0x80,0x01,0x00,0x00,0x80,0x00,0x40,0x00,0x00, /*-- 文字: 业 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "业",0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x44,0x44,0x46,0x24,0x4C,0x24,0x48,0x14,0x50, 0x1C,0x50,0x14,0x60,0x04,0x40,0x04,0x40,0x04,0x44,0xFF,0xFE,0x00,0x00,0x00,0x00, /*-- 文字: 开 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "开",0x00,0x00,0x7F,0xFE,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0xFF,0xFE,0x04,0x20, 0x04,0x20,0x04,0x20,0x08,0x20,0x08,0x20,0x10,0x20,0x20,0x20,0x40,0x20,0x00,0x00, /*-- 文字: 发 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "发",0x02,0x00,0x22,0x40,0x22,0x30,0x22,0x10,0x7F,0xFE,0x24,0x00,0x04,0x00,0x07,0xE0, 0x0C,0x20,0x0A,0x20,0x0A,0x20,0x11,0x40,0x20,0x80,0x41,0x60,0x86,0x1C,0x18,0x08, /*-- 文字: 板 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "板",0x10,0x1C,0x11,0xE0,0x11,0x00,0x11,0x00,0xFD,0x00,0x11,0xFC,0x39,0x84,0x35,0x48, 0x55,0x48,0x52,0x30,0x92,0x10,0x12,0x30,0x14,0x48,0x10,0x8E,0x11,0x04,0x00,0x00, /*-- 文字: 工 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "工",0x00,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00, 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00, /*-- 文字: 控 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "控",0x10,0x00,0x10,0x20,0x10,0x10,0xFD,0xFE,0x11,0x04,0x10,0x50,0x14,0x8C,0x19,0x04, 0x30,0x00,0xD1,0xFC,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x53,0xFE,0x20,0x00, /*-- 文字: 设 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "设",0x40,0x00,0x21,0xF0,0x31,0x10,0x21,0x10,0x01,0x10,0x01,0x10,0xE2,0x0E,0x25,0xF8, 0x21,0x08,0x21,0x08,0x20,0x90,0x20,0x90,0x28,0x60,0x30,0x90,0x23,0x0E,0x0C,0x04, /*-- 文字: 备 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "备",0x08,0x00,0x0F,0xF0,0x08,0x20,0x14,0x20,0x22,0x40,0x41,0x80,0x02,0x40,0x0C,0x30, 0x30,0x1E,0xDF,0xF4,0x11,0x10,0x1F,0xF0,0x11,0x10,0x11,0x10,0x1F,0xF0,0x10,0x10, /*-- 文字: 技 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "技",0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x14,0x20,0x19,0xFC,0x31,0x08, 0xD0,0x88,0x10,0x90,0x10,0x60,0x10,0x60,0x10,0x90,0x11,0x0E,0x56,0x04,0x20,0x00, /*-- 文字: 术 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "术",0x01,0x00,0x01,0x20,0x01,0x10,0x01,0x00,0xFF,0xFE,0x01,0x00,0x03,0x80,0x05,0x40, 0x05,0x20,0x09,0x10,0x11,0x18,0x21,0x0E,0xC1,0x04,0x01,0x00,0x01,0x00,0x00,0x00, /*-- 文字: 支 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "支",0x01,0x00,0x01,0x00,0x01,0x00,0x7F,0xFE,0x01,0x00,0x01,0x00,0x1F,0xF8,0x08,0x10, 0x04,0x20,0x04,0x20,0x02,0x40,0x01,0x80,0x02,0x40,0x0C,0x30,0x70,0x0E,0x00,0x04, /*-- 文字: 持 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "持",0x10,0x40,0x10,0x40,0x13,0xFC,0xFC,0x40,0x10,0x40,0x17,0xFE,0x14,0x10,0x18,0x10, 0x37,0xFE,0xD0,0x10,0x11,0x10,0x10,0xD0,0x10,0x90,0x10,0x10,0x50,0x50,0x20,0x20, /*-- 文字: 论 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "论",0x40,0x40,0x20,0x40,0x30,0xA0,0x20,0x90,0x01,0x08,0x02,0x06,0xE5,0x04,0x21,0x10, 0x21,0x38,0x21,0xC0,0x21,0x00,0x25,0x00,0x29,0x04,0x31,0x04,0x20,0xFC,0x00,0x00, /*-- 文字: 坛 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ "坛",0x00,0x00,0x11,0xFC,0x10,0x00,0x10,0x00,0x10,0x00,0xFC,0x00,0x13,0xFE,0x10,0x40, 0x10,0x60,0x10,0x80,0x1C,0x88,0x31,0x04,0xC2,0x7E,0x07,0xC6,0x02,0x04,0x00,0x00, };
gb1616.h
#include"reg52.h" #define WINDOW_XADDR_START 0x0050 // Horizontal Start Address Set #define WINDOW_XADDR_END 0x0051 // Horizontal End Address Set #define WINDOW_YADDR_START 0x0052 // Vertical Start Address Set #define WINDOW_YADDR_END 0x0053 // Vertical End Address Set #define GRAM_XADDR 0x0020 // GRAM Horizontal Address Set #define GRAM_YADDR 0x0021 // GRAM Vertical Address Set #define GRAMWR 0x0022 // memory write sbit CS=P2^2; //片选 sbit RES=P2^1; //复位 sbit RS=P2^4; //数据/命令选择 sbit RW=P2^5; //数据口使用P0 //====================================================// void main (void); void ILI9325_Initial(void); void show_colour_bar (void); void Write_Cmd_Data(unsigned char x, unsigned int y); void Write_Cmd(unsigned char DH,unsigned char DL); void Write_Data(unsigned char DH,unsigned char DL); void delayms(unsigned int tt); void show_photo(void); void Show_RGB (unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1,unsigned int Color); unsigned char code pic[]; void Write_Data_U16(unsigned int y); static void LCD_SetPos(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1); void ClearScreen(unsigned int bColor); void LCD_PutChar8x16(unsigned short x, unsigned short y, char c, unsigned int fColor, unsigned int bColor); void LCD_PutChar(unsigned short x, unsigned short y, char c, unsigned int fColor, unsigned int bColor); void LCD_PutString(unsigned short x, unsigned short y, char *s, unsigned int fColor, unsigned int bColor); void LCD_PutChar8x8(unsigned short x, unsigned short y, char c, unsigned int fColor, unsigned int bColor); void PutGB1616(unsigned short x, unsigned short y, unsigned char c[2], unsigned int fColor,unsigned int bColor); //================================================// unsigned int w,o; void main(void) { CS=1; delayms(5); RES=0; delayms(5); RES=1; delayms(5); ILI9325_Initial(); while(1) { /*Show_RGB(0x0000); Show_RGB(0xffff); Show_RGB(0xf800); Show_RGB(0x07e0); Show_RGB(0x001f);*/ //LCD_SetPos(48,68,29,69); ClearScreen(0xf800);//用某种颜色刷屏 //Show_RGB (0,240,0,320,0xf800); /*Show_RGB (0,120,0,160,0x001f); Show_RGB (0,120,161,320,0xffff); Show_RGB (121,240,161,320,0x07e0); Show_RGB (121,240,0,160,0x0000); */ show_colour_bar();//显示7个横条的函数 //这里仅支持几个汉字,在gb1616里有定义,想更多要找汉字库 LCD_PutString(40,140,"1234567890",0x001f,0xf800);//放置string,位置,tring,前景,背景 LCD_PutString(0,160,"abcdefghijklmnopqistuvwxyz",0x001f,0xf800); LCD_PutString(0,180,"`,./<>';:[]{}\|?)(-=+*&^%$",0x001f,0xf800); /**/ //show_colour_bar(); //show_photo(); while(1); } } /* 用某种颜色刷屏 参数:4位16进制数 */ void ClearScreen(unsigned int bColor) { unsigned int i,j; LCD_SetPos(0,240,0,320);//定义显示窗体,x0,x1,y0,y1 for (i=0;i<320;i++) { for (j=0;j<240;j++) Write_Data_U16(bColor); } } ///////////////////////////////////////////////////////////// #include "8X16.h" void LCD_PutChar8x16(unsigned short x, unsigned short y, char c, unsigned int fColor, unsigned int bColor) { unsigned int i,j; LCD_SetPos(x,x+8-1,y,y+16-1); for(i=0; i<16;i++) { unsigned char m=Font8x16[c*16+i]; for(j=0;j<8;j++) { if((m&0x80)==0x80) { Write_Data_U16(fColor); } else { Write_Data_U16(bColor); } m<<=1; } } } void LCD_PutChar(unsigned short x, unsigned short y, char c, unsigned int fColor, unsigned int bColor) { LCD_PutChar8x16( x, y, c, fColor, bColor ); } ///////////////////////////////////////////////////////////// #include "GB1616.h" //16*16汉字字模 void PutGB1616(unsigned short x, unsigned short y, unsigned char c[2], unsigned int fColor,unsigned int bColor){ unsigned int i,j,k; LCD_SetPos(x, x+16-1,y, y+16-1); for (k=0;k<64;k++) { //64标示自建汉字库中的个数,循环查询内码 if ((codeGB_16[k].Index[0]==c[0])&&(codeGB_16[k].Index[1]==c[1])){ for(i=0;i<32;i++) { unsigned short m=codeGB_16[k].Msk[i]; for(j=0;j<8;j++) { if((m&0x80)==0x80) { Write_Data_U16(fColor); } else { Write_Data_U16(bColor); } m<<=1; } } } } } /* 在屏上显示字符串 参数:x,y,*s,fColor,bColor 实现:遍历字符串,对于每一个字符判断是汉字还是字符,分别用PutGB1616(...)或LCD_PutChar(...)实现显示 */ void LCD_PutString(unsigned short x, unsigned short y, unsigned char *s, unsigned int fColor, unsigned int bColor) { unsigned char l=0; while(*s){//遍历字符串 if(*s < 0x80)//非汉字 { LCD_PutChar(x+l*8,y,*s,fColor,bColor); s++;l++;//++1 } else//汉字 { PutGB1616(x+l*8,y,(unsigned char*)s,fColor,bColor); s+=2;l+=2;//++2 } } } //==================== 显示R G B 顔色 ====================// /* 在特定矩形内显示颜色 参数:x0,x1,y0,y1,16进制颜色 */ void Show_RGB (unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1,unsigned int Color) { unsigned int i,j; //address_set(); LCD_SetPos(x0,x1,y0,y1);//定义显示窗体[矩形] for (i=y0;i<=y1;i++) { for (j=x0;j<=x1;j++) Write_Data_U16(Color); } } //====================== 显示彩条 ======================// /* 显示7个彩条 */ void show_colour_bar (void) { int V,H; LCD_SetPos(0,240,0,320);//320x240 for(H=0;H<240;H++) for(V=0;V<40;V++) Write_Data(0xf8,0x00); for(H=0;H<240;H++) for(V=40;V<80;V++) Write_Data(0x07,0xe0); for(H=0;H<240;H++) for(V=80;V<120;V++) Write_Data(0x00,0x1f); for(H=0;H<240;H++) for(V=120;V<160;V++) Write_Data(0xff,0xe0); for(H=0;H<240;H++) for(V=160;V<200;V++) Write_Data(0xf8,0x1f); for(H=0;H<240;H++) for(V=200;V<240;V++) Write_Data(0x07,0xff); for(H=0;H<240;H++) for(V=240;V<280;V++) Write_Data(0xff,0xff); for(H=0;H<240;H++) for(V=280;V<320;V++) Write_Data(0x00,0x00); } void show_photo(void) { unsigned char j; unsigned int i; unsigned long s=0; LCD_SetPos(0,240,0,320);//320x240 for (i=0;i<75;i++) { for (j=0;j<240;j++) Write_Data(0xff,0xff); } for (i=0;i<170;i++) { for (j=0;j<55;j++) Write_Data(0xff,0xff); for (j=0;j<130;j++) Write_Data(pic[s++],pic[s++]); for (j=0;j<55;j++) Write_Data(0xff,0xff); } for (i=0;i<75;i++) { for (j=0;j<240;j++) Write_Data(0xff,0xff); } } //=======================================================// void Write_Cmd_Data(unsigned char x,unsigned int y) { unsigned char m,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n); } /* 用4位16进制写数据 参数:4位16进制:如:0xf800 */ void Write_Data_U16(unsigned int y) { unsigned char m,n; m=y>>8; n=y; Write_Data(m,n);//H,L } /* 写命令函数 参数:DH,DL 功能: */ void Write_Cmd(unsigned char DH,unsigned char DL) { CS=0; RS=0; P0=DH; RW=0; RW=1; P0=DL; RW=0; RW=1; CS=1; } /* 写数据函数 参数:DH,DL 功能: */ void Write_Data(unsigned char DH,unsigned char DL) { CS=0; RS=1; P0=DH; RW=0; RW=1; P0=DL; RW=0; RW=1; CS=1; } //======================================================= void delayms(unsigned int count) { int i,j; for(i=0;i<count;i++) { for(j=0;j<260;j++); } } //===================== 初始化代码 =======================// void ILI9325_Initial(void) { delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000); //power on sequence VGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000); //vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d); //0x001b //delayms(100); //vom amplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vom H Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D); //gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);// 0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);// 0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133); // Write_Cmd_Data(0x0022);// } /*===========================================================*/ /************************************************************* 函数名称:LCD_DefineDispWindow 功 能:定义显示窗体 参 数: x0: 窗体中X坐标中较小者 x1: 窗体中X坐标中较大者 y0: 窗体中Y坐标中较小者 y1: 窗体中Y坐标中较大者 返 回 值:无 *************************************************************/ static void LCD_SetPos(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1) { Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd (0x00,0x22);//LCD_WriteCMD(GRAMWR); }
相关文章推荐
- [51单片机] TFT2.4彩屏2 [32*32文字显示]
- STM32学习笔记——TFT2.4彩屏显示图片
- [51单片机] TFT2.4彩屏3 [自制动画效果-滑块+吊钩]
- STM32学习笔记——TFT2.4彩屏显示字符和汉字
- STM32学习笔记——TFT2.4彩屏显示图片
- 单片机读取SD卡中BMP图片文件并送往TFT彩屏上显示(测试成功)(一)
- 单片机读取SD卡中BMP图片文件并送往TFT彩屏上显示(测试成功)(二)
- 在矩形框中水平或垂直显示多行文字
- 制作电子相册(sd卡读取bmp图片显示在tft彩屏上)读取fat32的步骤非常简单的方法
- 51单片机LED点阵显示文字
- 51单片机LED点阵显示文字
- OpenCV在图像上画线、矩形、椭圆、多边形、填充的多边形、圆、显示文字
- STM32+TFT彩屏实现汉字字库显示
- Android中实现在矩形框中输入文字显示剩余字数的功能
- 【opencv的学习】直线,矩形,圆,文字显示的初步尝试
- iOS 特种label:镂空文字、类歌词进度显示文字
- html文字居中对齐显示
- centos 中iBus输入法不显示文字选择框
- IntelliJ IDEA 2017.2.5 中文输入后,输入框文字不随指针显示问题
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等