ILI9341初始化代码

合集下载

驱动芯片为ILI9341初始化代码

驱动芯片为ILI9341初始化代码

TFT-LCD初始化代码Product Model: GST3D2051-FPC-ADriver IC:ILI9341 -Dot arrangement :240(RGB)×320LCD type :3.2’’TFTInterface :i80-system 16-bit interfaceOthers:驱动芯片为ILI9341,控制器LPC2220,总线方式,数据宽度16位void Init_DevTFTLcd(void){PINSEL2 &= 0xfffffff7;IO1DIR |= 0x00020000;TFTLCD_RESET_H;delay(1); //延时1msTFTLCD_RESET_L;delay(10);TFTLCD_RESET_H;delay(120);//////////////////这段代码对盛世创业和随珑(恒凯辉)的9341驱动芯片通用///////////////初始化寄存器的顺序没有前后之分,但对于寄存器的值很重要//////////////TRANS_W_REG(0x0011); //这句放到后面效果一样,//如下所有初始化的命令没有顺序关系delay(120); //延时60和延时120效果一样TRANS_W_REG(0x00CF);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0081); //参数为C1也可以TRANS_W_DA TA(0x0030);TRANS_W_REG(0x00ED);TRANS_W_DA TA(0x0064);TRANS_W_DA TA(0x0003);TRANS_W_DA TA(0x0012);TRANS_W_DA TA(0x0081);TRANS_W_REG(0x00E8);TRANS_W_DA TA(0x0085);TRANS_W_DA TA(0x0000); //参数为0x0010也可以TRANS_W_DA TA(0x0079); //参数为0x007A也可以TRANS_W_REG(0x00CB);TRANS_W_DA TA(0x0039);TRANS_W_DA TA(0x002C);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0034);TRANS_W_DA TA(0x0002);TRANS_W_REG(0x00F7);TRANS_W_DA TA(0x0020);TRANS_W_REG(0x00EA);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0000);TRANS_W_REG(0x00C0);TRANS_W_DA TA(0x002e); //参数0x0021也是可以的TRANS_W_REG(0x00C1);TRANS_W_DA TA(0x0012); //参数0x0013也是可以的TRANS_W_REG(0x00C5);TRANS_W_DA TA(0x0050); //参数0x003F也是可以的TRANS_W_DA TA(0x0019); //参数0x003C也是可以的TRANS_W_REG(0x00C7);TRANS_W_DA TA(0x0090); //参数0x00B3也是可以的//////////////////////////没有这里显示的是乱码//////////////////////////////右边屏幕空白,左边有字符显示但是是乱码,显示字符区的底色是蓝色//// //////////////供应商给的参考代码里面居然没有这两个命令/////////////////TRANS_W_REG(0x002A);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0001);TRANS_W_DA TA(0x003F);TRANS_W_REG(0x002B);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x00EF);//////////////////////////没有这里显示的是乱码/////////////TRANS_W_REG(0x0036); // Memory Access ControlTRANS_W_DA TA(0x00A8);//参数为0x00C8时右边屏幕空白,左边有字符显示但是是乱码,显示字符区的底色是蓝色//参数为0x0008时左边屏幕空白,右边有字符显示但是是乱码,显示字符区的底色是蓝色//参数为0x0013时左边屏幕空白,右边有字符显示但是是乱码,显示字符区的底色是红色//这里的值的设定和你的程序对寄存器的读写非常有关,参阅ILI9341的datasheetTRANS_W_REG(0x003A);TRANS_W_DA TA(0x0055);TRANS_W_REG(0x00B1);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0014); //参数分别为0x001B,0x0029,0x0014似乎影响不大TRANS_W_REG(0x00B6);TRANS_W_DA TA(0x000A);TRANS_W_DA TA(0x00A2);///////////这里的命令似乎不影响效果//////////////TRANS_W_REG(0x00F6);TRANS_W_DA TA(0x0001);TRANS_W_DA TA(0x0030);///////////////////////////////////////////////////////////////////////TRANS_W_REG(0x00F2);TRANS_W_DA TA(0x0000);TRANS_W_REG(0x0026);TRANS_W_DA TA(0x0001);/*TRANS_W_REG(0x00E0);TRANS_W_DA TA(0x000F);TRANS_W_DA TA(0x0024);TRANS_W_DA TA(0x0021);TRANS_W_DA TA(0x000C);TRANS_W_DA TA(0x000F);TRANS_W_DA TA(0x0009);TRANS_W_DA TA(0x004D);TRANS_W_DA TA(0x00B8);TRANS_W_DA TA(0x003C);TRANS_W_DA TA(0x000A);TRANS_W_DA TA(0x0013);TRANS_W_DA TA(0x000A);TRANS_W_DA TA(0x0005);TRANS_W_DA TA(0x0000);TRANS_W_REG(0x00E1);TRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x001B);TRANS_W_DA TA(0x001E);TRANS_W_DA TA(0x0003);TRANS_W_DA TA(0x0010);TRANS_W_DA TA(0x0006);TRANS_W_DA TA(0x0032);TRANS_W_DA TA(0x0047);TRANS_W_DA TA(0x0043);TRANS_W_DA TA(0x0005);TRANS_W_DATA(0x000C);TRANS_W_DA TA(0x000B);TRANS_W_DA TA(0x0035);TRANS_W_DA TA(0x003A);TRANS_W_DA TA(0x000F);//上面的0x00E0和0x00E1的参数改为下面的参数效果似乎一样*/TRANS_W_REG(0x00E0); //Set GammaTRANS_W_DA TA(0x000F);TRANS_W_DA TA(0x0022);TRANS_W_DA TA(0x001C);TRANS_W_DA TA(0x001B);TRANS_W_DA TA(0x0008);TRANS_W_DA TA(0x000F);TRANS_W_DA TA(0x0048);TRANS_W_DA TA(0x00B8);TRANS_W_DA TA(0x0034);TRANS_W_DA TA(0x0005);TRANS_W_DA TA(0x000C);TRANS_W_DA TA(0x0009);TRANS_W_DA TA(0x000F);TRANS_W_DA TA(0x0007);TRANS_W_DA TA(0x0000);TRANS_W_REG(0x00E1); //Set GammaTRANS_W_DA TA(0x0000);TRANS_W_DA TA(0x0024);TRANS_W_DA TA(0x0007);TRANS_W_DA TA(0x0010);TRANS_W_DA TA(0x0007);TRANS_W_DA TA(0x0038);TRANS_W_DA TA(0x0047);TRANS_W_DA TA(0x004B);TRANS_W_DA TA(0x000A);TRANS_W_DA TA(0x0013);TRANS_W_DA TA(0x0006);TRANS_W_DA TA(0x0030);TRANS_W_DA TA(0x0038);TRANS_W_DA TA(0x000F);// TRANS_W_REG(0x0011); //前面的0x0011命令写在这里也是可以的// delay(120);TRANS_W_REG(0x0029);delay(10);TRANS_W_REG(0x002C); //没有这句就白屏,并闪烁//但是有的供应商给的参考代码里面没有这一句}。

ILI9341液晶显示

ILI9341液晶显示

ILI9341液晶显⽰17.1液晶显⽰原理TFT-LCD(Thin Film Transistor Liquid Crystal Display)即薄膜晶体管液晶显⽰器,是微电⼦技术与液晶显⽰器技术巧妙结合的的⼀种技术。

CRT显⽰器的⼯作原理是通电后灯丝发热,阴极被激发后发射出电⼦流,电⼦流受到⾼电压的⾦属层的加速,经过透镜聚焦形成极细的电⼦束打在荧光屏上,使荧光粉发光显⽰图像。

LCD显⽰器需要来⾃背后的光源,当光束通过这层液晶时,液晶会呈不规则扭转形状(形状由TFT上的信号与电压改变实现),所以液晶更像是⼀个个闸门,选择光线穿透与否,这样就可以在屏幕上看到深浅不⼀,错落有致的图像。

⽬前主流的LCD显⽰器都是TFT-LCD,是由原有液晶技术发展⽽来。

TFT液晶为每个像素都设有⼀个半导体开关,以此做到完全的单独控制⼀个像素点,液晶材料被夹在TFT阵列和彩⾊滤光⽚之间,通过改变刺激液晶的电压值就可以控制最后出现的光线强度和⾊彩,如图7-1所⽰。

图7-1 液晶显⽰屏结构图Kingst-32F1开发板配套的TFT-LCD是3.2⼨⼤⼩,分辨率为240*320,即⼀共有240×320=76800个像素点,每个像素都设有⼀个半导体开关,像素之间是相对独⽴的,这么多像素如何控制呢?联想⼀下51单⽚机驱动LED点阵时,为了减少IO⼝的使⽤,采⽤三⼋译码器驱动点阵模块。

同理,TFT-LCD也可以⽤专门的驱动器来驱动,教材所⽤的TFT-LCD采⽤ILI9341驱动芯⽚。

该控制芯⽚是封装在TFT-LCD内部,只留有外部引脚接⼝。

对于⽤户来说,只要掌握如何向ILI9341控制器发送指令和读写数据,并不需要再设计额外的驱动电路,该液晶的具体参数如表7-1所⽰。

7.1.1ILI9341硬件接⼝和像素格式ILI9341驱动芯⽚主要由接⼝电路、显存(GRAM)、LCD驱动电路、背光控制、电源等部分组成,主要结构如图7-2所⽰。

ILI9341初始化程序_带注释

ILI9341初始化程序_带注释

ILI9341a-Si TFT LCD Single Chip Driver with 240RGBx320 Resolution and 262K colorApplication NotesVersion: Preliminary V0.7Date: Mar. 22th 2011ILI TECHNOLOGY CORP.8F, No.38, Taiyuan St., Jhubei City, Hsinchu County 302,Taiwan, R.O.CTel.886-3-5600099; Fax.886-3-56000551.LGD 2.6” PANEL (3)1.1FPC A PPLICATION C IRCUIT (3)1.2LG2.8” I NITIAL C ODE (4)2.1BOE 2.0_2.4_3.14 FPC A PPLICATION C IRCUIT (8)2.2BOE2.0” I NITIAL C ODE (9)2.3BOE2.4” I NITIAL C ODE (12)2.3BOE2.4” I NITIAL C ODE (15)3.TM 2.2” 2.4” PANEL (20)3.1FPC A PPLICATION C IRCUIT (20)3.2TM2.4 INCH INITIAL CODE (21)3.3TM2.8 INCH INITIAL CODE (25)4.1HSD2.8 INCH INITIAL CODE (29)R EVISION H ISTORY1. LGD2.6/2.8 Panel1.1 FPC Application CircuitD B 13S D O C 11+V S Y N CI M 1V C O R EC 11U F /6.3VD B 0C 12+C 22+L E D +C S X R D X D B 15V G HI M 3L E D -C81U F /6.3V D B 1C 12-Connector 401234567891011121314151617181920212223242526272829333631323940373830343512345678910111213141516171819202122232425262728293336313239403738303435E N A B L E D B 5D B 11D B 3D B 14I M 0V D D I D B 10T E D B 2C 61U F /10V C 41U F /25VG N D D B 16C 22-V C I C 71U F /10V C 31U F /6.3VD B 7V C LD B 8V G LG N D D C X C 51U F /25VH S Y N C D B 12W R X C 91U F /6.3VC 21-D B 6D B 4C 21U F /6.3V S D A D O T C L K C 11-D B 17RE S X C 21+D D V D HI M 2D B 91.2 LG2.8” Initial Codevoid ILI9341_LG2.8_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************// LCD_nRESET = 1; delayms(1);// Delay 1msLCD_nRESET = 0; delayms(10);// Delay 10ms // This delay time is necessaryLCD_nRESET = 1; delayms(120);// Delay 120 ms//************* Start Initial Sequence **********// LCD_ILI9341_CMD(0xCB); LCD_ILI9341_ Parameter (0x39); LCD_ILI9341_ Parameter (0x2C); LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34); LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0XC1); LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xE8); LCD_ILI9341_ Parameter (0x85); LCD_ILI9341_ Parameter (0x00); LCD_ILI9341_ Parameter (0x78);LCD_ILI9341_CMD(0xEA); LCD_ILI9341_ Parameter (0x00); LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xED); LCD_ILI9341_ Parameter (0x64); LCD_ILI9341_ Parameter (0x03); LCD_ILI9341_ Parameter (0X12); LCD_ILI9341_ Parameter (0X81) //功耗控制A //功耗控制B//内核电压控制//DDVDH控制//Power控制//驱动时序控制A//栅极驱动器的非重叠时序控制//EQ时序控制//预充电时间控制//驱动时序控制B//栅极驱动器时序控制//电源序列控制//软启动控制//电源序列控制//电源序列控制//DDVDH增强模式LCD_ILI9341_CMD(0xF7); LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xC0);//Power control LCD_ILI9341_ Parameter (0x1b);//VRH[5:0]LCD_ILI9341_CMD(0xC1);//Power controlLCD_ILI9341_ Parameter (0x10);//SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5);//VCM control LCD_ILI9341_ Parameter (0x2d); LCD_ILI9341_ Parameter (0x33);//LCD_ILI9341_CMD(0xC7);//VCM control2//LCD_ILI9341_ Parameter (0xCf);LCD_ILI9341_CMD(0x36);// Memory Access Control LCD_ILI9341_ Parameter (0x48);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00); LCD_ILI9341_ Parameter (0x1d);LCD_ILI9341_CMD(0xB6);// Display Function Control LCD_ILI9341_ Parameter (0x0A); LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF2);// 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26);//Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0);//Set Gamma LCD_ILI9341_ Parameter (0x0F); LCD_ILI9341_ Parameter (0x3a); LCD_ILI9341_ Parameter (0x36); LCD_ILI9341_ Parameter (0x0b);//泵比控制//比率控制//功耗控制1//设置GVDD电平//功耗控制2//设置用于升压电路的因子//VCOM控制1//设置VCOMH电压//设置VCOML电压//VCOM控制2//设置VCOM偏移电压//存储器访问控制//该指令定义帧存储器的读写扫描方向//(正常模式/全色模式下)帧速率控制//内部时钟分频设置,00时表示不分频//RTNA设置,用于设置1H(行)的时间//显示功能设置//设置在没显示区域的扫描格式,0A表示间隔扫描//设置源极、栅极驱动器的移动方向和扫描周期//使能3G//01使能3G,00不使能//伽马设置//选择伽马曲线1//正极伽马校准LCD_ILI9341_ Parameter (0x0d); LCD_ILI9341_ Parameter (0x06); LCD_ILI9341_ Parameter (0x4c); LCD_ILI9341_ Parameter (0x91); LCD_ILI9341_ Parameter (0x31); LCD_ILI9341_ Parameter (0x08); LCD_ILI9341_ Parameter (0x10); LCD_ILI9341_ Parameter (0x04); LCD_ILI9341_ Parameter (0x11); LCD_ILI9341_ Parameter (0x0c); LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x0a);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x12);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x2c);LCD_ILI9341_ Parameter (0x92);LCD_ILI9341_ Parameter (0x3f);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x0e);LCD_ILI9341_ Parameter (0x0b);LCD_ILI9341_ Parameter (0x2e);LCD_ILI9341_ Parameter (0x33);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on } //负极伽马校准//退出睡眠模式//开显示void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offDelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep_ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on}2. BOE 2.0” 2.4”3.14 Panel2.1 FPC Application Circuit0000002.2 BOE 2.0” Initial Codevoid ILI9341_BOE2.0_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x81);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x78);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x21); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x3F);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0Xab);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x48);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x27);LCD_ILI9341_ Parameter (0x25);LCD_ILI9341_ Parameter (0x0a);LCD_ILI9341_ Parameter (0x0E);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x56);LCD_ILI9341_ Parameter (0X98);LCD_ILI9341_ Parameter (0x49);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0x31);LCD_ILI9341_ Parameter (0x30);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x18);LCD_ILI9341_ Parameter (0x1a);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x11);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x29);LCD_ILI9341_ Parameter (0x67);LCD_ILI9341_ Parameter (0x36);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_ Parameter (0x0c);LCD_ILI9341_ Parameter (0x0e);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on }2.3 BOE 2.4” Initial Codevoid ILI9341_BOE2.4_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x81);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x78);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x21); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x3F);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0Xb5);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x48);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x26);LCD_ILI9341_ Parameter (0x24);LCD_ILI9341_ Parameter (0x0B);LCD_ILI9341_ Parameter (0x0E);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x54);LCD_ILI9341_ Parameter (0XA8);LCD_ILI9341_ Parameter (0x46);LCD_ILI9341_ Parameter (0x0C);LCD_ILI9341_ Parameter (0x17);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x19);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x2A);LCD_ILI9341_ Parameter (0x47);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x30);LCD_ILI9341_ Parameter (0x38);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on }void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on}2.4 BOE3.14” Initial Codevoid ILI9341_BOE3.14_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0xc1);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x78);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x16);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x10); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x10); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x30);LCD_ILI9341_ Parameter (0x50);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0XA4);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x29);LCD_ILI9341_ Parameter (0x24);LCD_ILI9341_ Parameter (0x0c);LCD_ILI9341_ Parameter (0x0e);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x4e);LCD_ILI9341_ Parameter (0X78);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x13);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x17);LCD_ILI9341_ Parameter (0x11);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x16);LCD_ILI9341_ Parameter (0x1b);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_ Parameter (0x11);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x31);LCD_ILI9341_ Parameter (0x33);LCD_ILI9341_ Parameter (0x42);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x0C);LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0x28);LCD_ILI9341_ Parameter (0x2f);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on }void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on}a-Si TFT LCD Single Chip Driver 240RGBx320 Resolution and 262K color ILI9341 3. TM 2.2” 2.4” Panel 3.1 FPC Application Circuit0000ILI9341 for TM 2.4" 2.2" Panel 0 003.2 Tianma 2.4” Initial Codevoid ILI9341_Tianma2.4_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x81);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x7A);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x21); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x3F);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0Xa7);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x48);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x23);LCD_ILI9341_ Parameter (0x1F);LCD_ILI9341_ Parameter (0x0B);LCD_ILI9341_ Parameter (0x0E);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x4B);LCD_ILI9341_ Parameter (0XA8);LCD_ILI9341_ Parameter (0x3B);LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0x14);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1C);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x47);LCD_ILI9341_ Parameter (0x44);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x0B);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x2F);LCD_ILI9341_ Parameter (0x36);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on }void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on3.2 Tianma 2.8” Initial Codevoid ILI9341_Tianma2.8_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x83);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_ Parameter (0x79);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x1D); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x33);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0Xbe);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x23);LCD_ILI9341_ Parameter (0x1F);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x4B);LCD_ILI9341_ Parameter (0Xf2);LCD_ILI9341_ Parameter (0x38);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x13);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0x12);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1d);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_ Parameter (0x11);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x81);LCD_ILI9341_ Parameter (0x46);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x0e);LCD_ILI9341_ Parameter (0x0c);LCD_ILI9341_ Parameter (0x32);LCD_ILI9341_ Parameter (0x38);LCD_ILI9341_ Parameter (0x0F);}void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on4.1 HSD 2.8” Initial Codevoid ILI9341_HSD2.8_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0xC1);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x7A);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x21); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x31);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0X9f);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_ Parameter (0x1d);LCD_ILI9341_ Parameter (0x0b);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x0a);LCD_ILI9341_ Parameter (0x49);LCD_ILI9341_ Parameter (0Xa9);LCD_ILI9341_ Parameter (0x3b);LCD_ILI9341_ Parameter (0x0a);LCD_ILI9341_ Parameter (0x15);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x0c);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1f);LCD_ILI9341_ Parameter (0x22);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x36);LCD_ILI9341_ Parameter (0x46);LCD_ILI9341_ Parameter (0x46);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x0b);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x33);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x0F);}void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display onRevision HistoryRevision HistoryVersion No. Date Page Description V01 2010/09/14 All New CreationV02 2010/10/26 All Modified VCI1 GND,C31M GNDAdd BOE2.0” BOE2.4” LG2.6” initial code V03 2010/12/20 All Remove command EFV0.4 2011/02/20 ALL Add 1uF capacitor in Vcore padV0.5 2011/03/08 ALL Add Tianma initial code and modify LG/BOE initial code V0.6 2011/03/11 ALL Modify TM 2.4 and BOE initial codeV0.7 2011/03/22 ALL Add LG 2.8 TM2.8 BOE 3.14 HSD 2.8 initial code。

tft背景色清屏函数 -回复

tft背景色清屏函数 -回复

tft背景色清屏函数-回复TFT背景色清屏函数TFT(Thin-Film Transistor)液晶显示屏是一种高清、高分辨率的显示技术,广泛应用于许多电子设备中,如手机、智能手表、电视等。

在TFT显示屏上,可以通过编写代码控制屏幕的各种属性,包括背景色、文字颜色等。

本文将重点探讨如何编写一个TFT背景色清屏函数,让您能够更好地控制TFT显示屏的背景色。

首先,我们需要了解一下液晶显示屏的基本原理。

TFT显示屏是由很多微小的液晶单元组成的,每个液晶单元可以控制通过它的光的强度。

通过控制每个液晶单元的光强,整个屏幕就可以显示出所需的图像或文字。

当我们需要改变TFT显示屏的背景色时,实际上是改变了每个液晶单元透过光的颜色。

现在,让我们开始编写TFT背景色清屏函数的步骤。

第一步:确定使用的TFT库TFT库是一个用于控制TFT显示屏的软件模块,可以通过它来操作液晶单元。

在编写TFT背景色清屏函数之前,您需要确定使用哪个TFT库。

这里以Adafruit GFX库为例。

该库是一个功能强大且易于使用的TFT控制库,支持多种TFT显示屏。

第二步:包含必要的头文件和定义全局变量在编写清屏函数的代码之前,需要包含所需的头文件,并定义一些全局变量。

这些变量可以用来存储TFT屏幕的尺寸、背景色等信息。

以下是一个示例:c++#include <Adafruit_GFX.h>#include <Adafruit_ILI9341.h>#include <SPI.h>TFT屏幕的尺寸#define TFT_WIDTH 320#define TFT_HEIGHT 240背景色#define BACKGROUND_COLOR ILI9341_BLACKAdafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST, TFT_CLK, TFT_RST, TFT_MISO);在这个例子中,我们使用了Adafruit_GFX和Adafruit_ILI9341库,定义了TFT屏幕的尺寸为320x240,背景色为黑色(ILI9341_BLACK)。

电子秤stm32程序

电子秤stm32程序

#include "led.h"#include "sys.h"#include "delay.h"#include "adc.h"#include "lcd.h"#include "usart.h"#include "lcdfot.h"#include "hx711.h"#include "key.h"int main(void){u8 num,flag;float vol1;delay_init();uart_init(9600);LED_Init();LCD_Init();Adc_Init();KEY_Init();HX711_Init();POINT_COLOR=RED;HZ_show();LCD_ShowString(54+25,55,200,24,16,":000.00g");//提示信息显示LCD_ShowString(54+25,85,200,24,16,":00.00$");//提示信息显示LCD_ShowString(54+25,115,200,24,16,":000.00$");//提示信息显示LCD_ShowString(54+25,145,200,24,16,":000.00g");//提示信息显示while(1){vol1=HX711_count();if(KEY_Scan(1)==WKUP_PRES) //单价设置num的值可直接用{num++;if(num==100)num=0;LCD_ShowxNum(54+25+8,85,num,2,16,0);}if(KEY_Scan(1)==KEY0_PRES) //控制金额是否累加flag=1是累加flag=0不累加{HZ_show_moy();flag++;LED0=0;if(flag==2){LED0=1;LCD_ShowString(54+25+32+30,115,200,16,16," ");flag=0;}printf("%d",flag);}delay_ms(300);LED1=!LED1;}}#include "lcd.h"#include "lcdfot.h"u8 table1[]={0x00,0x00,0x00,0x00,0x00,0x04,0x02,0x00,0x04,0x02,0x00,0x04,0x02,0x00,0x24,0x0A, 0xFF,0xA4,0x0A,0x7F,0x24,0x0A,0x49,0x24,0x12,0x49,0x24,0x12,0x49,0x24,0x12,0x49, 0x24,0x1F,0xFF,0xFC,0x12,0x49,0x24,0x12,0x49,0x24,0x12,0x49,0x24,0x22,0x49,0x24, 0x22,0x49,0x24,0x22,0xFF,0xA4,0x02,0x40,0x64,0x06,0x00,0x24,0x06,0x00,0x0C,0x02, 0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,};/*重*/u8 table2[]={0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x02,0x00,0x40,0x02,0x00,0x40,0x12,0x3F, 0xDF,0xD2,0x3F,0x52,0x92,0x25,0x52,0x92,0x25,0x52,0x92,0x25,0x52,0x92,0x25,0x52, 0x92,0x25,0x5F,0xFC,0x25,0x5F,0xFC,0x25,0x52,0x92,0x25,0x52,0x92,0x25,0x52,0x92, 0x25,0x52,0x92,0x3F,0x5F,0xD2,0x20,0x5F,0xB2,0x00,0x40,0x12,0x00,0x40,0x04,0x00, 0xC0,0x04,0x00,0x40,0x00,0x00,0x00,0x00,};/*量*/u8 table3[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x40,0x03, 0xFE,0x40,0x02,0x22,0x40,0x22,0x22,0x40,0x32,0x22,0x40,0x1E,0x22,0x40,0x02,0x22, 0x40,0x03,0xFF,0xFE,0x02,0x22,0x40,0x06,0x22,0x40,0x0A,0x22,0x40,0x72,0x22,0x40, 0x22,0x22,0x40,0x02,0x22,0x40,0x03,0xFE,0x40,0x02,0x00,0x40,0x00,0x00,0xC0,0x00, 0x00,0xC0,0x00,0x00,0x40,0x00,0x00,0x00,};/*单*/u8 table4[]={0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x60,0x00,0x01,0xC0,0x00,0x07, 0xFF,0xFE,0x3C,0x80,0x00,0x30,0x10,0x02,0x00,0x20,0x04,0x00,0x40,0x08,0x00,0x80, 0x18,0x03,0x3F,0xE0,0x06,0x3E,0x00,0x3C,0x00,0x00,0x30,0x00,0x00,0x0C,0x00,0x00, 0x02,0x00,0x01,0x01,0x3F,0xFE,0x00,0x80,0x00,0x00,0xC0,0x00,0x00,0x60,0x00,0x00, 0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*价*/u8 table5[]={0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x01,0x08,0x08,0x01, 0x08,0x0C,0x01,0x08,0x1C,0x01,0x08,0x2C,0x01,0x08,0x4C,0x01,0x08,0x88,0x01,0x0B, 0x08,0x3F,0xFE,0x08,0x3F,0xF8,0x08,0x01,0x08,0x08,0x01,0x08,0x08,0x01,0x08,0x48, 0x01,0x08,0x68,0x01,0x08,0x38,0x03,0x08,0x18,0x01,0x08,0x1E,0x00,0x18,0x00,0x00, 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*去*/u8 table6[]={0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x04,0x00,0x00,0x18,0x00,0x00,0xE2,0x07, 0xFF,0x82,0x02,0x00,0x02,0x02,0x00,0x02,0x02,0x08,0x04,0x02,0x0E,0x04,0x02,0x09, 0x08,0x02,0x08,0xC8,0x7F,0xF0,0x70,0x3F,0xF0,0x30,0x02,0x08,0x70,0x02,0x09,0x88, 0x02,0x0B,0x0C,0x02,0x0E,0x0C,0x02,0x98,0x04,0x07,0x08,0x06,0x06,0x00,0x06,0x00, 0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x00,};/*皮*/u8 table7[]={0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x02,0x00,0x10,0x02,0x00,0x21,0x02,0x00, 0x41,0x82,0x00,0xC1,0x42,0x01,0x91,0x32,0x03,0x11,0x1A,0x0E,0x11,0x02,0x38,0x11, 0x02,0x30,0x1F,0xFC,0x28,0x11,0x02,0x04,0x11,0x02,0x02,0x11,0x04,0x01,0x11,0x1A, 0x00,0xA1,0xE2,0x00,0xD1,0x42,0x00,0x62,0x02,0x00,0x62,0x02,0x00,0x30,0x04,0x00, 0x20,0x04,0x00,0x20,0x00,0x00,0x00,0x00,};/*金*/u8 table8[]={0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x08,0x80,0x0C,0x31,0x00,0x04,0xD3,0xFC,0x07, 0x96,0x84,0x24,0x5C,0x84,0x1C,0x58,0x84,0x04,0x68,0x84,0x05,0xCD,0xFC,0x06,0x06, 0x00,0x0C,0x02,0x02,0x16,0x00,0x02,0x11,0xFF,0x84,0x11,0x00,0x08,0x13,0x00,0x10, 0x1D,0x47,0xE0,0x11,0x3F,0x00,0x11,0x20,0x20,0x11,0x00,0x10,0x11,0xFF,0xD8,0x23, 0xFF,0x8C,0x00,0x00,0x06,0x00,0x00,0x00,};/*额*/u8 table9[]={0x00,0x00,0x00,0x01,0x7C,0x12,0x54,0x94,0x54,0x90,0x55,0xB2,0x56,0xB1,0x7C,0xDE, 0x54,0xD0,0x54,0x90,0x55,0x14,0x54,0x32,0x7C,0x19,0x00,0x00,0x00,0x00,0x00,0x00, };/*累*/u8 table10[]={0x08,0x01,0x08,0x02,0x08,0x0C,0xFF,0xF0,0x08,0x02,0x08,0x01,0x0F,0xFE,0x00,0x00, 0x00,0x00,0x1F,0xFE,0x10,0x04,0x10,0x04,0x10,0x04,0x1F,0xFE,0x00,0x00,0x00,0x00, };/*加*/// 显示一个汉字//u8 lcdoneHZ(u8 x,u8 y,unsigned char *code){u8 temp,t,y0,t1;u8 table[72];y0=y;POINT_COLOR=RED;for(t=0;t<72;t++){temp= *code++;for(t1=0;t1<8;t1++){if(temp&0x80)LCD_DrawPoint(x,y);temp<<=1;y++;if((y-y0)==24){y=y0;x++;break;}}}}u8 lcdone16HZ(u8 x,u8 y,unsigned char *code) {u8 temp,t,y0,t1;u8 table[32];y0=y;POINT_COLOR=RED;for(t=0;t<32;t++){temp= *code++;for(t1=0;t1<8;t1++){if(temp&0x80)LCD_DrawPoint(x,y);temp<<=1;y++;if((y-y0)==16){y=y0;x++;break;}}}}void HZ_show(void){lcdoneHZ(30,50,table1);//重量lcdoneHZ(54,50,table2);lcdoneHZ(30,80,table3); //单价lcdoneHZ(54,80,table4);lcdoneHZ(30,110,table7); //金额lcdoneHZ(54,110,table8); //金额lcdoneHZ(30,140,table5);//去皮lcdoneHZ(54,140,table6);}void HZ_show_moy(void){lcdone16HZ(54+25+32+30,115,table9);lcdone16HZ(54+25+32+30+17,115,table10);}#ifndef __LCDFOT_H#define __LCDFOT_H#include "sys.h"u8 lcdoneHZ(u8 x,u8 y,unsigned char *code); //显示24位汉字u8 lcdone16HZ(u8 x,u8 y,unsigned char *code); //显示16位汉字void HZ_show(void);void HZ_show_moy(void);#endif#include "hx711.h"#include "delay.h"#include "usart.h"void HX711_Init(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PE端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED0-->PB.5 端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //LED0-->PB.5 端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉输入GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_6);}u32 HX711_read(void){u32 count;u8 i;delay_us(1);HX711_SCL=0;count=0;while(HX711_DOUT);for(i=0;i<24;i++){HX711_SCL=1;count=count<<1;HX711_SCL=0;if(HX711_DOUT)count++;}HX711_SCL=1;count=count^0x800000;delay_us(1);HX711_SCL=0;return count;}//得到的质量单位是g 克float HX711_count(void){u8 a;u32 adc,wei;float vol;for(a=10;a>0;a--){ adc=HX711_read();wei=wei+adc;}wei=wei/10;printf("hx711值:%d\r\n",wei);vol=((float)(wei-7431260)/1118)-1.8-1.55; //注意改参数wei=0;printf("重量=%f\r\n",vol);return vol;}#ifndef __HX711_H#define __HX711_H#include "sys.h"#define HX711_SCL PAout(5)#define HX711_DOUT PAin(6)void HX711_Init(void);u32 HX711_read(void);float HX711_count(void);#endif#include "lcd.h"#include "stdlib.h"#include "font.h"#include "usart.h"#include "delay.h"////////////////////////////////////////////////////////////////////////////////////本程序只供学习使用,未经作者许可,不得用于其它任何用途//2.4/2.8寸/3.5寸TFT液晶驱动//支持驱动IC型号包括:ILI9341/ILI9325/RM68042/RM68021/ILI9320/ILI9328/LGDP4531/LGDP4535/SPFD5408/S SD1289/1505/B505/C505等//正点原子@ALIENTEK//***************************************************************************** ***//V1.2修改说明//支持了SPFD5408的驱动,另外把液晶ID直接打印成HEX格式.方便查看LCD驱动IC.//V1.3//加入了快速IO的支持//修改了背光控制的极性(适用于V1.8及以后的开发板版本)//对于 1.8版本之前(不包括 1.8)的液晶模块,请修改LCD_Init函数的LCD_LED=1;为LCD_LED=1;//V1.4//修改了LCD_ShowChar函数,使用画点功能画字符。

基于STM32的万年历设计

基于STM32的万年历设计

基于STM32的万年历设计基于STM32的万年历设计班级:姓名:学号:成绩:电子通信工程系题目:基于STM32的万年历设计前言:随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。

美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS12C887。

它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS12C887的使用寿命长,误差小。

对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。

该电路采用AT89S52单片机作为核心,采用数字式温度传感器DS18B20提取外界温度,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

进入新世纪LCD显示屏的技术和产业都取得了长足的发展,作为重要的现代信息发布媒体之一,LCD显示屏在证券交易、金融、交通、体育、广告等领域被广泛的应用。

伴随社会信息化进程的推进,LCD显示屏技术也在不断的推陈出新,应用领域愈加广阔。

基于STM32的LCD显示可以更好的满足各种需求,也更便于操作和实现。

现基于STM32在液晶显示屏幕上显示文本及图形。

目前,显示技术和显示工业的发展迅速。

显示技术是传递视觉的信息技术。

液晶显示器件LCD是当今最有发展前途的一种平板显示器件,它具有很多独到的优异特性。

它具有显示信息多、易于多彩化、体积小、重量轻、功耗低、寿命长、价格低、无辐射、无污染、接口控制方便等优点。

截至目前,我国在液晶显示取得较大进步,我国LCD产业已经走过了近30年的历程.经历几次大的投资浪潮之后,我国内地已经成为世界最大的TN-LCD(扭曲液晶显示器)生产基地和主要的STN-LCD(超扭曲液晶显示器)生产基地,并且从2003年开始,涉足TFT-LCD(薄膜晶体管液晶显示器)领域.本课题设计采用STM32F103VE开发板,实现在LCD显示屏上显示由按键可操控的万年历功能。

2.8吋彩色液晶屏汇编语言实验程序

2.8吋彩色液晶屏汇编语言实验程序

上一次发表的是用C语言编写的2.8 吋彩色液晶屏实验程序,这一次是汇编语言编写的2.8 吋彩色液晶屏实验程序,两个程序的运行结果是完全一样的,只是编程用的编程语言不同而已。

对于初学C51单片机的朋友们学习不同语言编程能有所帮助,本程序是经过本人上机测试完全通过Keil 4 验证的,可以放心的使用。

本程序驱动ILI9341 或RM68090 芯片驱动的2.8 吋彩色液晶屏。

显示点阵数:240RGB(W)×320(H)。

芯片为宏晶科技公司的STC12C5A60S2或STC12LE5A60S2 芯片。

注:RGB 为565 格式的16bit。

$INCLUDE(STC12C5A.INC);===============================================;编程日期:2014年09月25日;===============================================;初始化定义和数据单元;;===============================================RSB BIT P3.3 ;寄存器选择,0:寄存器,1:参数CSB BIT P3.4 ;片选,低电平有效RESET BIT P3.5 ;复位WRB BIT P3.6 ;写数据信号RDB BIT P3.7 ;读数据信号;===============================================;主程序开始;===============================================ORG 0000HLJMP MAIN ;开始ORG 0100HMAIN:MOV R0,#7FHCLR ACLEARED:MOV @R0,ADJNZ R0, CLEAREDMOV SP,#0E0HSETB RESETLCALL DELAY1MSCLR RESETLCALL DELAY10MSSETB RESETLCALL DELAY120MSLCALL REGISTER_SETTINGS ;配置9341;===============================================;循环程序;===============================================CYCLE:MOV R7,#0FFHMOV R6,#0FFHLCALL DISPLAY ;显示白色MOV R7,#00HMOV R6,#00HLCALL DISPLAY ;显示黑色LCALL DELAY1SLCALL PICTURES ;显示图片LCALL DELAY1SMOV R7,#0F8HMOV R6,#00HLCALL DISPLAY ;显示红色ACALL DELAY1SMOV R7,#07HMOV R6,#0E0HLCALL DISPLAY ;显示绿色ACALL DELAY1SMOV R7,#00HMOV R6,#1FHLCALL DISPLAY ;显示蓝色LCALL DELAY1SMOV R7,#0FFHMOV R6,#0E0HLCALL DISPLAY ;显示黄色LCALL DELAY1SMOV R7,#0F8HMOV R5,#1FHLCALL DISPLAY ;显示紫色LCALL DELAY1SMOV R7,#07HMOV R6,#0FFHLCALL DISPLAY ;显示青色LCALL DELAY1SCPL P4.3LJMP CYCLE ;返回循环程序;=============================================== ;显示设置,区域和数据240x320;=============================================== DISPLAY:MOV 22H,R7MOV 23H,R6LCALL SETTINGS_AREA ;设置区域CLR AMOV R3,AMOV R2,ADISPLAY01:MOV R4,#0F0HDISPLAY02:MOV R7,22HLCALL TWO_DATA ;写双字节显示数据DJNZ R4, DISPLAY02 ;240列INC R3CJNE R3,#00H,DISPLAY03INC R2DISPLAY03:CJNE R2,#01H,DISPLAY01CJNE R3,#40H,DISPLAY01 ;320行RET;=============================================== ;显示图片;=============================================== PICTURES:LCALL SETTINGS_AREA ;设置区域MOV R1,#04H ;显示4幅图片PICTURES01:MOV DPTR,#IMAGE_PIXELSMOV R2,#50HPICTURES02:MOV R3,#0F0HPICTURES03:CLR AMOVC A,@A+DPTRMOV R7,AINC DPTRCLR AMOVC A,@A+DPTRMOV R6,AINC DPTRLCALL TWO_DATA ;写DAT文件,双字节DJNZ R3,PICTURES03DJNZ R2,PICTURES02DJNZ R1,PICTURES01RET;=============================================== ;设置区域;=============================================== SETTINGS_AREA:MOV R7,#2AH ;列地址时钟LCALL COMMAND ;写8位命令MOV R7,#00HLCALL WRITE_DATA ;写8位数据参数MOV R7,#00HLCALL WRITE_DATA ;写8位数据参数LCALL WRITE_DATA ;写8位数据参数MOV R7,#0EFHLCALL WRITE_DATA ;写8位数据参数MOV R7,#2BH ;页地址设置LCALL COMMAND ;写8位命令MOV R7,#00HLCALL WRITE_DATA ;写8位数据参数MOV R7,#00HLCALL WRITE_DATA ;写8位数据参数MOV R7,#01HLCALL WRITE_DATA ;写8位数据参数MOV R7,#3FHLCALL WRITE_DATA ;写8位数据参数MOV R7,#2CH ;存储器写LJMP COMMAND ;写8位命令RET;=============================================== ;写寄存器命令;=============================================== COMMAND:CLR RSBSETB RDBCLR CSBMOV P0,R7CLR WRBSETB WRBSETB CSBRET;=============================================== ;写数据参数;=============================================== WRITE_DATA:SETB RSBSETB RDBCLR CSBMOV P0,R7CLR WRBSETB WRBSETB CSBRET;=============================================== ;写双字节显示数据;===============================================SETB RSBSETB RDBCLR CSBMOV P2,R7MOV P0,R6CLR WRBSETB WRBSETB CSBRET;=============================================== ;延时1mS;=============================================== DELAY1MS:MOV R6,#8DHDL0:MOV R5,#39HDJNZ R5,$DJNZ R6,DL0NOPRET;=============================================== ;延时10mS;=============================================== DELAY10MS:MOV R7,#0BDHDL1:MOV R6,#0AEHDL2:MOV R5,#01HDJNZ R5,$DJNZ R6,DL2DJNZ R7,DL1RET;=============================================== ;延时120mS;=============================================== DELAY120MS:MOV R7,#75HDL3:MOV R6,#78HDL4:MOV R5,#45HDJNZ R5,$DJNZ R6,DL4DJNZ R7,DL3DJNZ R5,$RET;=============================================== ;延时1S;=============================================== DELAY1S:MOV R7,#0DFHDL5:MOV R6,#0D4HDL6:MOV R5,#0ADHDJNZ R5,$DJNZ R6,DL6DJNZ R7,DL5MOV R5,#03HDJNZ R5,$NOPRET;=============================================== ;ILI9341寄存器配置;=============================================== REGISTER_SETTINGS:MOV R7,#0CFH ;LCALL COMMAND ;写寄存器命令MOV R7,#00H ;LCALL WRITE_DATA ;写8位数据MOV R7,#0D9HLCALL WRITE_DATAMOV R7,#30HLCALL WRITE_DATAMOV R7,#0EDHLCALL COMMANDMOV R7,#64HLCALL WRITE_DATAMOV R7,#03HLCALL WRITE_DATAMOV R7,#12HLCALL WRITE_DATAMOV R7,#81HLCALL WRITE_DATAMOV R7,#0E8HLCALL COMMANDMOV R7,#85HLCALL WRITE_DATAMOV R7,#10HMOV R7,#78H LCALL WRITE_DATA MOV R7,#0CBH LCALL COMMAND MOV R7,#39H LCALL WRITE_DATA MOV R7,#2CH LCALL WRITE_DATA MOV R7,#00H LCALL WRITE_DATA MOV R7,#34H LCALL WRITE_DATA MOV R7,#02H LCALL WRITE_DATA MOV R7,#0F7H LCALL COMMAND MOV R7,#20H LCALL WRITE_DATA MOV R7,#0EAH LCALL COMMAND MOV R7,#00H LCALL WRITE_DATA MOV R7,#00H LCALL WRITE_DATA MOV R7,#0C0H LCALL COMMAND MOV R7,#21H LCALL WRITE_DATA MOV R7,#0C1H LCALL COMMAND MOV R7,#12H LCALL WRITE_DATA MOV R7,#0C5H LCALL COMMAND MOV R7,#32H LCALL WRITE_DATA MOV R7,#3CH LCALL WRITE_DATA MOV R7,#0C7H LCALL COMMAND MOV R7,#0C1H LCALL WRITE_DATA MOV R7,#36H LCALL COMMAND MOV R7,#08HLCALL COMMAND MOV R7,#55H LCALL WRITE_DATA MOV R7,#0B1H LCALL COMMAND MOV R7,#00H LCALL WRITE_DATA MOV R7,#18H LCALL WRITE_DATA MOV R7,#0B6H LCALL COMMAND MOV R7,#0AH LCALL WRITE_DATA MOV R7,#0A2H LCALL WRITE_DATA MOV R7,#0F2H LCALL COMMAND MOV R7,#00H LCALL WRITE_DATA MOV R7,#26H LCALL COMMAND MOV R7,#01H LCALL WRITE_DATA MOV R7,#0E0H LCALL COMMAND MOV R7,#0FH LCALL WRITE_DATA MOV R7,#20H LCALL WRITE_DATA MOV R7,#1EH LCALL WRITE_DATA MOV R7,#09H LCALL WRITE_DATA MOV R7,#12H LCALL WRITE_DATA MOV R7,#0BH LCALL WRITE_DATA MOV R7,#50H LCALL WRITE_DATA MOV R7,#0BAH LCALL WRITE_DATA MOV R7,#44H LCALL WRITE_DATA MOV R7,#09HLCALL WRITE_DATA MOV R7,#05H LCALL WRITE_DATA MOV R7,#23H LCALL WRITE_DATA MOV R7,#21H LCALL WRITE_DATA MOV R7,#00H LCALL WRITE_DATA MOV R7,#0E1H LCALL COMMAND MOV R7,#00H LCALL WRITE_DATA MOV R7,#19H LCALL WRITE_DATA MOV R7,#19H LCALL WRITE_DATA MOV R7,#00H LCALL WRITE_DATA MOV R7,#12H LCALL WRITE_DATA MOV R7,#07H LCALL WRITE_DATA MOV R7,#2DH LCALL WRITE_DATA MOV R7,#28H LCALL WRITE_DATA MOV R7,#3FH LCALL WRITE_DATA MOV R7,#02H LCALL WRITE_DATA MOV R7,#0AH LCALL WRITE_DATA MOV R7,#08H LCALL WRITE_DATA MOV R7,#25H LCALL WRITE_DATA MOV R7,#2DH LCALL WRITE_DATA MOV R7,#0FH LCALL WRITE_DATA MOV R7,#11H LCALL COMMAND LCALL DELAY120MSLJMP COMMANDRET;===============================================;显示图像38400字节;===============================================IMAGE_PIXELS:DB 0xC4,0x8,0xBC,0x2A,0x8B,0x6A,0x49,0xA8,0x18,0x88,0x31,0x4D,0x41,0xCE,0x31,0x4B DB 0x18,0xA8,0x18,0x87,0x10,0x85,0x10,0x85,0x10,0x85,0x10,0xA5,0x10,0xA5,0x18,0xA6 DB 0x10,0xA5,0x10,0x85,0x10,0xA6,0x8,0xA6,0x8,0x64,0x38,0x64,0x88,0xE7,0xD1,0x69 DB 0xD1,0x6,0xD1,0x7,0xD1,0x8,0xD9,0x8,0xD8,0xE8,0xD0,0xE7,0xC9,0x7,0xC1,0x47DB 0xD0,0xE8,0xD0,0xE8,0xD0,0xE7,0xD0,0xE7,0xD1,0x7,0xD1,0x7,0xD1,0x7,0xD1,0x7 DB 0xD0,0xE7,0xC8,0xE6,0xC9,0x7,0xD0,0xE7,0xD0,0xA6,0xC0,0xE7,0xC2,0x4B,0xCB,0xF0 DB 0xFE,0xBB,0xFF,0xBE,0xF7,0xFF,0xEF,0xBE,0xFF,0x9F,0xFF,0xBF,0xEF,0x7F,0xC7,0x3D DB 0xCE,0xFC,0xDF,0x5E,0xEF,0x9E,0xEF,0xDF,0xEF,0xFF,0xEF,0xDE,0xFF,0xBF,0xFF,0xBF DB 0xEF,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDFDB 0xF7,0xDF,0xF7,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF DB 0xF7,0xDD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0x9E,0xEF,0x7E,0xFF,0xBF,0xFF,0xFFDB 0xF7,0xBD,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBFDB 0xC6,0x39,0x8C,0xD4,0x7C,0x93,0x8D,0x35,0xAE,0x3A,0xAE,0x5A,0xB6,0x9A,0xCF,0x1C DB 0xCF,0x5D,0xCF,0x5D,0xCF,0x7E,0xCF,0x7E,0xCF,0x7E,0xCF,0x5E,0xCF,0x5D,0xCF,0x5D DB 0xCF,0x3D,0xC6,0xFC,0xBE,0xBB,0xB6,0x9A,0xAE,0x39,0x9D,0xD7,0x95,0x96,0x95,0x76 DB 0x8C,0xB2,0xA5,0x96,0xD7,0x1C,0xF7,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF DB 0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xFE,0x1A,0xE3,0xD3,0xE3,0x72,0xE3,0x72,0xEA,0xF1 DB 0xE2,0xD1,0xE2,0xD1,0xE2,0xB1,0xE2,0xB1,0xDA,0xF2,0xDB,0x53,0xE3,0xD4,0xE4,0x36 DB 0xB5,0x16,0xAC,0xB5,0xC4,0xF7,0xE5,0x38,0xEC,0xD7,0xEC,0xB7,0xED,0x18,0xE5,0x37 DB 0xE5,0x38,0xE3,0xF4,0xDA,0x2F,0xE9,0xF0,0xE2,0x50,0xD2,0x50,0xE2,0xD1,0xE2,0xD2 DB 0xE2,0xD1,0xE2,0xD1,0xE2,0xD1,0xE2,0x91,0xE2,0xB1,0xE3,0x53,0xDC,0xB6,0xD5,0xB8 DB 0xB5,0x99,0xD6,0x9D,0xD6,0xDD,0xE7,0x7F,0xF7,0xDF,0xFF,0xDF,0xFF,0xFF,0xEF,0xBE DB 0xFF,0x5D,0xDC,0xB3,0xB1,0xC9,0xB8,0xA5,0xD1,0x28,0xE1,0xEB,0xE2,0x4D,0xDA,0x6D DB 0xD1,0xEA,0xB9,0x7,0xA8,0xE6,0x90,0xE5,0x98,0xE6,0xC1,0x28,0xD9,0x69,0xDA,0xA DB 0xEA,0x4E,0x89,0xEC,0x20,0xE9,0x29,0x4C,0x39,0x4D,0x29,0xC,0x39,0xAE,0x39,0x6D DB 0x39,0x8E,0x39,0x8E,0x39,0xAE,0x41,0xAE,0x41,0xAF,0x41,0xAF,0x41,0xAE,0x41,0xAE DB 0x39,0xAE,0x39,0x8E,0x39,0x8D,0x31,0x6D,0x31,0x4C,0x31,0x2C,0x29,0xB,0x29,0xB DB 0x29,0xA,0x20,0xA8,0x18,0x87,0x10,0x67,0x10,0xA6,0x41,0x88,0xAC,0xE,0xD4,0x6D DB 0x9B,0x25,0x9B,0x67,0x5A,0x25,0x18,0x84,0x18,0xA9,0x29,0x2D,0x29,0x2B,0x21,0x7 DB 0x18,0x86,0x18,0xA6,0x10,0x85,0x10,0x84,0x10,0x84,0x10,0xC5,0x10,0x85,0x8,0x45 DB 0x18,0xA5,0x10,0x65,0x10,0x66,0x8,0x65,0x10,0x64,0x58,0xC6,0xB9,0x28,0xE8,0xC8 DB 0xC9,0x6,0xD1,0x7,0xD1,0x8,0xD0,0xE8,0xC8,0xE8,0xC9,0x8,0xC9,0x27,0xC8,0xE6DB 0xD0,0xE8,0xD0,0xE8,0xD0,0xE8,0xD0,0xE7,0xD1,0x7,0xD1,0x7,0xD1,0x7,0xD1,0x7 DB 0xD9,0x7,0xD1,0x7,0xC9,0x7,0xD1,0x8,0xC8,0xE7,0xC9,0xEB,0xEC,0xF4,0xFF,0xDDDB 0xFF,0xDF,0xFF,0xFF,0xF7,0xDF,0xEF,0xFF,0xE7,0xFF,0xD7,0x7E,0xDE,0xDD,0xE6,0xBD DB 0xDF,0x7D,0xEF,0xDF,0xF7,0x9F,0xF7,0x7F,0xFF,0xFF,0xFF,0xFF,0xF7,0xDE,0xFF,0xFFDB 0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xF7,0xBF,0xF7,0xBF,0xF7,0xBF,0xF7,0xBFDB 0xF7,0xDE,0xF7,0xDE,0xF7,0xBE,0xF7,0xBE,0xF7,0xBE,0xF7,0xBF,0xF7,0xBF,0xF7,0xBE DB 0xF7,0xBF,0xF7,0x9F,0xF7,0x9F,0xF7,0xBF,0xF7,0xDE,0xF7,0xDE,0xF7,0xDD,0xF7,0xDC DB 0xFF,0xFF,0xF7,0xBF,0xF7,0xBE,0xF7,0xDE,0xF7,0xDF,0xF7,0xDF,0xFF,0xFF,0xFF,0xFFDB 0xF7,0xFE,0xE7,0x9E,0xA5,0xB7,0x84,0xF5,0x95,0x77,0xA6,0x19,0xBE,0xDB,0xBE,0x9A DB 0xCF,0x3D,0xCF,0x5D,0xCF,0x5E,0xCF,0x7E,0xCF,0x7E,0xCF,0x5D,0xCF,0x5D,0xC7,0x3D DB 0xC7,0x1D,0xBE,0xDB,0xB6,0x7A,0xAE,0x59,0xA5,0xF8,0x9D,0x97,0x95,0x76,0x95,0x96 DB 0xDE,0x9B,0xFF,0xDF,0xF7,0xFF,0xF7,0xDF,0xFF,0xFF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xFE,0x5B,0xE3,0xB3,0xDB,0x31,0xE2,0xF1,0xE2,0x6FDB 0xE2,0x70,0xE2,0x70,0xE2,0x91,0xE2,0xD1,0xDB,0x53,0xDB,0xF4,0xDC,0xB6,0xDD,0x38 DB 0x85,0x55,0x84,0xB3,0xA5,0x36,0xD5,0xDA,0xE5,0x79,0xE5,0x58,0xE5,0x98,0xDD,0x77 DB 0xC5,0x16,0xDB,0xD4,0xE2,0xF,0xF1,0xCF,0xE2,0xF,0xD2,0x50,0xE2,0xD1,0xDA,0x30DB 0xE2,0x90,0xE2,0xB1,0xE2,0xB1,0xE2,0xB1,0xEA,0xF2,0xEB,0xD5,0xDD,0x17,0xCD,0xF9 DB 0xBE,0x3A,0xD7,0x3D,0xD7,0x7D,0xEF,0xDF,0xF7,0xDE,0xEF,0x7D,0xF7,0xDF,0xF7,0xFF DB 0xEF,0xFF,0xFF,0xBE,0xFD,0x15,0xC9,0xA9,0xB8,0x85,0xE1,0xCA,0xF2,0xAE,0xDA,0x2C DB 0xE2,0x2C,0xC1,0x8,0xA0,0xC6,0x88,0xC5,0x98,0xE6,0xC1,0x28,0xD1,0x69,0xD2,0xA DB 0xEA,0x2D,0x9A,0x4D,0x21,0x9,0x29,0x6C,0x41,0xAE,0x31,0x2C,0x41,0xCE,0x39,0x8E DB 0x41,0xAF,0x41,0xAF,0x41,0xCF,0x41,0xCF,0x41,0xCF,0x41,0xCF,0x41,0xCF,0x41,0xCF DB 0x41,0xAE,0x39,0xAE,0x39,0x8E,0x39,0x8E,0x31,0x6D,0x31,0x4C,0x31,0x2C,0x29,0x2C DB 0x29,0xA,0x20,0xC8,0x28,0xE9,0x10,0x87,0x0,0x25,0x41,0x88,0x9B,0x8C,0xE4,0xCEDB 0xA3,0xA5,0x59,0xA4,0x20,0x66,0x10,0x46,0x20,0xE9,0x31,0x4C,0x20,0xCA,0x18,0xC7 DB 0x10,0x86,0x10,0x85,0x10,0xA5,0x10,0xA5,0x10,0xA5,0x10,0xA5,0x10,0x85,0x10,0xA6 DB 0x8,0x85,0x28,0x47,0x18,0x88,0x8,0x86,0x40,0x3,0xB1,0x28,0xC9,0x7,0xD0,0xE7DB 0xC9,0x27,0xD1,0x28,0xD0,0xE7,0xD1,0x7,0xC9,0x27,0xB8,0xC6,0xC0,0xE7,0xD1,0x48 DB 0xE0,0x66,0xD9,0x48,0xC1,0x67,0xC1,0x26,0xD9,0x7,0xD8,0xC7,0xC8,0xC6,0xB9,0x48 DB 0xC0,0xE5,0xE1,0x28,0xD0,0xA7,0xB1,0x48,0xD4,0xD4,0xEF,0x5C,0xFF,0xFF,0xFF,0xDF DB 0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xF7,0xBF,0xEF,0x9E,0xEF,0x9E,0xE7,0x7E,0xEF,0x9EDB 0xF7,0xBE,0xF7,0xBF,0xF7,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xDF,0xFF,0xDF,0xFF,0xDE,0xFF,0xDF,0xF7,0xBE,0xFF,0xBF,0xFF,0xBF,0xFF,0xBFDB 0xF7,0xBF,0xEF,0xBE,0xEF,0x9E,0xEF,0x9E,0xE7,0x9E,0xE7,0x9E,0xE7,0x9E,0xE7,0x9EDB 0xEF,0x9E,0xE7,0x9E,0xE7,0x7E,0xE7,0x7E,0xE7,0x7E,0xE7,0x7E,0xE7,0x7E,0xEF,0x7E DB 0xEF,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9F DB 0xF7,0x9F,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xEF,0x9E,0xEF,0x9F,0xEF,0xBFDB 0xF7,0xDE,0xFF,0xFF,0xF7,0xBE,0xB6,0x18,0x8C,0xD3,0x9D,0x97,0xB6,0x9B,0xAE,0x7A DB 0xBF,0x3C,0xC7,0x5C,0xCF,0x7D,0xCF,0x7D,0xCF,0x5D,0xC7,0x3D,0xC7,0x1D,0xBF,0x1C DB 0xBE,0xBC,0xAE,0x5A,0xA6,0x19,0x9E,0x18,0x9D,0xD7,0xA5,0xD7,0xCE,0xBA,0xF7,0xBF DB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xF6,0xDD,0xE5,0x18,0xCB,0x33,0xDA,0x50,0xEA,0x31 DB 0xDA,0x90,0xDA,0x91,0xE2,0xD2,0xE3,0x74,0xE4,0x56,0xDD,0x18,0xCD,0xB9,0xC5,0xF9 DB 0xAD,0xDA,0xAD,0xDA,0xA5,0xB9,0x9D,0x77,0x9D,0x78,0xA5,0x99,0x9D,0x78,0x94,0xF7 DB 0x74,0x74,0xAC,0x35,0xDB,0x74,0xE2,0x51,0xE1,0xEF,0xDA,0xF,0xE2,0x30,0xE2,0xFDB 0xDA,0x10,0xE2,0x91,0xDA,0xF2,0xDB,0x12,0xE3,0xD4,0xEC,0xD8,0xD5,0xB9,0xBD,0xB9 DB 0xC6,0x7B,0xE7,0x5E,0xF7,0xBF,0xF7,0x9F,0xF7,0xBF,0xF7,0xBF,0xEF,0x9F,0xEF,0x9FDB 0xEF,0x9E,0xDF,0xFD,0xEF,0xFD,0xF6,0x17,0xCA,0x6C,0xC9,0xAB,0xF2,0xB0,0xE9,0xCEDB 0xEA,0xD,0xB1,0x89,0x80,0xC5,0x80,0xA4,0xB0,0xE7,0xC9,0x8,0xD1,0x48,0xD1,0xCA DB 0xE2,0x2B,0xC2,0x2E,0x50,0x8A,0x31,0x6E,0x31,0xAE,0x41,0x6E,0x49,0x8F,0x39,0xEF DB 0x41,0xD0,0x41,0xD0,0x49,0xF0,0x49,0xF0,0x49,0xF0,0x49,0xF0,0x49,0xF0,0x49,0xF0 DB 0x41,0xD0,0x41,0xD0,0x41,0xAF,0x41,0xAF,0x39,0x8E,0x39,0x8E,0x39,0x6D,0x31,0x4D DB 0x31,0x4C,0x20,0xEA,0x18,0xE8,0x10,0x87,0x18,0x68,0x39,0x25,0x9B,0xCA,0xC4,0xD0 DB 0xAC,0x7,0x59,0xC5,0x20,0x86,0x18,0x87,0x20,0xE9,0x29,0xB,0x18,0xA9,0x10,0xA6 DB 0x10,0x85,0x10,0x85,0x10,0xA5,0x10,0xA5,0x10,0x85,0x10,0x85,0x10,0x86,0x10,0xA6 DB 0x8,0xA5,0x20,0x47,0x18,0x89,0x10,0xA7,0x60,0x86,0xC1,0x69,0xC9,0x28,0xD1,0x8 DB 0xC1,0x27,0xC9,0x7,0xC8,0xE7,0xC9,0x7,0xC1,0x7,0xB8,0xE7,0xC9,0x48,0xD9,0x69DB 0xE9,0x8A,0xC0,0x85,0xC8,0xC6,0xE1,0x88,0xD1,0x27,0xD0,0xE7,0xE1,0x8,0xE0,0xC8 DB 0xE9,0x68,0xB8,0x44,0xC1,0x68,0xE4,0x73,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0x7EDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xDF,0xF7,0xBF,0xF7,0xBF,0xEF,0xBFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xDF,0xFF,0xDF,0xF7,0xBF,0xF7,0xBF,0xF7,0x9F,0xEF,0x9E,0xEF,0x9EDB 0xEF,0x7E,0xEF,0x7E,0xE7,0x7E,0xE7,0x5E,0xE7,0x5D,0xE7,0x5D,0xDF,0x5D,0xDF,0x5D DB 0xE7,0x5E,0xE7,0x5E,0xE7,0x3E,0xE7,0x3E,0xE7,0x3E,0xE7,0x5E,0xE7,0x5E,0xE7,0x5E DB 0xE7,0x5D,0xE7,0x5E,0xE7,0x7E,0xEF,0x7E,0xEF,0x7E,0xEF,0x9E,0xEF,0x9F,0xF7,0xBFDB 0xEF,0x7E,0xEF,0x9E,0xF7,0x9E,0xEF,0x7E,0xEF,0x7D,0xEF,0x5E,0xE7,0x7E,0xE7,0x7FDB 0xEF,0x7D,0xEF,0x9E,0xF7,0xFF,0xE7,0x9E,0xB6,0x39,0x95,0x56,0x9D,0xD7,0xB6,0x9B DB 0xBF,0x1C,0xC7,0x1C,0xC7,0x3D,0xC7,0x5D,0xC7,0x3D,0xC7,0x1D,0xBE,0xFC,0xBE,0xDC DB 0xB6,0x9B,0xAE,0x5A,0x9D,0xD7,0x9D,0xB7,0xBE,0x79,0xE7,0x9E,0xFF,0xFF,0xFF,0xFF DB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5E,0xED,0xD9,0xDB,0xF4,0xDA,0xD1,0xEA,0x91 DB 0xDA,0x90,0xDA,0xF1,0xE3,0x93,0xEC,0x55,0xE4,0xF8,0xDD,0x99,0xCD,0xF9,0xBE,0x19 DB 0xBE,0x5B,0xC6,0x7B,0xC6,0x7B,0xBE,0x5A,0xBE,0x3A,0xBE,0x3A,0xAD,0xD9,0xA5,0x57 DB 0x8C,0xF6,0xAC,0xD6,0xD4,0x56,0xE3,0x74,0xE2,0x91,0xDA,0x2F,0xDA,0x2F,0xDA,0x50 DB 0xE2,0x91,0xE2,0xD1,0xDB,0x32,0xDB,0x73,0xE4,0x35,0xE5,0x18,0xD5,0xB9,0xB5,0xF9 DB 0xD6,0xDC,0xEF,0x9F,0xF7,0xDF,0xEF,0x9F,0xEF,0x7E,0xEF,0x7E,0xE7,0x5E,0xDF,0x3EDB 0xE7,0x5F,0xF7,0x7F,0xF7,0x7E,0xFF,0xFF,0xFE,0x9B,0xD2,0xEE,0xC1,0x8A,0xD2,0x8D DB 0xEA,0xC,0xB9,0x89,0x88,0xE5,0x88,0xC5,0xB0,0xE7,0xC8,0xE8,0xD1,0x48,0xD1,0xCA DB 0xE2,0xB,0xCA,0x2E,0x58,0xEB,0x31,0x8E,0x31,0xAE,0x41,0x6E,0x49,0xAF,0x39,0xEF DB 0x49,0xF0,0x49,0xF0,0x49,0xF0,0x4A,0x11,0x4A,0x11,0x4A,0x11,0x4A,0x11,0x4A,0x11 DB 0x49,0xF1,0x49,0xF0,0x49,0xF0,0x49,0xD0,0x41,0xCF,0x41,0xAE,0x39,0x8E,0x39,0x8D DB 0x31,0x6C,0x21,0xB,0x21,0x29,0x18,0xA8,0x10,0x29,0x30,0xE5,0x9B,0xAB,0xCC,0xD2 DB 0xB4,0x4A,0x51,0x86,0x18,0x66,0x18,0xC8,0x20,0xE8,0x20,0xEA,0x18,0xA8,0x10,0x85 DB 0x10,0x85,0x10,0x85,0x10,0x85,0x10,0x85,0x10,0x85,0x10,0x86,0x10,0x87,0x10,0xA7 DB 0x10,0xC7,0x20,0x88,0x20,0xC9,0x28,0xC8,0x89,0x49,0xD1,0x69,0xC9,0x27,0xD0,0xE7 DB 0xB9,0x27,0xB8,0xE6,0xC9,0x7,0xC9,0x27,0xB8,0xE6,0xB9,0x27,0xD1,0xA9,0xD9,0xAA DB 0xC9,0x28,0xD9,0x28,0xD8,0xE7,0xD0,0xC6,0xD1,0x7,0xD9,0x7,0xD0,0xA7,0xD0,0x46 DB 0xC8,0xC7,0xA9,0x7,0xEC,0xD4,0xFF,0x7D,0xFF,0xFF,0xEF,0xFE,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xF7,0xDEDB 0xF7,0xBF,0xF7,0x9F,0xEF,0x9F,0xE7,0x7E,0xE7,0x7E,0xE7,0x5E,0xDF,0x5E,0xDF,0x5EDB 0xDF,0x1E,0xDF,0x1D,0xDF,0x1D,0xD7,0x1D,0xD7,0x1D,0xD7,0x1D,0xD7,0x1D,0xD7,0x1D DB 0xD7,0x1E,0xD6,0xFE,0xD6,0xFD,0xD6,0xFD,0xD6,0xFD,0xD6,0xFD,0xD6,0xFD,0xD6,0xFEDB 0xD6,0xFD,0xD7,0x1D,0xD7,0x1D,0xDF,0x3D,0xDF,0x3D,0xDF,0x5E,0xE7,0x5E,0xE7,0x7E DB 0xE7,0x7E,0xEF,0x7E,0xEF,0x7E,0xEF,0x7D,0xE7,0x5D,0xE7,0x3D,0xDF,0x3D,0xDF,0x3D DB 0xEF,0xBF,0xDF,0x5D,0xE7,0x7E,0xF7,0xFF,0xDF,0x7E,0xA5,0xD8,0x95,0x76,0xAE,0x59DB 0xBE,0xDB,0xBE,0xDC,0xBE,0xFC,0xC7,0x3D,0xC7,0x3D,0xBE,0xFC,0xB6,0xBB,0xAE,0x9B DB 0xA6,0x18,0xA5,0xD8,0xAD,0xF8,0xCE,0xBB,0xF7,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xEF,0x7DDB 0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xDE,0xF7,0xDE,0xF7,0xFF,0xF7,0xBE,0xEE,0x9B,0xDD,0x17,0xDB,0xD3,0xE3,0x32 DB 0xDB,0x52,0xE3,0xD3,0xE4,0x96,0xE5,0x58,0xDD,0xDA,0xD6,0x3B,0xCE,0x7B,0xCE,0xBC DB 0xCE,0xFD,0xD7,0x1D,0xD7,0x1D,0xD6,0xFC,0xD6,0xFC,0xD6,0xDC,0xCE,0xBB,0xC6,0x5A DB 0xAD,0xDA,0xAD,0x99,0xBD,0x37,0xDC,0xB7,0xEB,0xF4,0xEB,0x32,0xE2,0xF1,0xDB,0x11 DB 0xEB,0x12,0xE3,0x32,0xE3,0x93,0xEC,0x55,0xEC,0xF8,0xDD,0x79,0xCD,0xD9,0xBE,0x3A DB 0xE7,0x7E,0xF7,0xFF,0xFF,0xFF,0xEF,0x9E,0xEF,0x7E,0xE7,0x5E,0xD6,0xFD,0xCE,0xBCDB 0xC6,0xBD,0xE6,0xFF,0xD6,0xBD,0xDF,0x9E,0xF7,0xBE,0xDC,0xF5,0xCA,0xCD,0xDA,0xCD DB 0xEA,0xC,0xB9,0x89,0x91,0x6,0x90,0xC5,0xB9,0x7,0xC8,0xE7,0xD1,0x28,0xD9,0xCADB 0xDA,0xA,0xCA,0x4E,0x71,0x4C,0x39,0x8D,0x31,0xAE,0x49,0x8F,0x49,0xD0,0x39,0xEF DB 0x49,0xF0,0x4A,0x11,0x52,0x31,0x52,0x31,0x52,0x52,0x52,0x31,0x52,0x31,0x52,0x31 DB 0x52,0x32,0x52,0x32,0x52,0x31,0x52,0x31,0x4A,0x10,0x4A,0x10,0x41,0xCF,0x41,0xAE DB 0x41,0xAE,0x29,0x2C,0x21,0x29,0x18,0xA9,0x10,0x9,0x30,0xA5,0x93,0x4A,0xBC,0x10 DB 0xA3,0xEB,0x39,0x5,0x10,0x26,0x18,0xC8,0x18,0xC7,0x18,0xA8,0x18,0x87,0x10,0x85DB 0x10,0x85,0x10,0x85,0x10,0x85,0x10,0x86,0x10,0x86,0x10,0x87,0x18,0xA8,0x18,0xC9 DB 0x19,0x9,0x28,0xCA,0x21,0xA,0x40,0xE9,0xB1,0x8B,0xD1,0x28,0xC8,0xE6,0xD0,0xC7DB 0xB1,0x6,0xA8,0xA5,0xC1,0x27,0xC1,0x27,0xB0,0xC6,0xC1,0x68,0xD9,0xEB,0xE1,0xEB DB 0xD9,0x8,0xD9,0x28,0xC8,0xE7,0xD8,0xE7,0xE0,0xE8,0xC0,0x65,0xB9,0x48,0xDB,0x8F DB 0xDB,0xF,0xC3,0xB0,0xF7,0x3C,0xEF,0xFE,0xE7,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xBF,0xF7,0xBF,0xEF,0xBEDB 0xE7,0x5E,0xE7,0x5E,0xDF,0x3E,0xDF,0x3E,0xD7,0x1E,0xD7,0x1D,0xD7,0x1D,0xD7,0x1D DB 0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD DB 0xCE,0xDD,0xC6,0xDD,0xC6,0xDD,0xC6,0xBD,0xC6,0xBD,0xC6,0xBD,0xC6,0xDD,0xC6,0xDD DB 0xC6,0xDE,0xCE,0xDD,0xCE,0xFD,0xCE,0xFD,0xCE,0xFD,0xD7,0x1D,0xD7,0x1D,0xDF,0x3D DB 0xE7,0x7E,0xE7,0x7E,0xEF,0x9E,0xEF,0x7E,0xE7,0x7D,0xDF,0x3D,0xD7,0x1C,0xD6,0xFC DB 0xDF,0x3E,0xDF,0x1D,0xD6,0xFD,0xE7,0x7E,0xE7,0xBF,0xC6,0xDC,0x9D,0xD7,0x95,0x96 DB 0xAE,0x5A,0xB6,0x7B,0xBE,0xDC,0xC7,0x1D,0xBF,0x1D,0xB6,0xBC,0xAE,0x7A,0xA6,0x39 DB 0x9D,0x96,0xB6,0x39,0xDF,0x3D,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xF7,0xBF,0xF7,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xAD,0x76DB 0xF7,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xF7,0xDF,0xF7,0xBF,0xF7,0xBFDB 0xEF,0x7E,0xE7,0x7D,0xDF,0x9E,0xDF,0x9E,0xDE,0xFC,0xDD,0xFA,0xDC,0xF7,0xE4,0x76 DB 0xEC,0xB6,0xE5,0x18,0xDD,0x99,0xD5,0xDA,0xC6,0x1A,0xB6,0x3A,0xBE,0x9C,0xC6,0xDD DB 0xC6,0xDD,0xCE,0xFD,0xCF,0x1D,0xD7,0x3D,0xDF,0x5E,0xE7,0x7E,0xE7,0x5E,0xDF,0x3D DB 0xC6,0xBD,0xAE,0x3A,0xA5,0xB8,0xBD,0x57,0xE5,0x18,0xFC,0xB7,0xF4,0x55,0xE4,0x34 DB 0xEB,0xD3,0xE3,0xF3,0xEC,0x96,0xF5,0x59,0xE5,0xB9,0xCD,0x99,0xBE,0x19,0xC6,0xBC DB 0xEF,0xDF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0xF7,0x9E,0xE7,0x5E,0xD6,0xBC,0xC6,0x7BDB 0xB6,0x3A,0xB6,0x9C,0xB6,0xBC,0xCE,0xFE,0xDF,0xBF,0xF7,0xDF,0xF5,0x97,0xC9,0xAA DB 0xE2,0xC,0xC1,0xA9,0x99,0x6,0x98,0xE6,0xB9,0x7,0xC8,0xE7,0xD1,0x28,0xD9,0xA9DB 0xD9,0xEA,0xDA,0x6E,0x81,0x8C,0x41,0x6C,0x31,0xAE,0x49,0xB0,0x51,0xD0,0x41,0xEFDB 0x52,0x11,0x52,0x31,0x52,0x52,0x5A,0x52,0x5A,0x73,0x5A,0x72,0x5A,0x52,0x52,0x52 DB 0x5A,0x72,0x5A,0x72,0x5A,0x72,0x5A,0x52,0x5A,0x52,0x52,0x31,0x52,0x10,0x49,0xF0 DB 0x49,0xF0,0x29,0x2C,0x18,0xE8,0x18,0xA8,0x10,0x28,0x41,0x25,0x9B,0x68,0xB3,0xCC DB 0x83,0x2A,0x28,0x85,0x8,0x27,0x18,0xC8,0x18,0xA6,0x18,0x87,0x18,0x87,0x10,0xA5 DB 0x10,0x85,0x10,0x86,0x18,0xA6,0x18,0x87,0x18,0xA8,0x18,0xA8,0x20,0xC9,0x20,0xEA DB 0x21,0xA,0x29,0x2C,0x29,0x2B,0x51,0xA,0xC1,0x8B,0xD0,0xE7,0xC0,0xE6,0xC8,0xE7 DB 0xA0,0xE5,0xA0,0xA4,0xC1,0x47,0xB9,0x7,0xA8,0xE6,0xC9,0xCA,0xDA,0x2C,0xE2,0xB DB 0xE1,0x49,0xD0,0xC7,0xD8,0xE8,0xD8,0xE8,0xC0,0xC7,0xCA,0x8C,0xED,0x96,0xF7,0x7C DB 0xFE,0xFC,0xD6,0x79,0xE7,0xBE,0xE7,0xBE,0xFF,0xDF,0xFF,0xDF,0xF7,0xBE,0xF7,0xFF DB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xF7,0xDF,0xF7,0xBF,0xF7,0xBF,0xEF,0xBF,0xEF,0x9E,0xE7,0x7E,0xE7,0x7E,0xE7,0x5EDB 0xDF,0x3E,0xD7,0x1E,0xD7,0x1E,0xD6,0xFD,0xCE,0xDD,0xCE,0xDD,0xC6,0xBD,0xC6,0xBD DB 0xBE,0xBC,0xBE,0xBC,0xBE,0xBC,0xBE,0x9C,0xBE,0x9C,0xB6,0x9C,0xBE,0x7C,0xB6,0x7C DB 0xB6,0x7C,0xB6,0x7C,0xB6,0x7C,0xB6,0x7C,0xB6,0x7C,0xB6,0x9C,0xB6,0x9C,0xB6,0xBD DB 0xBE,0xBD,0xC6,0xBD,0xC6,0xBD,0xC6,0xBD,0xC6,0xBC,0xC6,0xDC,0xCE,0xDD,0xCE,0xFD DB 0xD7,0x1D,0xDF,0x5D,0xE7,0x7E,0xE7,0x9E,0xE7,0x7E,0xE7,0x5E,0xDF,0x3D,0xD7,0x1D DB 0xBE,0x5B,0xCE,0xDD,0xCE,0xFD,0xD6,0xFD,0xE7,0x9F,0xD7,0x5E,0xAE,0x59,0x95,0x76 DB 0xA5,0xF9,0xAE,0x3A,0xB6,0xBC,0xBE,0xFD,0xB6,0xDC,0xAE,0x5A,0xA5,0xF9,0x9D,0xD8 DB 0xB6,0x38,0xDF,0x7D,0xFF,0xFF,0xFF,0xDF,0xF7,0x7E,0xF7,0x9F,0xF7,0xDF,0xEF,0xBFDB 0xF7,0xBE,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9E,0x6B,0x6EDB 0xF7,0x9E,0xFF,0xFF,0xFF,0xFF,0xF7,0xDF,0xEF,0xBF,0xEF,0x9F,0xE7,0x5E,0xDF,0x5EDB 0xD7,0x1D,0xC6,0xFD,0xBE,0xFC,0xB6,0xFD,0xBE,0xBC,0xCE,0x5B,0xD5,0xDA,0xE5,0x9A DB 0xE5,0xBA,0xDD,0xDB,0xCD,0xFA,0xB5,0xDA,0xA5,0xB9,0x9D,0xB9,0x9D,0xFA,0xA6,0x3B DB 0xAE,0x1B,0xAE,0x3B,0xBE,0x7C,0xC6,0xDD,0xD7,0x3E,0xDF,0x7F,0xD7,0x5E,0xCF,0x1D DB 0xCE,0xFE,0xB6,0xBC,0x9E,0x19,0xA5,0x98,0xCD,0x98,0xED,0x99,0xF5,0x79,0xE5,0x37 DB 0xEC,0xF7,0xEC,0xF7,0xED,0x79,0xED,0xFA,0xCD,0xB9,0xB5,0x77,0xBE,0x3A,0xD7,0x3E DB 0xEF,0xBE,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0xF7,0xBF,0xEF,0x5E,0xD6,0xDC,0xC6,0x7BDB 0xC6,0x59,0xB6,0x18,0xBE,0x3A,0xC6,0x9C,0xAE,0x9B,0xCF,0x7D,0xFE,0xFD,0xF4,0x15 DB 0xE2,0xC,0xC1,0xA9,0xA1,0x6,0xA0,0xE6,0xB9,0x7,0xC0,0xE7,0xC9,0x7,0xD9,0xA9DB 0xE2,0xB,0xDA,0x6E,0x91,0xCC,0x41,0x4B,0x31,0xAE,0x49,0xD1,0x51,0xF1,0x42,0x10 DB 0x52,0x32,0x52,0x52,0x5A,0x72,0x5A,0x93,0x5A,0x93,0x5A,0x93,0x5A,0x73,0x5A,0x73 DB 0x5A,0x73,0x5A,0x73,0x62,0x93,0x62,0x93,0x5A,0x73,0x5A,0x72,0x52,0x32,0x52,0x11 DB 0x49,0xD0,0x29,0xD,0x18,0xC8,0x18,0xA7,0x18,0x46,0x5A,0x6,0xBC,0x89,0xD4,0x8B DB 0x62,0x68,0x20,0x86,0x10,0x48,0x18,0xC8,0x18,0xA6,0x18,0x86,0x10,0x67,0x10,0xA5 DB 0x18,0x86,0x18,0xA6,0x18,0xA7,0x18,0xA8,0x20,0xC9,0x20,0xEA,0x29,0xB,0x29,0x2B DB 0x29,0x2B,0x29,0x4D,0x29,0x4C,0x69,0x4B,0xD1,0x4A,0xD0,0xE7,0xC1,0x26,0xC1,0x7 DB 0x98,0xC5,0xA0,0xA5,0xB9,0x47,0xB0,0xE6,0xB1,0x7,0xD2,0x2B,0xDA,0x2C,0xE2,0xB DB 0xC9,0x28,0xD9,0x8,0xD8,0x66,0xC0,0xC7,0xCB,0x4F,0xFE,0xFB,0xF7,0xFF,0xE7,0xFE DB 0xEF,0xDF,0xCF,0x7D,0xDF,0xBE,0xDF,0x7D,0xFF,0xDF,0xFF,0x9F,0xF7,0x9E,0xF7,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xDF,0xF7,0xDFDB 0xEF,0xBF,0xEF,0x9F,0xE7,0x9F,0xE7,0x5E,0xDF,0x3E,0xD7,0x1D,0xD6,0xFD,0xCE,0xFD DB 0xCE,0xDD,0xC6,0xDD,0xC6,0xBC,0xC6,0x9C,0xBE,0x7C,0xBE,0x5C,0xBE,0x5B,0xBE,0x5B DB 0xB6,0x5B,0xB6,0x5B,0xB6,0x5B,0xB6,0x5B,0xB6,0x3A,0xAE,0x1A,0xAE,0x1A,0xAE,0x1A DB 0xAE,0x1A,0xAD,0xFA,0xAE,0x1A,0xAE,0x1A,0xAE,0x3A,0xAE,0x5B,0xAE,0x5B,0xAE,0x7B DB 0xB6,0x5C,0xB6,0x5C,0xB6,0x5C,0xB6,0x5B,0xB6,0x5B,0xB6,0x7B,0xBE,0x7B,0xBE,0x9C DB 0xBE,0xBC,0xCE,0xDD,0xD7,0x3D,0xDF,0x5E,0xE7,0x7E,0xDF,0x7E,0xDF,0x5E,0xDF,0x5EDB 0xC6,0xBC,0xC6,0x9C,0xB6,0x3A,0xBE,0x3A,0xD7,0x1E,0xDF,0x7F,0xC6,0xDC,0xA5,0xF9 DB 0x9D,0xB8,0xA6,0x19,0xAE,0x9B,0xB6,0xBB,0xA6,0x7A,0x9D,0xF8,0xA5,0xD8,0xAE,0x39 DB 0xE7,0xBE,0xEF,0xDF,0xF7,0xBF,0xEF,0x7E,0xEF,0x5E,0xEF,0x7E,0xE7,0x5E,0xDF,0x3DDB 0xE7,0x5D,0xF7,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0x4A,0x8ADB 0xEF,0x7E,0xF7,0xDF,0xF7,0xDF,0xE7,0x7E,0xDF,0x5E,0xD7,0x1D,0xCE,0xDD,0xC6,0xDD DB 0xBE,0x9C,0xB6,0x7C,0xA6,0x3B,0xA6,0x3B,0xAE,0x1B,0xB6,0x1B,0xC5,0xFA,0xD5,0xFB DB 0xCD,0xDA,0xCD,0xFA,0xBD,0xDA,0xB5,0xD9,0xA5,0x98,0x9D,0x98,0xA5,0x99,0xA5,0xB9 DB 0x9D,0xB9,0x9D,0xB9,0x9D,0x99,0xA5,0xDA,0xAE,0x1B,0xB6,0x7C,0xBE,0x9C,0xBE,0xBC DB 0xC6,0xBD,0xBE,0xBD,0xAE,0x7B,0x9D,0xD9,0xAD,0x78,0xC5,0x98,0xDD,0xD9,0xDD,0xD9 DB 0xED,0xFA,0xED,0xDA,0xE5,0xFA,0xD5,0xDA,0xAD,0x78,0x9D,0x77,0xBE,0x5A,0xE7,0x7F DB 0xEF,0x9E,0xF7,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xF7,0xBF,0xE7,0x3E,0xDE,0xFDDB 0xBD,0xB6,0xCD,0x15,0xC4,0xD5,0xB5,0xD8,0xB6,0xBB,0xCF,0x1C,0xEE,0xFE,0xDE,0x3B DB 0xDA,0x2C,0xB9,0xA9,0xA0,0xE6,0xA0,0xC5,0xB1,0x7,0xC1,0x7,0xC9,0x7,0xD9,0x89DB 0xE1,0xEB,0xE2,0x4D,0xA2,0xD,0x49,0x4B,0x39,0xAF,0x49,0xB1,0x51,0xF1,0x4A,0x30DB 0x5A,0x52,0x5A,0x53,0x5A,0x73,0x62,0x93,0x62,0x94,0x62,0x94,0x62,0x93,0x62,0x93 DB 0x62,0x93,0x62,0x93,0x62,0x93,0x62,0x93,0x62,0x93,0x62,0x93,0x5A,0x72,0x5A,0x52 DB 0x41,0xB0,0x31,0x2E,0x18,0xC8,0x10,0x86,0x10,0x4,0x6A,0x66,0xCC,0xE9,0xDC,0xCA DB 0x41,0x65,0x18,0x86,0x10,0x89,0x10,0xC7,0x10,0xA5,0x18,0x87,0x10,0x66,0x10,0xA6 DB 0x18,0x86,0x18,0xA7,0x20,0xC8,0x20,0xCA,0x28,0xEA,0x29,0xB,0x31,0x4B,0x31,0x4C DB 0x31,0x4D,0x31,0x8E,0x29,0x6C,0x81,0x8C,0xD1,0xA,0xD9,0x7,0xB9,0x66,0xB9,0x6DB 0x90,0xC4,0xA0,0xC5,0xB9,0x47,0xA8,0xC6,0xB1,0x27,0xDA,0x6C,0xDA,0xB,0xE1,0xEB DB 0xD9,0x68,0xC8,0xC7,0xB8,0xC6,0xD3,0x6F,0xFF,0x5C,0xF7,0xFF,0xE7,0xDE,0xEF,0x9FDB 0xCF,0x3D,0xCE,0xFC,0xCF,0x1D,0xD7,0x1D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBEDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,0xEF,0x9E,0xEF,0x9EDB 0xE7,0x5E,0xDF,0x5E,0xD7,0x3E,0xCE,0xFD,0xCE,0xDD,0xC6,0xBC,0xBE,0x9C,0xBE,0x9C DB 0xBE,0x7B,0xB6,0x7B,0xBE,0x5B,0xBE,0x5B,0xBE,0x3B,0xBE,0x3B,0xBE,0x3B,0xBE,0x3B DB 0xBE,0x3A,0xBE,0x5B,0xBE,0x5B,0xC6,0x5B,0xC6,0x5B,0xC6,0x5B,0xC6,0x3B,0xC6,0x3B DB 0xBE,0x5B,0xBE,0x3B,0xBE,0x3B,0xB6,0x3B,0xB6,0x3B,0xB6,0x5B,0xB6,0x5B,0xB6,0x5B DB 0xB6,0x3B,0xB6,0x3B,0xB6,0x3B,0xAE,0x1B,0xAE,0x1A,0xAE,0x3A,0xAE,0x3B,0xAE,0x5B DB 0xB6,0x7C,0xBE,0x7C,0xC6,0xBC,0xCE,0xDD,0xD6,0xFD,0xD7,0x1D,0xD7,0x3E,0xD7,0x3E DB 0xD7,0x7F,0xC6,0xBC,0xAD,0xF9,0xA5,0xB8,0xB6,0x3A,0xD7,0x1E,0xCF,0x1E,0xB6,0x7B DB 0x95,0x97,0x9D,0xF8,0xA6,0x5A,0xA6,0x7A,0x9E,0x18,0x9D,0xD7,0xB6,0x5A,0xD7,0x3D DB 0xFF,0xFF,0xE7,0x7D,0xD7,0x1C,0xDF,0x7E,0xE7,0x7E,0xD6,0xFD,0xD6,0xDC,0xDF,0x1D DB 0xEF,0x9E,0xE7,0x3D,0xD6,0xDB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0x9E,0x4A,0x69DB 0xD6,0xFC,0xDF,0x5E,0xDF,0x5E,0xCE,0xFD,0xC6,0xBC,0xBE,0x9C,0xB6,0x5B,0xB6,0x5B DB 0xAE,0x1A,0xAD,0xFA,0xAD,0xDA,0xAD,0xDA,0xAD,0xDA,0xBD,0xDA,0xC5,0xFA,0xCE,0x1A DB 0xC5,0xF9,0xC5,0xD9,0xC5,0xB9,0xBD,0xB8,0xBD,0xB8,0xBD,0x98,0xBD,0x98,0xBD,0x78 DB 0xAD,0x98,0xA5,0x98,0xA5,0x79,0xA5,0x79,0x9D,0x79,0xA5,0x99,0xAD,0xFA,0xB6,0x3B DB 0xB6,0x5B,0xBE,0x5B,0xB6,0x3C,0xAD,0xFA,0x9D,0xB9,0x9D,0x98,0xB5,0xB9,0xD5,0xFA DB 0xDE,0x1B,0xDE,0x1B,0xD5,0xDA,0xB5,0x99,0x9D,0x77,0xA5,0xD8,0xC6,0x9B,0xE7,0x3E DB 0xEF,0x7E,0xF7,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0xEF,0x9EDB 0xF7,0x9D,0xEE,0x5A,0xBC,0x52,0xA4,0x51,0xC5,0xD7,0xEE,0xFC,0xF7,0x3E,0xD6,0xDC DB 0xD2,0x2B,0xB9,0x89,0xA0,0xC5,0xA0,0xC5,0xB1,0x6,0xB9,0x6,0xC1,0x7,0xD1,0x88DB 0xD9,0xCA,0xE2,0x4D,0xBA,0x6E,0x59,0x8C,0x41,0xCF,0x41,0xB1,0x51,0xF1,0x5A,0x71 DB 0x5A,0x73,0x5A,0x73,0x62,0x93,0x62,0x94,0x62,0x94,0x62,0x94,0x62,0x94,0x62,0x94 DB 0x62,0x93,0x62,0x93,0x62,0x93,0x62,0x94,0x62,0x94,0x62,0x93,0x62,0x73,0x5A,0x73。

arduinotft代码

arduinotft代码

以下是一个基本的Arduino TFT库的使用示例代码。

这个代码将显示一些文本和一些图片。

这个代码是使用Arduino IDE编写的,因此你可以直接把它上传到你的Arduino板上。

首先,确保你已经安装了Adafruit TFT库。

你可以在你的Arduino IDE中,点击“工具”-> “管理库…”-> 在搜索框中输入“Adafruit TFT”-> 点击“安装”。

```cpp#include <Wire.h>#include <Adafruit_GFX.h>#include <Adafruit_ILI9341.h>#include <SPI.h>#define TFT_CS 10#define TFT_RST 9#define TFT_DC 8Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);void setup() {Serial.begin(115200);tft.begin();tft.setRotation(3); // This sets the screen orientation. Adafruit ILI9341 driver supports 0,1,2,3 so you can choose depending on your screen size and resolution}void loop() {// Draw some texttft.clearBuffer(); // clear display buffertft.setTextSize(2); // set text sizetft.setTextColor(WHITE); // set text colortft.setCursor(20, 50); // set text positiontft.println("Hello, world!"); // print text to display// Draw an imageif (!tft.loadImage("test.bmp")) { // if image is not loaded successfullySerial.println("Image not found!"); // print error message to serial monitorwhile (1); // halt program execution}tft.drawImage(0, 0, 320, 240, "test.bmp"); // draw image on the display at position 0,0 with dimensions 320x240tft.display(); // update display buffer to screen}```这个示例代码将通过SPI接口连接一个ILI9341 TFT屏幕,并显示“Hello, world!”文本和一些图片。

ili9320初始化详解

ili9320初始化详解

ili9320初始化详解/*================================================================== =================================文件功能描述:320x240TFT驱动程序,控制TFT实现汉字,字符显示,画点功能。

==================================================================== ================================*///******************包含头文件***************************#include <pic.h> //头文件在HI-TECH安装目录下\HI-TECHSoftware\PICC\std\9.60\include//**************控制端口定义********************#define DataPort PORTB //数据口使用DataPort#define RS RD5 //数据/命令选择#define RW RD4 //写数据/命令#define nRD RD3 //读控制#define CS RD2 //片选#define RES RD1 //复位#define LE RD0 //74HC573锁存控制//**************声明外部函数和变量**************extern unsigned int Device_code;//================================================================== ==============================// 实现功能: 延时// 输入参数: count 设置延时时间//================================================================== ==============================void delayms(unsigned int count){int i,j;for(i=0;i<count;i++){for(j=0;j<255;j++);}}//================================================================== ==============================// 实现功能: 写命令// 输入参数: DH 需要输入16bits命令的高8位// DL 需要输入16bits命令的低8位//================================================================== ==============================void Write_Cmd(unsigned char DH,unsigned char DL){CS=0;RS=0;nRD=1;RW=0;//注意:当使用8位数据口驱动16位数据模式时,使用74HC573作为IO扩展,程序如下DataPort=DH; //送低8位命令给573待锁存LE=1; //锁存位LE=0; //断开锁存,位选573的Q7~Q0仍保持DataPort=DL; //送高8位命令给TFT/*//如果使用16位数据口驱动16位数据模式,则无需IO扩展,直接将数据送到数据口即可DataPort_L=DL;DataPort_H=DH;*/RW=1;CS=1;}//================================================================== ==============================// 实现功能: 写数据(2*8bits)// 输入参数: DH 需要输入16bits数据的高8位// DL 需要输入16bits数据的低8位//================================================================== ==============================void Write_Data(unsigned char DH,unsigned char DL){CS=0;RS=1;//注意:当使用8位数据口驱动16位数据模式时,使用74HC573作为IO扩展,程序如下DataPort=DH; //送低8位数据给573待锁存LE=1; //锁存位LE=0; //断开锁存,位选573的Q7~Q0仍保持DataPort=DL; //送高8位数据给TFT/*//如果使用16位数据口驱动16位数据模式,则无需IO扩展,直接将数据送到数据口即可DataPort_L=DL;DataPort_H=DH;*/RW=0;RW=1;CS=1;}//================================================================== ==============================// 实现功能: 写数据(16位)// 输入参数: y 需要输入16bits数据//================================================================== ==============================void Write_Data_U16(unsigned int y) {unsigned char m,n;m=y>>8;n=y;Write_Data(m,n);}//================================================================== ==============================// 实现功能: 向x寄存器写入y数据// 输入参数: x 需要输入的命令 16位// y 需要输入的数据 16位//================================================================== ==============================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);}//================================================================== ==============================// 实现功能: 设置坐标// 输入参数: x0,y0 起始坐标y1 结束坐标 // x1,//================================================================== ==============================void LCD_SetPos(unsigned int x0,unsigned int x1,unsigned inty0,unsigned int y1){Write_Cmd_Data(0x50,x0); // Horizontal GRAM Start AddressWrite_Cmd_Data(0x51,x1); // Horizontal GRAM End AddressWrite_Cmd_Data(0x52,y0); // Vertical GRAM Start AddressWrite_Cmd_Data(0x53,y1); // Vertical GRAM Start AddressWrite_Cmd_Data(0x20,x0); // GRAM horizontal AddressWrite_Cmd_Data(0x21,y0); // GRAM Vertical AddressWrite_Cmd (0x00,0x22); // 0x0022,Start to Write Data to GRAM } //================================================================== ==============================// 实现功能: TFT清屏// 输入参数: bColor 清屏所使用的背景色//================================================================== ==============================void CLR_Screen(unsigned int bColor){unsigned int i,j;LCD_SetPos(0,240,0,320);//320x240for (i=0;i<320;i++){for (j=0;j<240;j++)Write_Data_U16(bColor);}}//================================================================== ==============================// 实现功能: 显示Ascii字符// 输入参数: x 横坐标// y 纵坐标// c 需要显示的字符// fColor 字符颜色// bColor 字符背景颜色//================================================================== ==============================#include "Ascii_8x16.h"void LCD_PutChar(unsigned short x, unsigned short y, char c, unsigned int fColor, unsigned intbColor){unsigned int i,j;LCD_SetPos(x,x+8-1,y,y+16-1); //设置字符显示位置for(i=0; i<16;i++) { //循环写入16字节,一个字符为16字节unsigned char m=Font8x16[(c-0x20)*16+i]; //提取c字符的第i个字节以,c减去0x20是由于Ascii码库中的0~1f被去掉for(j=0;j<8;j++) { //循环写入8位,一个字节为8位if((m&0x80)==0x80) { //判断最高位是否为1Write_Data_U16(fColor); //最高位为1,写入字符颜色}else {Write_Data_U16(bColor); //最高位为0,写入背景颜色}m<<=1; //左移1位,准备写下一位}}}//================================================================== ==============================// 实现功能: 显示16x16汉字// 输入参数: x 横坐标// y 纵坐标// g 需要显示的字符编码// fColor 字符颜色// bColor 字符背景颜色//================================================================== ==============================#include "chinese.h" //包含16*16汉字字模void Put16x16(unsigned short x, unsigned short y, unsigned char g[], unsigned intfColor,unsigned int bColor){unsigned int i,j,k;LCD_SetPos(x, x+16-1,y, y+16-1); //设置汉字显示位置for (k=0;k<16;k++) //循环64次,查询汉字字模位置{if ((ch16[k].GBK[0]==g[0])&&(ch16[k].GBK[1]==g[1])) //判断第k个汉字的编码是否与输入汉字g[2]相等{for(i=0;i<32;i++) //如果相等,既已找到待显示字模位置,循环写入32字节{unsigned short m=ch16[k].hz16[i]; //读取32字节中的第i字节for(j=0;j<8;j++) //循环写入8位数据{if((m&0x80)==0x80) Write_Data_U16(fColor); //判断最高位是否为1,最高位为1,写入字符颜色else Write_Data_U16(bColor); //最高位为0,写入背景颜色m<<=1; //左移1位,准备写下一位}}}}}//================================================================== ==============================// 实现功能: 显示中英文字符串// 输入参数: x 横坐标// y 纵坐标// *s 待显示的字符串,例如LCD_PutString(24,16,"123蓝芯",White,Blue);即把"123蓝芯"的第一个字符地址赋给指针变量s.// bColor 字符背景颜色//================================================================== ==============================void LCD_PutString(unsigned int x, unsigned int y, unsigned chartab0[], unsigned int fColor,unsigned int bColor){unsigned char l=0,i=0,gbk[2]; //显示屏位置增量while(tab0[i]){if( tab0[i] < 0x80) //判断s指向的字符串中的某字符的编码值是否小于128,如果小于,即为ASCII字符{LCD_PutChar(x+l*8,y,tab0[i],fColor,bColor);//显示该字符i++;l++; //指针加1,位置加1}else{gbk[0]=tab0[i];gbk[1]=tab0[i+1];Put16x16(x+l*8,y,gbk,fColor,bColor);//显示该汉字i+=2;l+=2; //因为汉字为编码为2字节,指针加2,显示16x16所以位置加2 }}}//================================================================== ==============================// 实现功能: 指定位置显示RGB颜色// 输入参数: x0,y0 起始坐标// x1,y1 结束坐标// Color 背景颜色//================================================================== ==============================void Show_RGB (unsigned int x0,unsigned int x1,unsigned inty0,unsigned int y1,unsigned intColor){unsigned int i,j;LCD_SetPos(x0,x1,y0,y1); //设置显示位置for (i=y0;i<=y1;i++){for (j=x0;j<=x1;j++)Write_Data_U16(Color);}}//================================================================== ==============================// 实现功能: TFT初始化//================================================================== ==============================void TFT_Initial(void){RES = 1;delayms(1); // Delay 1msRES = 0;delayms(10); // Delay 10msRES = 1;delayms(50); // Delay 50 msif(Device_code==0x9320){//************* Start Initial Sequence **********//Write_Cmd_Data(0x00,0x0001); //Set the OSC bit as ‘1’ to start the internal oscillatorWrite_Cmd_Data(0x01,0x0100); // set SS and SM bitWrite_Cmd_Data(0x02,0x0700); // set 1 line inversionWrite_Cmd_Data(0x03,0x1030); //set GRAM Write direction and BGR=1//竖屏设置为0x1030,横屏则设置为0x1098Write_Cmd_Data(0x04,0x0000); // Resize registerWrite_Cmd_Data(0x08,0x0202); // set the back porch and front porchWrite_Cmd_Data(0x09,0x0000); // set non-display area refresh cycle ISC[3:0]Write_Cmd_Data(0x0A,0x0000); // FMARK functionWrite_Cmd_Data(0x0C,0x0000); // RGB interface settingWrite_Cmd_Data(0x0D,0x0000); // Frame marker PositionWrite_Cmd_Data(0x0F,0x0000); // RGB interface polaritydelayms(30);//*************Power On sequence ****************//Write_Cmd_Data(0x10, 0x16b0); // SAP, BT[3:0], AP, DSTB, SLP, STB delayms(30);Write_Cmd_Data(0x11, 0x0007); //Write final user’s setting values to VC bitWrite_Cmd_Data(0x12, 0x013a); // set Internal reference voltage Write_Cmd_Data(0x13, 0x1a00); // VDV[4:0] for VCOM amplitudedelayms(30);Write_Cmd_Data(0x29, 0x000c); // Set VCM[5:0] for VCOMHdelayms(30); // Delay 50ms// ----------- Adjust the Gamma Curve ----------//Write_Cmd_Data(0x0030, 0x0000);Write_Cmd_Data(0x0031, 0x0505);Write_Cmd_Data(0x0032, 0x0304);Write_Cmd_Data(0x0035, 0x0006);Write_Cmd_Data(0x0036, 0x0707);Write_Cmd_Data(0x0037, 0x0105);Write_Cmd_Data(0x0038, 0x0002);Write_Cmd_Data(0x0039, 0x0707);Write_Cmd_Data(0x003C, 0x0704);Write_Cmd_Data(0x003D, 0x0807);//------------------ Set GRAM area ---------------//Write_Cmd_Data(0x0050, 0x0000); // Horizontal GRAM Start Address Write_Cmd_Data(0x0051, 0x00EF); // Horizontal GRAM End Address Write_Cmd_Data(0x0052, 0x0000); // Vertical GRAM Start Address Write_Cmd_Data(0x0053, 0x013F); // Vertical GRAM Start Address Write_Cmd_Data(0x0060, 0x2700); // Gate Scan LineWrite_Cmd_Data(0x0061, 0x0001); // NDL,VLE, REVWrite_Cmd_Data(0x006A, 0x0000); // set scrolling lineWrite_Cmd_Data(0x20, 0x0000); // GRAM horizontal AddressWrite_Cmd_Data(0x21, 0x0000); // GRAM Vertical Address//-------------- Partial Display Control ---------//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);//-------------- Panel Control ---------//Write_Cmd_Data(0x90,0x0010); //Frame Cycle ContralWrite_Cmd_Data(0x92,0x0000); //Panel Interface ContralWrite_Cmd_Data(0x93,0x0003); //Panel Interface Contral 3.Write_Cmd_Data(0x95,0x0110); //Frame Cycle ContralWrite_Cmd_Data(0x97,0x0000); //Write_Cmd_Data(0x98,0x0000); //Frame Cycle Contral.//-------------- Display on ---------//Write_Cmd_Data(0x07,0x0173);}else if(Device_code==0x1505 ){//************* Start Initial Sequence **********//Write_Cm d_Data(0x00,0x0001); //Set the OSC bit as ‘1’ to start the internal oscillatorWrite_Cmd_Data(0x01,0x0100); // set SS and SM bitWrite_Cmd_Data(0x02,0x0700); // set 1 line inversionWrite_Cmd_Data(0x03,0x1030); //set GRAM Write direction and BGR=1 Write_Cmd_Data(0x04,0x0000); // Resize registerWrite_Cmd_Data(0x08,0x0202); // set the back porch and front porch Write_Cmd_Data(0x09,0x0000); // set non-display area refresh cycle ISC[3:0]Write_Cmd_Data(0x0A,0x0000); // FMARK functionWrite_Cmd_Data(0x0C,0x0000); // RGB interface settingWrite_Cmd_Data(0x0D,0x0000); // Frame marker PositionWrite_Cmd_Data(0x0F,0x0000); // RGB interface polaritydelayms(30);//*************Power On sequence ****************//Write_Cmd_Data(0x10, 0x16b0); // SAP, BT[3:0], AP, DSTB, SLP, STB delayms(30);Write_Cmd_Data(0x11, 0x0007); //Write final user’s setting values to VC bitWrite_Cmd_Data(0x12, 0x013a); // set Internal reference voltage Write_Cmd_Data(0x13, 0x1a00); // VDV[4:0] for VCOM amplitudedelayms(30);Write_Cmd_Data(0x29, 0x000c); // Set VCM[5:0] for VCOMHdelayms(30); // Delay 50ms// ----------- Adjust the Gamma Curve ----------//Write_Cmd_Data(0x0030, 0x0000);Write_Cmd_Data(0x0031, 0x0505);Write_Cmd_Data(0x0032, 0x0304);Write_Cmd_Data(0x0035, 0x0006);Write_Cmd_Data(0x0036, 0x0707);Write_Cmd_Data(0x0037, 0x0105);Write_Cmd_Data(0x0038, 0x0002);Write_Cmd_Data(0x0039, 0x0707);Write_Cmd_Data(0x003C, 0x0704);Write_Cmd_Data(0x003D, 0x0807);//------------------ Set GRAM area ---------------//Write_Cmd_Data(0x0050, 0x0000); // Horizontal GRAM Start Address Write_Cmd_Data(0x0051, 0x00EF); // Horizontal GRAM End AddressWrite_Cmd_Data(0x0052, 0x0000); // Vertical GRAM Start Address Write_Cmd_Data(0x0053, 0x013F); // Vertical GRAM Start Address Write_Cmd_Data(0x0060, 0x2700); // Gate Scan LineWrite_Cmd_Data(0x0061, 0x0001); // NDL,VLE, REVWrite_Cmd_Data(0x006A, 0x2700); // set scrolling lineWrite_Cmd_Data(0x20, 0x0000); // GRAM horizontal AddressWrite_Cmd_Data(0x21, 0x0000); // GRAM Vertical Address//-------------- Partial Display Control ---------//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);//-------------- Panel Control ---------//Write_Cmd_Data(0x90,0x0010); //Frame Cycle ContralWrite_Cmd_Data(0x92,0x0000); //Panel Interface ContralWrite_Cmd_Data(0x93,0x0003); //Panel Interface Contral 3. Write_Cmd_Data(0x95,0x0110); //Frame Cycle ContralWrite_Cmd_Data(0x97,0x0000); //Write_Cmd_Data(0x98,0x0000); //Frame Cycle Contral.//-------------- Display on ---------//Write_Cmd_Data(0x07,0x0173);}else if(Device_code==0x9328){//************* Start Initial Sequence **********//Write_Cmd_Data(0x0001,0x0100); //set SS and SM bit //设置扫描方向Write_Cmd_Data(0x0002,0x0700); //EOR=1 and B/C=1 to set the line inversion //设置行反转Write_Cmd_Data(0x0003,0x1030); //set Entry Mode //设置进入模式Write_Cmd_Data(0x0004,0x0000); //Write_Cmd_Data(0x00A4,0x0001);Write_Cmd_Data(0x0008,0x0202); // set the back porch and front porch Write_Cmd_Data(0x0009,0x0000); // set non-display area refresh cycle ISC[3:0]Write_Cmd_Data(0x000A,0x0000); // FMARK functionWrite_Cmd_Data(0x000C,0x0000); // RGB interface settingWrite_Cmd_Data(0x000D, 0x0000); // Frame marker PositionWrite_Cmd_Data(0x000F, 0x0000); // RGB interface polarity//*************Power On sequence ****************//Write_Cmd_Data(0x0010, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB Write_Cmd_Data(0x0011, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]Write_Cmd_Data(0x0012, 0x0000); // VREG1OUT voltageWrite_Cmd_Data(0x0013, 0x0000); // VDV[4:0] for VCOM amplitudedelayms(30);Write_Cmd_Data(0x0010, 0x1690); // SAP, BT[3:0], AP, DSTB, SLP, STBWrite_Cmd_Data(0x0011, 0x0227); // R11h=0x0221 at VCI=3.3V, DC1[2:0], DC0[2:0],VC[2:0]delayms(30);Write_Cmd_Data(0x0012, 0x001C); // External reference voltage= Vci;delayms(30);Write_Cmd_Data(0x0013, 0x1800); // R13=1200 when R12=009D;VDV[4:0]for VCOMamplitudeWrite_Cmd_Data(0x0029, 0x001C); // R29=000C when R12=009D;VCM[5:0]for VCOMHWrite_Cmd_Data(0x002B, 0x000D); // Frame Rate = 91Hzdelayms(30);Write_Cmd_Data(0x0020, 0x0000); // GRAM horizontal AddressWrite_Cmd_Data(0x0021, 0x0000); // GRAM Vertical Address// ----------- Adjust the Gamma Curve ----------//Write_Cmd_Data(0x0030, 0x0007);Write_Cmd_Data(0x0031, 0x0302);Write_Cmd_Data(0x0032, 0x0105);Write_Cmd_Data(0x0035, 0x0206);Write_Cmd_Data(0x0036, 0x0808);Write_Cmd_Data(0x0037, 0x0206);Write_Cmd_Data(0x0038, 0x0504);Write_Cmd_Data(0x0039, 0x0007);Write_Cmd_Data(0x003C, 0x0105);Write_Cmd_Data(0x003D, 0x0808);//------------------ Set GRAM area ---------------//Write_Cmd_Data(0x0050, 0x0000); // Horizontal GRAM Start Address Write_Cmd_Data(0x0051, 0x00EF); // Horizontal GRAM End Address Write_Cmd_Data(0x0052, 0x0000); // Vertical GRAM Start Address delayms(30);Write_Cmd_Data(0x0053, 0x013F); // Vertical GRAM Start Address delayms(30);Write_Cmd_Data(0x0060, 0xA700); // Gate Scan LineWrite_Cmd_Data(0x0061, 0x0001); // NDL,VLE, REVWrite_Cmd_Data(0x006A, 0x0000); // set scrolling line//-------------- Partial Display Control ---------//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);//-------------- Panel Control -------------------//Write_Cmd_Data(0x0090, 0x0010);Write_Cmd_Data(0x0092, 0x0000);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); // 262K color and display ON}}//================================================================== ==============================// 实现功能: 画点// 输入参数: x,y 需要画点坐标// color 点的颜色//================================================================== ==============================void Put_pixel(unsigned int x,unsigned int y,unsigned int color) { LCD_SetPos(x,x,y,y); //设置待画点坐标Write_Data_U16(color); //在指定点写入颜色数据}。

9341高8位驱动

9341高8位驱动

#include "lcd.h"#include "delay.h"#include "stdlib.h"u16 POINT_COLOR = Black,BACK_COLOR = White; //背景色:白画点色:黑void LCD_GPIO(void){//GPIOB.0为RD引脚,GPIOB.1为WR引脚GPIOB->BSRR = (BV(0)|BV(1));GPIOB->CRL &= 0xffffff00;GPIOB->CRL |= 0x00000033;//GPIOC.11,15推挽输出GPIOC->BSRR = (BV(11)|BV(15)|BV(14));GPIOC->CRH &= 0x00ff0fff;GPIOC->CRH |= 0x33003000;//GPIOA.8-15为屏数据线GPIOA->CRH = 0x33333333;//GPIOA->ODR|= 0Xffff;//背光PB.15推挽输出GPIOB->BSRR = BV(15);GPIOB->CRH &= 0x0fffffff;GPIOB->CRH |= 0x30000000;}//写数据函数void LCD_WR_DATA(u8 data){LCD_RS_SET;LCD_CS_CLR; //拉低有效//LCD_RD_SET; //开启//LCD_RS_SET; //读写数据DA TAOUT(data);LCD_WR_CLR; //写入LCD_WR_SET; //写完LCD_CS_SET; //释放器件}//写寄存器函数void LCD_WR_REG(u8 reg){LCD_RS_CLR;LCD_CS_CLR; //片选//LCD_RD_SET; //开启//LCD_RS_CLR; //读写命令DA TAOUT(reg);LCD_WR_CLR;LCD_WR_SET; //写完LCD_CS_SET; //释放器件}//LcdWriteColorData//写液晶颜色数据void LcdWriteColorData(u16 color){LCD_RS_SET;LCD_CS_CLR;//LCD_RD_SET;//LCD_RS_SET;DA TAOUT(color>>8); //先写入高8位LCD_WR_CLR;LCD_WR_SET;DA TAOUT(color); //写入低8位LCD_WR_CLR;LCD_WR_SET;LCD_CS_SET;}//LCD初始化void LCD_Init(void){LCD_GPIO();LCD_REST_SET;delay_ms(100);LCD_REST_CLR;delay_ms(800);LCD_REST_SET;delay_ms(800);//************* Start Initial Sequence **********//LCD_WR_REG(0x11); //Exit Sleepdelay_ms(120);LCD_WR_REG(0xCB); //AP[2:0]LCD_WR_DATA(0x01);LCD_WR_REG(0xC0); //Power controlLCD_WR_DATA(0x26);//VRH[5:0]LCD_WR_DATA(0x01);//VC[2:0]LCD_WR_REG(0xC1); //Power controlLCD_WR_DATA(0x10);//SAP[2:0];BT[3:0]LCD_WR_REG(0xC5); //VCM controlLCD_WR_DATA(0x31);LCD_WR_DATA(0x3C);LCD_WR_REG(0x26); //Gamma curve selectedLCD_WR_DATA(0x01);LCD_WR_REG(0xB6);LCD_WR_DATA(0x0A);LCD_WR_DATA(0xC2);LCD_WR_REG(0x36); // Memory Access Control LCD_WR_DATA(0x68);LCD_WR_REG(0x3A); //Set_pixel_formatLCD_WR_DATA(0x05); //64k colorLCD_WR_REG(0xE0); //Set Gamma 正极伽马校准LCD_WR_DATA(0x10);LCD_WR_DATA(0x10);LCD_WR_DATA(0x10);LCD_WR_DATA(0x08);LCD_WR_DATA(0x0E);LCD_WR_DATA(0x06);LCD_WR_DATA(0x42);LCD_WR_DATA(0x28);LCD_WR_DATA(0x36);LCD_WR_DATA(0x03);LCD_WR_DATA(0x0E);LCD_WR_DATA(0x04);LCD_WR_DATA(0x13);LCD_WR_DATA(0x0E);LCD_WR_DATA(0x0C);LCD_WR_REG(0XE1); //Set Gamma 负极伽马校准LCD_WR_DATA(0x0C);LCD_WR_DATA(0x23);LCD_WR_DATA(0x26);LCD_WR_DATA(0x04);LCD_WR_DATA(0x0C);LCD_WR_DATA(0x04);LCD_WR_DATA(0x39);LCD_WR_DATA(0x24);LCD_WR_DATA(0x4B);LCD_WR_DATA(0x03);LCD_WR_DATA(0x0B);LCD_WR_DATA(0x0B);LCD_WR_DATA(0x33);LCD_WR_DATA(0x37);LCD_WR_DATA(0x0F);// 横屏:左上角到(起点)到右下角(终点)扫描方式LCD_WR_REG(0x2a);LCD_WR_DATA(0x00);LCD_WR_DATA(0x00);LCD_WR_DATA(0x00);LCD_WR_DATA(0xef);LCD_WR_REG(0x2b); //LCD_WR_DATA(0x00);LCD_WR_DATA(0x00);LCD_WR_DATA(0x01);LCD_WR_DATA(0x3f);LCD_WR_REG(0x29); //display on 开显示delay_ms(100);LCD_WR_REG(0x2c);delay_ms(10000);}//SetDisplayArea//设置显示区域void SetDisplayArea(u16 StartX,u16 StartY,u16 EndX,u16 EndY) {LCD_WR_REG(0x2a);LCD_WR_DATA(StartX>>8);LCD_WR_DATA(StartX&0xff);LCD_WR_DATA(EndX>>8);LCD_WR_DATA(EndX&0xff);LCD_WR_REG(0x2b);LCD_WR_DATA(StartY>>8);LCD_WR_DATA(StartY&0xff);LCD_WR_DATA(EndY>>8);LCD_WR_DATA(EndY&0xff);LCD_WR_REG(0x2c);}//LcdFill//填充LCDvoid LcdFill(u16 x,u16 y,u16 Width,u16 Height,u16 color){SetDisplayArea(x, y, (x+Width-1), (y+Height-1));LCD_WR_REG(0x2c);for(x=0;x<Width;x++){for(y=0;y<Height;y++){LcdWriteColorData(color);}}}//LcdClear//清除LCDvoid LcdClear(u16 color){u16 i, j;SetDisplayArea(0, 0, 319,239);for(i=0;i<240;i++)for(j=0;j<320;j++)LcdWriteColorData(color);}。

ILI9341讲解

ILI9341讲解

IC(ILI9341)讲解姚青华2011年5月15日讲解内容:•简单介绍•(一)ILI9341特点•(二)ILI9341框图•(三)芯片管脚★•(四)芯片尺寸•(五)块功能简述•(六)功能详述★•(七)命令寄存器★•(八)RAM•(九)同步信号TE •(十)省电模式•(十一)上电/断电顺序•(十二)功率等级定义•(十三)Gamma曲线设置•(十四)复位•(十五)电源配置电路•(十六)烧录•(十七)电气特性ILI9341是一颗单片系统级,262,144色,分辨率为240RGB X 320的TFT液晶驱动芯片。

芯片内部包括一个720个通道源驱动,320个通道门驱动器,一个172,800字节图形显示数据的GRAM 240 RGB X 320D点,并带有供电模拟电路。

解释:262,144色=R5 R4 R3 R2 R1 R0 ,G5 G4 G3 G2 G1 G0 ,B5 B4 B3 B2 B1 B0=2^6 X 2^6 X 2^6。

720个通道源驱动= 240RGB = 240 X 3 =720320个通道门,不言而喻172,800字节GRAM=(240x320x18)/8。

成本构成:通道源数+通道门数+GRAM大小+通信接口+模拟电路拓展:大尺寸屏的驱动通常是多个单独的通道源驱动和门驱动芯片驱动。

(一)ILI9341特点1、显示分辨率:[240xRGB](H)x320(V)。

2、输出:720源输出,320门输出,常见的电极输出VCOM。

3、GRAM:172,800字节。

4、接口:8/9/16/18位,8080模式MCU接口;6/16/18位RGB接口;3/4线串口。

5、显示模式:全彩模式(空闲模式关闭),26万色(颜色深度模式可由软件设定);减色模式(空闲模式),8色阶。

6、省电模式:睡眠模式。

7、片上功能:VCOM生成和调整;时序发生器;振荡器;直流/直流转换器;线翻转/帧翻转;独立的RGB伽马校正预设伽马曲线。

ILI9341初始化程序_带注释介绍

ILI9341初始化程序_带注释介绍

ILI9341a-Si TFT LCD Single Chip Driver with 240RGBx320 Resolution and 262K colorApplication NotesVersion: Preliminary V0.7Date: Mar. 22th 2011ILI TECHNOLOGY CORP.8F, No.38, Taiyuan St., Jhubei City, Hsinchu County 302,Taiwan, R.O.CTel.886-3-5600099; Fax.886-3-56000551.LGD 2.6” PANEL (3)1.1FPC A PPLICATION C IRCUIT (3)1.2LG2.8” I NITIAL C ODE (4)2.1BOE 2.0_2.4_3.14 FPC A PPLICATION C IRCUIT (8)2.2BOE2.0” I NITIAL C ODE (9)2.3BOE2.4” I NITIAL C ODE (12)2.3BOE2.4” I NITIAL C ODE (15)3.TM 2.2” 2.4” PANEL (20)3.1FPC A PPLICATION C IRCUIT (20)3.2TM2.4 INCH INITIAL CODE (21)3.3TM2.8 INCH INITIAL CODE (25)4.1HSD2.8 INCH INITIAL CODE (29)R EVISION H ISTORY1. LGD2.6/2.8 Panel1.1 FPC Application CircuitD B 13S D O C 11+V S Y N CI M 1V C O R EC 11U F /6.3VD B 0C 12+C 22+L E D +C S X R D X D B 15V G HI M 3L E D -C81U F /6.3V D B 1C 12-Connector 401234567891011121314151617181920212223242526272829333631323940373830343512345678910111213141516171819202122232425262728293336313239403738303435E N A B L E D B 5D B 11D B 3D B 14I M 0V D D I D B 10T E D B 2C 61U F /10V C 41U F /25VG N D D B 16C 22-V C I C 71U F /10V C 31U F /6.3VD B 7V C LD B 8V G LG N D D C X C 51U F /25VH S Y N C D B 12W R X C 91U F /6.3VC 21-D B 6D B 4C 21U F /6.3V S D A D O T C L K C 11-D B 17RE S X C 21+D D V D HI M 2D B 91.2 LG2.8” Initial Codevoid ILI9341_LG2.8_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************// LCD_nRESET = 1; delayms(1);// Delay 1msLCD_nRESET = 0; delayms(10);// Delay 10ms // This delay time is necessaryLCD_nRESET = 1; delayms(120);// Delay 120 ms//************* Start Initial Sequence **********// LCD_ILI9341_CMD(0xCB); LCD_ILI9341_ Parameter (0x39); LCD_ILI9341_ Parameter (0x2C); LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34); LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0XC1); LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xE8); LCD_ILI9341_ Parameter (0x85); LCD_ILI9341_ Parameter (0x00); LCD_ILI9341_ Parameter (0x78);LCD_ILI9341_CMD(0xEA); LCD_ILI9341_ Parameter (0x00); LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xED); LCD_ILI9341_ Parameter (0x64); LCD_ILI9341_ Parameter (0x03); LCD_ILI9341_ Parameter (0X12); LCD_ILI9341_ Parameter (0X81) //功耗控制A //功耗控制B//内核电压控制//DDVDH控制//Power控制//驱动时序控制A//栅极驱动器的非重叠时序控制//EQ时序控制//预充电时间控制//驱动时序控制B//栅极驱动器时序控制//电源序列控制//软启动控制//电源序列控制//电源序列控制//DDVDH增强模式LCD_ILI9341_CMD(0xF7); LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xC0);//Power control LCD_ILI9341_ Parameter (0x1b);//VRH[5:0]LCD_ILI9341_CMD(0xC1);//Power controlLCD_ILI9341_ Parameter (0x10);//SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5);//VCM control LCD_ILI9341_ Parameter (0x2d); LCD_ILI9341_ Parameter (0x33);//LCD_ILI9341_CMD(0xC7);//VCM control2//LCD_ILI9341_ Parameter (0xCf);LCD_ILI9341_CMD(0x36);// Memory Access Control LCD_ILI9341_ Parameter (0x48);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00); LCD_ILI9341_ Parameter (0x1d);LCD_ILI9341_CMD(0xB6);// Display Function Control LCD_ILI9341_ Parameter (0x0A); LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF2);// 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26);//Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0);//Set Gamma LCD_ILI9341_ Parameter (0x0F); LCD_ILI9341_ Parameter (0x3a); LCD_ILI9341_ Parameter (0x36); LCD_ILI9341_ Parameter (0x0b);//泵比控制//比率控制//功耗控制1//设置GVDD电平//功耗控制2//设置用于升压电路的因子//VCOM控制1//设置VCOMH电压//设置VCOML电压//VCOM控制2//设置VCOM偏移电压//存储器访问控制//该指令定义帧存储器的读写扫描方向//(正常模式/全色模式下)帧速率控制//内部时钟分频设置,00时表示不分频//RTNA设置,用于设置1H(行)的时间//显示功能设置//设置在没显示区域的扫描格式,0A表示间隔扫描//设置源极、栅极驱动器的移动方向和扫描周期//使能3G//01使能3G,00不使能//伽马设置//选择伽马曲线1//正极伽马校准LCD_ILI9341_ Parameter (0x0d); LCD_ILI9341_ Parameter (0x06); LCD_ILI9341_ Parameter (0x4c); LCD_ILI9341_ Parameter (0x91); LCD_ILI9341_ Parameter (0x31); LCD_ILI9341_ Parameter (0x08); LCD_ILI9341_ Parameter (0x10); LCD_ILI9341_ Parameter (0x04); LCD_ILI9341_ Parameter (0x11); LCD_ILI9341_ Parameter (0x0c); LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x0a);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x12);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x2c);LCD_ILI9341_ Parameter (0x92);LCD_ILI9341_ Parameter (0x3f);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x0e);LCD_ILI9341_ Parameter (0x0b);LCD_ILI9341_ Parameter (0x2e);LCD_ILI9341_ Parameter (0x33);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on } //负极伽马校准//退出睡眠模式//开显示void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offDelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep_ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on}2. BOE 2.0” 2.4”3.14 Panel2.1 FPC Application Circuit0000002.2 BOE 2.0” Initial Codevoid ILI9341_BOE2.0_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x81);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x78);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x21); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x3F);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0Xab);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x48);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x27);LCD_ILI9341_ Parameter (0x25);LCD_ILI9341_ Parameter (0x0a);LCD_ILI9341_ Parameter (0x0E);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x56);LCD_ILI9341_ Parameter (0X98);LCD_ILI9341_ Parameter (0x49);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0x31);LCD_ILI9341_ Parameter (0x30);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x18);LCD_ILI9341_ Parameter (0x1a);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x11);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x29);LCD_ILI9341_ Parameter (0x67);LCD_ILI9341_ Parameter (0x36);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_ Parameter (0x0c);LCD_ILI9341_ Parameter (0x0e);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on }2.3 BOE 2.4” Initial Codevoid ILI9341_BOE2.4_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x81);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x78);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x21); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x3F);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0Xb5);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x48);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x26);LCD_ILI9341_ Parameter (0x24);LCD_ILI9341_ Parameter (0x0B);LCD_ILI9341_ Parameter (0x0E);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x54);LCD_ILI9341_ Parameter (0XA8);LCD_ILI9341_ Parameter (0x46);LCD_ILI9341_ Parameter (0x0C);LCD_ILI9341_ Parameter (0x17);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x19);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x2A);LCD_ILI9341_ Parameter (0x47);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x30);LCD_ILI9341_ Parameter (0x38);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on }void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on}2.4 BOE3.14” Initial Codevoid ILI9341_BOE3.14_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0xc1);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x78);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x16);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x10); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x10); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x30);LCD_ILI9341_ Parameter (0x50);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0XA4);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x29);LCD_ILI9341_ Parameter (0x24);LCD_ILI9341_ Parameter (0x0c);LCD_ILI9341_ Parameter (0x0e);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x4e);LCD_ILI9341_ Parameter (0X78);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x13);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x17);LCD_ILI9341_ Parameter (0x11);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x16);LCD_ILI9341_ Parameter (0x1b);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_ Parameter (0x11);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x31);LCD_ILI9341_ Parameter (0x33);LCD_ILI9341_ Parameter (0x42);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x0C);LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0x28);LCD_ILI9341_ Parameter (0x2f);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on }void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on}a-Si TFT LCD Single Chip Driver 240RGBx320 Resolution and 262K color ILI9341 3. TM 2.2” 2.4” Panel 3.1 FPC Application Circuit0000ILI9341 for TM 2.4" 2.2" Panel 0 003.2 Tianma 2.4” Initial Codevoid ILI9341_Tianma2.4_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x81);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x7A);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x21); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x3F);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0Xa7);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x48);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x23);LCD_ILI9341_ Parameter (0x1F);LCD_ILI9341_ Parameter (0x0B);LCD_ILI9341_ Parameter (0x0E);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x4B);LCD_ILI9341_ Parameter (0XA8);LCD_ILI9341_ Parameter (0x3B);LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0x14);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1C);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x47);LCD_ILI9341_ Parameter (0x44);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x0B);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x2F);LCD_ILI9341_ Parameter (0x36);LCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_CMD(0x11); //Exit Sleep Delayms(120);LCD_ILI9341_CMD(0x29); //Display on }void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on3.2 Tianma 2.8” Initial Codevoid ILI9341_Tianma2.8_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x83);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_ Parameter (0x79);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x1D); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x33);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0Xbe);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x23);LCD_ILI9341_ Parameter (0x1F);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_ Parameter (0x4B);LCD_ILI9341_ Parameter (0Xf2);LCD_ILI9341_ Parameter (0x38);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x13);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0x12);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1d);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_ Parameter (0x11);LCD_ILI9341_ Parameter (0x07);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x81);LCD_ILI9341_ Parameter (0x46);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x0e);LCD_ILI9341_ Parameter (0x0c);LCD_ILI9341_ Parameter (0x32);LCD_ILI9341_ Parameter (0x38);LCD_ILI9341_ Parameter (0x0F);}void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display on4.1 HSD 2.8” Initial Codevoid ILI9341_HSD2.8_Initial(void){// VCI=2.8V//************* Reset LCD Driver ****************//LCD_nRESET = 1;delayms(1); // Delay 1msLCD_nRESET = 0;delayms(10); // Delay 10ms // This delay time is necessary LCD_nRESET = 1;delayms(120); // Delay 120 ms//************* Start Initial Sequence **********//LCD_ILI9341_CMD(0xCF);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0xC1);LCD_ILI9341_ Parameter (0X30);LCD_ILI9341_CMD(0xED);LCD_ILI9341_ Parameter (0x64);LCD_ILI9341_ Parameter (0x03);LCD_ILI9341_ Parameter (0X12);LCD_ILI9341_ Parameter (0X81);LCD_ILI9341_CMD(0xE8);LCD_ILI9341_ Parameter (0x85);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x7A);LCD_ILI9341_CMD(0xCB);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x2C);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x34);LCD_ILI9341_ Parameter (0x02);LCD_ILI9341_CMD(0xF7);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_CMD(0xEA);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0xC0); //Power controlLCD_ILI9341_ Parameter (0x21); //VRH[5:0]LCD_ILI9341_CMD(0xC1); //Power controlLCD_ILI9341_ Parameter (0x11); //SAP[2:0];BT[3:0]LCD_ILI9341_CMD(0xC5); //VCM controlLCD_ILI9341_ Parameter (0x31);LCD_ILI9341_ Parameter (0x3C);LCD_ILI9341_CMD(0xC7); //VCM control2LCD_ILI9341_ Parameter (0X9f);LCD_ILI9341_CMD(0x36); // Memory Access Control LCD_ILI9341_ Parameter (0x08);LCD_ILI9341_CMD(0xB1);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1B);LCD_ILI9341_CMD(0xB6); // Display Function Control LCD_ILI9341_ Parameter (0x0A);LCD_ILI9341_ Parameter (0xA2);LCD_ILI9341_CMD(0xF2); // 3Gamma Function Disable LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0x26); //Gamma curve selected LCD_ILI9341_ Parameter (0x01);LCD_ILI9341_CMD(0xE0); //Set GammaLCD_ILI9341_ Parameter (0x0F);LCD_ILI9341_ Parameter (0x20);LCD_ILI9341_ Parameter (0x1d);LCD_ILI9341_ Parameter (0x0b);LCD_ILI9341_ Parameter (0x10);LCD_ILI9341_ Parameter (0x0a);LCD_ILI9341_ Parameter (0x49);LCD_ILI9341_ Parameter (0Xa9);LCD_ILI9341_ Parameter (0x3b);LCD_ILI9341_ Parameter (0x0a);LCD_ILI9341_ Parameter (0x15);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x0c);LCD_ILI9341_ Parameter (0x06);LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_CMD(0XE1); //Set Gamma LCD_ILI9341_ Parameter (0x00);LCD_ILI9341_ Parameter (0x1f);LCD_ILI9341_ Parameter (0x22);LCD_ILI9341_ Parameter (0x04);LCD_ILI9341_ Parameter (0x0f);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x36);LCD_ILI9341_ Parameter (0x46);LCD_ILI9341_ Parameter (0x46);LCD_ILI9341_ Parameter (0x05);LCD_ILI9341_ Parameter (0x0b);LCD_ILI9341_ Parameter (0x09);LCD_ILI9341_ Parameter (0x33);LCD_ILI9341_ Parameter (0x39);LCD_ILI9341_ Parameter (0x0F);}void LCD_Enter Sleep_ILI9341(void){LCD_ILI9341_CMD(0x28); // Display offdelayms(20);LCD_ILI9341_CMD(0x10); // Enter Sleep mode }void LCD_Exit Sleep _ILI9341(void){LCD_ILI9341_CMD(0x11); // Sleep out Delayms(120);LCD_ILI9341_CMD(0x29); // Display onRevision HistoryRevision HistoryVersion No. Date Page Description V01 2010/09/14 All New CreationV02 2010/10/26 All Modified VCI1 GND,C31M GNDAdd BOE2.0” BOE2.4” LG2.6” initial code V03 2010/12/20 All Remove command EFV0.4 2011/02/20 ALL Add 1uF capacitor in Vcore padV0.5 2011/03/08 ALL Add Tianma initial code and modify LG/BOE initial code V0.6 2011/03/11 ALL Modify TM 2.4 and BOE initial codeV0.7 2011/03/22 ALL Add LG 2.8 TM2.8 BOE 3.14 HSD 2.8 initial code。

电子秤stm程序

电子秤stm程序

#i n c l u d e"l e d.h" #include"sys.h"#include"delay.h"#include"adc.h"#include"lcd.h"#include"usart.h"#include"lcdfot.h"#include"hx711.h"#include"key.h"intmain(void){u8num,flag;floatvol1;delay_init();uart_init(9600);LED_Init();LCD_Init();Adc_Init();KEY_Init();HX711_Init();POINT_COLOR=RED;HZ_show();LCD_ShowString(54+25,55,200,24,16,":000.00g");//提示信息显示LCD_ShowString(54+25,85,200,24,16,":00.00$");//提示信息显示LCD_ShowString(54+25,115,200,24,16,":000.00$");//提示信息显示LCD_ShowString(54+25,145,200,24,16,":000.00g");//提示信息显示while(1){vol1=HX711_count();if(KEY_Scan(1)==WKUP_PRES)//单价设置num的值可直接用{num++;if(num==100)num=0;LCD_ShowxNum(54+25+8,85,num,2,16,0);}if(KEY_Scan(1)==KEY0_PRES)//控制金额是否累加flag=1是累加flag=0不累加{HZ_show_moy();flag++;LED0=0;if(flag==2){LED0=1;LCD_ShowString(54+25+32+30,115,200,16,16,"");flag=0;}printf("%d",flag);}delay_ms(300);LED1=!LED1;}}#include"lcd.h"#include"lcdfot.h"u8table1[]={0x00,0x00,0x00,0x00,0x00,0x04,0x02,0x00,0x04,0x02,0x00,0x04,0x0 2,0x00,0x24,0x0A,0xFF,0xA4,0x0A,0x7F,0x24,0x0A,0x49,0x24,0x12,0x49,0x24,0x12,0x4 9,0x24,0x12,0x49,0x24,0x1F,0xFF,0xFC,0x12,0x49,0x24,0x12,0x49,0x24,0x12,0x49,0x2 4,0x22,0x49,0x24,0x22,0x49,0x24,0x22,0xFF,0xA4,0x02,0x40,0x64,0x06,0x00,0x24,0x0 6,0x00,0x0C,0x02,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,};/*重*/u8table2[]={0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x02,0x00,0x40,0x02,0x0 0,0x40,0x12,0x3F,0xDF,0xD2,0x3F,0x52,0x92,0x25,0x52,0x92,0x25,0x52,0x92,0x25,0x5 2,0x92,0x25,0x52,0x92,0x25,0x5F,0xFC,0x25,0x5F,0xFC,0x25,0x52,0x92,0x25,0x52,0x9 2,0x25,0x52,0x92,0x25,0x52,0x92,0x3F,0x5F,0xD2,0x20,0x5F,0xB2,0x00,0x40,0x12,0x0 0,0x40,0x04,0x00,0xC0,0x04,0x00,0x40,0x00,0x00,0x00,0x00,};/*量*/u8table3[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x0 0,0x00,0x40,0x03,2,0x40,0x02,0x22,0x40,0x03,0xFF,0xFE,0x02,0x22,0x40,0x06,0x22,0x40,0x0A,0x22,0x4 0,0x72,0x22,0x40,0x22,0x22,0x40,0x02,0x22,0x40,0x03,0xFE,0x40,0x02,0x00,0x40,0x0 0,0x00,0xC0,0x00,0x00,0xC0,0x00,0x00,0x40,0x00,0x00,0x00,};/*单*/u8table4[]={0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x60,0x00,0x0 1,0xC0,0x00,0x07,0xFF,0xFE,0x3C,0x80,0x00,0x30,0x10,0x02,0x00,0x20,0x04,0x00,0x4 0,0x08,0x00,0x80,0x18,0x03,0x3F,0xE0,0x06,0x3E,0x00,0x3C,0x00,0x00,0x30,0x00,0x0 0,0x0C,0x00,0x00,0x02,0x00,0x01,0x01,0x3F,0xFE,0x00,0x80,0x00,0x00,0xC0,0x00,0x0 0,0x60,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*价*/u8table5[]={1,0x08,0x08,0x01,0x08,0x0C,0x01,0x08,0x1C,0x01,0x08,0x2C,0x01,0x08,0x4C,0x01,0x0 8,0x88,0x01,0x0B,0x08,0x3F,0xFE,0x08,0x3F,0xF8,0x08,0x01,0x08,0x08,0x01,0x08,0x0 8,0x01,0x08,0x48,0x01,0x08,0x68,0x01,0x08,0x38,0x03,0x08,0x18,0x01,0x08,0x1E,0x0 0,0x18,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*去*/u8table6[]={0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x04,0x00,0x00,0x18,0x0 0,0x00,0xE2,0x07,0xFF,0x82,0x02,0x00,0x02,0x02,0x00,0x02,0x02,0x08,0x04,0x02,0x0 E,0x04,0x02,0x09,0x08,0x02,0x08,0xC8,0x7F,0xF0,0x70,0x3F,0xF0,0x30,0x02,0x08,0x7 0,0x02,0x09,0x88,0x02,0x0B,0x0C,0x02,0x0E,0x0C,0x02,0x98,0x04,0x07,0x08,0x06,0x0 6,0x00,0x06,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x00,};/*皮*/u8table7[]={0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x02,0x00,0x10,0x02,0x0 0,0x21,0x02,0x00,0x41,0x82,0x00,0xC1,0x42,0x01,0x91,0x32,0x03,0x11,0x1A,0x0E,0x1 1,0x02,0x38,0x11,0x02,0x30,0x1F,0xFC,0x28,0x11,0x02,0x04,0x11,0x02,0x02,0x11,0x0 4,0x01,0x11,0x1A,0x00,0xA1,0xE2,0x00,0xD1,0x42,0x00,0x62,0x02,0x00,0x62,0x02,0x0 0,0x30,0x04,0x00,0x20,0x04,0x00,0x20,0x00,0x00,0x00,0x00,};/*金*/u8table8[]={0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x08,0x80,0x0C,0x31,0x00,0x0 4,0xD3,0xFC,0x07,0x96,0x84,0x24,0x5C,0x84,0x1C,0x58,0x84,0x04,0x68,0x84,0x05,0xC D,0xFC,0x06,0x06,0x00,0x0C,0x02,0x02,0x16,0x00,0x02,0x11,0xFF,0x84,0x11,0x00,0x0 8,0x13,0x00,0x10,0x1D,0x47,0xE0,0x11,0x3F,0x00,0x11,0x20,0x20,0x11,0x00,0x10,0x1 1,0xFF,0xD8,0x23,0xFF,0x8C,0x00,0x00,0x06,0x00,0x00,0x00,};/*额*/u8table9[]={0x00,0x00,0x00,0x01,0x7C,0x12,0x54,0x94,0x54,0x90,0x55,0xB2,0x5 6,0xB1,0x7C,0xDE,0x54,0xD0,0x54,0x90,0x55,0x14,0x54,0x32,0x7C,0x19,0x00,0x00,0x0 0,0x00,0x00,0x00,};/*累*/u8table10[]={0x08,0x01,0x08,0x02,0x08,0x0C,0xFF,0xF0,0x08,0x02,0x08,0x01,0x0 F,0xFE,0x00,0x00,0x00,0x00,0x1F,0xFE,0x10,0x04,0x10,0x04,0x10,0x04,0x1F,0xFE,0x0 0,0x00,0x00,0x00,};/*加*///显示一个汉字//u8lcdoneHZ(u8x,u8y,unsignedchar*code){u8temp,t,y0,t1;u8table[72];y0=y;POINT_COLOR=RED;for(t=0;t<72;t++){temp=*code++;for(t1=0;t1<8;t1++){if(temp&0x80)LCD_DrawPoint(x,y);temp<<=1;y++;if((y-y0)==24){y=y0;x++;break;}}}}u8lcdone16HZ(u8x,u8y,unsignedchar*code){u8temp,t,y0,t1;u8table[32];y0=y;POINT_COLOR=RED;for(t=0;t<32;t++){temp=*code++;for(t1=0;t1<8;t1++){if(temp&0x80)LCD_DrawPoint(x,y);temp<<=1;y++;if((y-y0)==16){y=y0;x++;break;}}}}voidHZ_show(void){lcdoneHZ(30,50,table1);//重量lcdoneHZ(54,50,table2);lcdoneHZ(30,80,table3);//单价lcdoneHZ(54,80,table4);lcdoneHZ(30,110,table7);//金额lcdoneHZ(54,110,table8);//金额lcdoneHZ(30,140,table5);//去皮lcdoneHZ(54,140,table6);}voidHZ_show_moy(void){lcdone16HZ(54+25+32+30,115,table9);lcdone16HZ(54+25+32+30+17,115,table10);}#ifndef__LCDFOT_H#define__LCDFOT_H#include"sys.h"u8lcdoneHZ(u8x,u8y,unsignedchar*code);//显示24位汉字u8lcdone16HZ(u8x,u8y,unsignedchar*code);//显示16位汉字voidHZ_show(void);voidHZ_show_moy(void);#endif#include"hx711.h"#include"delay.h"#include"usart.h"voidHX711_Init(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能PE 端口时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED0-->PB.5端口配置GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHzGPIO_Init(GPIOA,&GPIO_InitStructure); //根据设定参数初始化GPIOB.5GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;//LED0-->PB.5端口配置GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; //上拉输入GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHzGPIO_Init(GPIOA,&GPIO_InitStructure); //根据设定参数初始化GPIOB.5GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_6); }u32HX711_read(void){u32count;u8i;delay_us(1);HX711_SCL=0;count=0;while(HX711_DOUT);for(i=0;i<24;i++){HX711_SCL=1;count=count<<1;HX711_SCL=0;if(HX711_DOUT)count++;}HX711_SCL=1;count=count^0x800000;delay_us(1);HX711_SCL=0;returncount;}//得到的质量单位是g克floatHX711_count(void){u8a;u32adc,wei;floatvol;for(a=10;a>0;a--){ adc=HX711_read();wei=wei+adc;}wei=wei/10;printf("hx711值:%d\r\n",wei);vol=((float)(wei-7431260)/1118)-1.8-1.55;//注意改参数wei=0;printf("重量=%f\r\n",vol);returnvol;}#ifndef__HX711_H#define__HX711_H#include"sys.h"#defineHX711_SCLPAout(5)#defineHX711_DOUTPAin(6)voidHX711_Init(void);u32HX711_read(void);floatHX711_count(void);#endif#include"lcd.h"#include"stdlib.h"#include"font.h"#include"usart.h"#include"delay.h"/////////////////////////////////////////////////////////////// /////////////////////本程序只供学习使用,未经作者许可,不得用于其它任何用途//2.4/2.8寸/3.5寸TFT液晶驱动//支持驱动IC型号包括:ILI9341/ILI9325/RM68042/RM68021/ILI9320/ILI9328/LGDP4531/LGD P4535/SPFD5408/SSD1289/1505/B505/C505等//正点原子@ALIENTEK//************************************************************* *******************//V1.2修改说明//支持了SPFD5408的驱动,另外把液晶ID直接打印成HEX格式.方便查看LCD驱动IC.//V1.3//加入了快速IO的支持//修改了背光控制的极性(适用于V1.8及以后的开发板版本)//对于1.8版本之前(不包括1.8)的液晶模块,请修改LCD_Init函数的LCD_LED=1;为LCD_LED=1;//V1.4//修改了LCD_ShowChar函数,使用画点功能画字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TFT-LCD初始化代码Product Model:GST3D2051-FPC-ADriver IC:ILI9341-Dot arrangement:240(RGB)×320LCD type:3.2’’TFTInterface:i80-system16-bit interfaceOthers:驱动芯片为ILI9341,控制器LPC2220,总线方式,数据宽度16位void Init_DevTFTLcd(void){PINSEL2&=0xfffffff7;IO1DIR|=0x00020000;TFTLCD_RESET_H;delay(1);//延时1msTFTLCD_RESET_L;delay(10);TFTLCD_RESET_H;delay(120);//////////////////这段代码对盛世创业和随珑(恒凯辉)的9341驱动芯片通用///////////////初始化寄存器的顺序没有前后之分,但对于寄存器的值很重要//////////////TRANS_W_REG(0x0011);//这句放到后面效果一样,//如下所有初始化的命令没有顺序关系delay(120);//延时60和延时120效果一样TRANS_W_REG(0x00CF);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x0081);//参数为C1也可以TRANS_W_DATA(0x0030);TRANS_W_REG(0x00ED);TRANS_W_DATA(0x0064);TRANS_W_DATA(0x0003);TRANS_W_DATA(0x0012);TRANS_W_DATA(0x0081);TRANS_W_REG(0x00E8);TRANS_W_DATA(0x0085);TRANS_W_DATA(0x0000);//参数为0x0010也可以TRANS_W_DATA(0x0079);//参数为0x007A也可以TRANS_W_REG(0x00CB);TRANS_W_DATA(0x0039);TRANS_W_DATA(0x002C);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x0034);TRANS_W_DATA(0x0002);TRANS_W_REG(0x00F7);TRANS_W_DATA(0x0020);TRANS_W_REG(0x00EA);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x0000);TRANS_W_REG(0x00C0);TRANS_W_DATA(0x002e);//参数0x0021也是可以的TRANS_W_REG(0x00C1);TRANS_W_DATA(0x0012);//参数0x0013也是可以的TRANS_W_REG(0x00C5);TRANS_W_DATA(0x0050);//参数0x003F也是可以的TRANS_W_DATA(0x0019);//参数0x003C也是可以的TRANS_W_REG(0x00C7);TRANS_W_DATA(0x0090);//参数0x00B3也是可以的//////////////////////////没有这里显示的是乱码//////////////////////////////右边屏幕空白,左边有字符显示但是是乱码,显示字符区的底色是蓝色//// //////////////供应商给的参考代码里面居然没有这两个命令/////////////////TRANS_W_REG(0x002A);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x0001);TRANS_W_DATA(0x003F);TRANS_W_REG(0x002B);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x00EF);//////////////////////////没有这里显示的是乱码/////////////TRANS_W_REG(0x0036);//Memory Access ControlTRANS_W_DATA(0x00A8);//参数为0x00C8时右边屏幕空白,左边有字符显示但是是乱码,显示字符区的底色是蓝色//参数为0x0008时左边屏幕空白,右边有字符显示但是是乱码,显示字符区的底色是蓝色//参数为0x0013时左边屏幕空白,右边有字符显示但是是乱码,显示字符区的底色是红色//这里的值的设定和你的程序对寄存器的读写非常有关,参阅ILI9341的datasheetTRANS_W_REG(0x003A);TRANS_W_DATA(0x0055);TRANS_W_REG(0x00B1);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x0014);//参数分别为0x001B,0x0029,0x0014似乎影响不大TRANS_W_REG(0x00B6);TRANS_W_DATA(0x000A);TRANS_W_DATA(0x00A2);///////////这里的命令似乎不影响效果//////////////TRANS_W_REG(0x00F6);TRANS_W_DATA(0x0001);TRANS_W_DATA(0x0030);///////////////////////////////////////////////////////////////////////TRANS_W_REG(0x00F2);TRANS_W_DATA(0x0000);TRANS_W_REG(0x0026);TRANS_W_DATA(0x0001);/*TRANS_W_REG(0x00E0);TRANS_W_DATA(0x000F);TRANS_W_DATA(0x0024);TRANS_W_DATA(0x0021);TRANS_W_DATA(0x000C);TRANS_W_DATA(0x000F);TRANS_W_DATA(0x0009);TRANS_W_DATA(0x004D);TRANS_W_DATA(0x00B8);TRANS_W_DATA(0x003C);TRANS_W_DATA(0x000A);TRANS_W_DATA(0x0013);TRANS_W_DATA(0x000A);TRANS_W_DATA(0x0005);TRANS_W_DATA(0x0000);TRANS_W_REG(0x00E1);TRANS_W_DATA(0x0000);TRANS_W_DATA(0x001B);TRANS_W_DATA(0x001E);TRANS_W_DATA(0x0003);TRANS_W_DATA(0x0010);TRANS_W_DATA(0x0006);TRANS_W_DATA(0x0032);TRANS_W_DATA(0x0047);TRANS_W_DATA(0x0043);TRANS_W_DATA(0x0005);TRANS_W_DATA(0x000C);TRANS_W_DATA(0x000B);TRANS_W_DATA(0x0035);TRANS_W_DATA(0x003A);TRANS_W_DATA(0x000F);//上面的0x00E0和0x00E1的参数改为下面的参数效果似乎一样*/TRANS_W_REG(0x00E0);//Set GammaTRANS_W_DATA(0x000F);TRANS_W_DATA(0x0022);TRANS_W_DATA(0x001C);TRANS_W_DATA(0x001B);TRANS_W_DATA(0x0008);TRANS_W_DATA(0x000F);TRANS_W_DATA(0x0048);TRANS_W_DATA(0x00B8);TRANS_W_DATA(0x0034);TRANS_W_DATA(0x0005);TRANS_W_DATA(0x000C);TRANS_W_DATA(0x0009);TRANS_W_DATA(0x000F);TRANS_W_DATA(0x0007);TRANS_W_DATA(0x0000);TRANS_W_REG(0x00E1);//Set GammaTRANS_W_DATA(0x0000);TRANS_W_DATA(0x0024);TRANS_W_DATA(0x0007);TRANS_W_DATA(0x0010);TRANS_W_DATA(0x0007);TRANS_W_DATA(0x0038);TRANS_W_DATA(0x0047);TRANS_W_DATA(0x004B);TRANS_W_DATA(0x000A);TRANS_W_DATA(0x0013);TRANS_W_DATA(0x0006);TRANS_W_DATA(0x0030);TRANS_W_DATA(0x0038);TRANS_W_DATA(0x000F);//TRANS_W_REG(0x0011);//前面的0x0011命令写在这里也是可以的//delay(120);TRANS_W_REG(0x0029);delay(10);TRANS_W_REG(0x002C);//没有这句就白屏,并闪烁//但是有的供应商给的参考代码里面没有这一句}。

相关文档
最新文档