void init_TM1638(void) //Q { unsigned char i; TM1638_GPIO_Configuration(); //IO口初始化 Write_COM(0x8a);//脉冲宽度为全亮度的4/16 Write_COM(0x40); //STB=0; STB_OUT(0); TM1638_Write(0xc0); for(i=0;i<16;i++) TM1638_Write(0x00); //STB=1; STB_OUT(1); }
void Write_DATA(unsigned char add,unsigned char DATA) //Q { Write_COM(0x44); // STB=0 STB_OUT(0); TM1638_Write(0xc0|add); TM1638_Write(DATA); //STB=1 STB_OUT(1); }
void Set_Area(u16 x1,u16 y1,u16 x2,u16 y2)//设置显示区域 { Write_Reg(0x0200,x1); Write_Reg(0x0201,y1);//设置起点坐标 Write_Reg(0x0210,x1); Write_Reg(0x0211,x2);//显示区域 Write_Reg(0x0212,y1); Write_Reg(0x0213,y2); Write_COM(0x0202); }
u16 Read_ID(void)//读设备ID { Write_COM(0x0000); return LCD_Read(); }
void LCD_Config()//LCD配置 { LCD_Init(); LCD_Reset(); CS_0;//CS=0 打开片选 Write_Reg(0x0000,0x0000); Write_Reg(0x0000,0x0000); Write_Reg(0x0000,0x0000); Write_Reg(0x0000,0x0000); DelayM(2); Write_DAT(0x0000); Write_DAT(0x0000); Write_DAT(0x0000); Write_DAT(0x0000); DelayM(2); Write_Reg(0x0008,0x0808); Write_Reg(0x0400,0x6200); Write_Reg(0x0300,0x0c0c); Write_Reg(0x0301,0xff13); Write_Reg(0x0302,0x0f0f); Write_Reg(0x0303,0x150b); Write_Reg(0x0304,0x1020); Write_Reg(0x0305,0x0a0b); Write_Reg(0x0306,0x0003); Write_Reg(0x0307,0x0d06); Write_Reg(0x0308,0x0504); Write_Reg(0x0309,0x1030); Write_Reg(0x0010,0x001b); Write_Reg(0x0011,0x0101); Write_Reg(0x0012,0x0000); Write_Reg(0x0013,0x0001); Write_Reg(0x0100,0x0330); Write_Reg(0x0101,0x0247); Write_Reg(0x0103,0x1000); Write_Reg(0x0280,0xbf00); Write_Reg(0x0102,0xd1b0); DelayM(5); Write_Reg(0x0001,0x0100); Write_Reg(0x0002,0x0100); Write_Reg(0x0003,0x1030); Write_Reg(0x0009,0x0001); Write_Reg(0x000c,0x0000); Write_Reg(0x0090,0x8000); Write_Reg(0x000f,0x0000); Write_Reg(0x0210,0x0000); Write_Reg(0x0211,0x00ef); Write_Reg(0x0212,0x0000); Write_Reg(0x0213,0x018f); Write_Reg(0x0500,0x0000); Write_Reg(0x0501,0x0000); Write_Reg(0x0502,0x005f); Write_Reg(0x0401,0x0001); Write_Reg(0x0404,0x0000); DelayM(2); Write_Reg(0x0007,0x0100); DelayM(5); Write_Reg(0x0200,0x0000); Write_Reg(0x0201,0x0000); DelayM(2); Write_COM(0x0202); DelayM(2); CS_1; }
void Write_Reg(u16 reg,u16 dat)//写寄存器 { Write_COM(reg); Write_DAT(dat); }