📄 splc501.c
字号:
/*------------------------------------------------------------------------------
源文件 / 文字 : ASF 宽×高(像素): 24×8
------------------------------------------------------------------------------*///5
0xFE,0xFE,0xFE,0x86,0xEA,0xEA,0x86,0xFE,0xFE,0xFE,0xB6,0xAA,0xAA,0xDA,0xFE,0xFE,
0xFE,0x82,0xEA,0xEA,0xEA,0xFE,0xFE,0xFE,
/*------------------------------------------------------------------------------
源文件 / 文字 : FM 宽×高(像素): 24×8
------------------------------------------------------------------------------*///6
0xFE,0xFE,0xFE,0xFE,0xFE,0x82,0xEA,0xEA,0xEA,0xFE,0xFE,0xFE,0xFE,0xFE,0x82,0xF6,
0xEE,0xF6,0x82,0xFE,0xFE,0xFE,0xFE,0xFE,
};
U8 code BmpPlayingPauseStop[][6]=
{
/*------------------------------------------------------------------------------
源文件 / 文字 : C:\My Documents\playing.bmp 宽×高(像素): 6×8
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/6字节
数据转换日期 : 03-6-10 13:16:32
------------------------------------------------------------------------------*/
0x00,0xFE,0x7C,0x38,0x10,0x00,
/*------------------------------------------------------------------------------
源文件 / 文字 : C:\My Documents\pause.bmp 宽×高(像素): 6×8
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/6字节
数据转换日期 : 03-6-10 13:17:59
------------------------------------------------------------------------------*/
0xFE,0xFE,0x00,0x00,0xFE,0xFE,
/*------------------------------------------------------------------------------
源文件 / 文字 : C:\My Documents\stop.bmp 宽×高(像素): 6×8
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/6字节
数据转换日期 : 03-6-10 13:12:45
------------------------------------------------------------------------------*/
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,
/*------------------------------------------------------------------------------
源文件 / 文字 : C:\My Documents\recording.bmp 宽×高(像素): 6×8
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/6字节
数据转换日期 : 03-6-10 13:38:15
------------------------------------------------------------------------------*/
0x18,0x3C,0x7E,0x7E,0x3C,0x18,
};
//============================================================================
U8 code BmpBattery[]=
{
/*------------------------------------------------------------------------------
源文件 / 文字 : battery icon 宽×高(像素): 9×8
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/9字节
数据转换日期 : 03-6-10 17:24:42
------------------------------------------------------------------------------*/
//0xEE,0x82,0xBA,0xBA,0xBA,0xBA,0x82,0xFE,0x38
//12×8
0x38,0xFE,0x82,0xBA,0x82,0xBA,0x82,0xBA,0x82,0xBA,0x82,0xFE,
};
//=============================================================================//
U8 code BmpREP1ALL[][12]=
{
/*------------------------------------------------------------------------------
源文件 / 文字 : 宽×高(像素): 10×8
------------------------------------------------------------------------------*/
//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//no rep
0x00,0x10,0x10,0x10,0x10,0x10,0x7C,0x38,0x10,0x7C,0x00,0x00,//no rep
/*------------------------------------------------------------------------------
源文件 / 文字 : 1 宽×高(像素): 10×8
------------------------------------------------------------------------------*/
//0x82,0xC2,0x82,0x82,0x8A,0xFE,0x82,0x82,0x44,0x38,
//0xFC,0x84,0x8E,0x84,0x80,0xA2,0xBE,0xA0,0x84,0xFC,//repeat 1
0xB8,0xC4,0xC2,0x82,0x12,0xFA,0x02,0x82,0x82,0x44,0x38,0x00,//repeat 1
/*------------------------------------------------------------------------------
源文件 / 文字 : A 宽×高(像素): 10×8
------------------------------------------------------------------------------*/
//0x82,0xC2,0x82,0xBA,0x96,0x96,0xBA,0x82,0x44,0x38,
//0x7C,0x44,0x44,0x0E,0x04,0x40,0xE0,0x44,0x44,0x7C,//repeat all
0x30,0x4A,0x86,0x86,0x82,0x00,0x00,0x82,0xC2,0xC2,0xA4,0x18,//repeat all
/*------------------------------------------------------------------------------
源文件 / 文字 : A 宽×高(像素): 10×8
------------------------------------------------------------------------------*/
//0x42,0xEF,0x4A,0x48,0x78,0x1E,0x12,0x52,0xF7,0x42,//random
0x82,0xC2,0xC2,0xA4,0x18,0x00,0x18,0xA4,0xC2,0xC2,0x82,0x00,//random
/*------------------------------------------------------------------------------
源文件 / 文字 : A 宽×高(像素): 10×8
------------------------------------------------------------------------------*/
//0x7C,0x44,0xE0,0x4F,0x40,0xEF,0x49,0x4F,0xE0,0x41,//intro 10
0x00,0x00,0x7C,0x38,0x10,0x7C,0x38,0x10,0x7C,0x38,0x10,0x00,//intro 10
};
U8 code BmpPlayList[]=
{
/*------------------------------------------------------------------------------
源文件 / 文字 : A 宽×高(像素): 12×8
------------------------------------------------------------------------------*/
//0x7C,0x44,0xE0,0x4F,0x40,0xEF,0x49,0x4F,0xE0,0x41,//intro 10
0xFF,0x81,0x81,0x81,0xFD,0x95,0x95,0x85,0x81,0x81,0x81,0xFF,//playlist
};
//============================================================================
U8 code BmpLock[]=
{
/*------------------------------------------------------------------------------
源文件 / 文字 : Lock 宽×高(像素): 6×8
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/6字节
数据转换日期 : 03-6-11 11:36:28
------------------------------------------------------------------------------*/
//0xF8,0x8C,0xAA,0xAA,0x8C,0xF8,
//7x8
0xF8,0x8C,0x8A,0xAA,0x8A,0x8C,0xF8,
};
//===================================================================================
//==============================show the char=====================================================
//===================================================================================
//================================================================================
void SPLC501_Init()
{
U8 i;
// U8 code InitCommand[]={0xe2,0xa2,0xa1,0xc8,0xac,0xa6,0xa4,
// 0x26,0x81,0x10,0xd5,0x00,0xd2,0x00,0x2f,0x40,0xb0,0x11,0x04,0xaf};//NOVATEK
U8 code InitCommand[]={0xd5,0x00,0xd3,0x30,0xa8,0x3f,
0xad,0x8a,0xd8,0x05,0x40,0xa0,0xc8,0xda,0x12,0x81,0x80,0xad,0x8b,0xa4,0xa6,0xaf};//SPLC502
Clear_SSD1815_RST_Pin;
USER_DelayDTms(10);
Set_SSD1815_RST_Pin;
USER_DelayDTms(10);
for(i=0;i<22;i++)
{
write_SPLC501CI(InitCommand[i]);
}
LCD501_Clear_ALL();
}
//===========================================================================================
void SSD1815_send_data_cmd(U8 OM4081_data_cmd)//lyh add
{
U8 i;
Clear_SSD1815_CS_Pin;
for(i=0;i<8;i++)//write data or command
{
Clear_SSD1815_SCLK_Pin;//OM4081F_SCLK=0;
if(OM4081_data_cmd & 0x80)
{
Set_SSD1815_SData_Pin;//OM4081F_SDIN=1;
}
else
{
Clear_SSD1815_SData_Pin;//OM4081F_SDIN=0;
}
OM4081_data_cmd=OM4081_data_cmd<<1;
Set_SSD1815_SCLK_Pin;//OM4081F_SCLK=1;
}
Set_SSD1815_CS_Pin;
}
//============================================================================
void write_SPLC501CI(U8 instruct)//lyh add
{
Clear_SSD1815_DC_Pin;
SSD1815_send_data_cmd(instruct);
}
//============================================================================
void write_SPLC501CD(U8 showdata)//lyh add
{
Set_SSD1815_DC_Pin;
SSD1815_send_data_cmd(showdata);
}
//============================================================================
void SPLC501_Set_PageNColumn_Address(U8 Page,U8 Column)//lyh add
{
write_SPLC501CI(Page|0xb0);
write_SPLC501CI((Column>>4)&0x0f|0x10); //高位列地址
write_SPLC501CI(Column&0x0f);//低位列地址
}
//==================================================================================
//=================================================================================//
void SPLC501_Erase_OnePage(U8 Page)
{
U8 i;
SPLC501_Set_PageNColumn_Address(Page,0x00);
for(i=0;i<132;i++)
{
write_SPLC501CD(0);
}
}
//=================================================================================//
void LCD501_Clear_ALL()
{
U8 i;
for(i=0;i<5;i++)
{
SPLC501_Erase_OnePage(i);
}
}
//=============================================================================
void SPLC501_Write_CharABC(U8 Page,U8 Column,U8 ReverseDispOnOff,U8 CharABC)//lyh add
{
U8 i,j;
U8 temp;
temp=CharABC;
//printf("%c",temp);
//printf("%c",Page);
//printf("%c",Column);
if(CharABC>47 && CharABC<58)
{
temp=CharABC-48;
}
if(CharABC>96 && CharABC<123)
{
temp=CharABC-58; //'abcd.....'
}
if(CharABC>64 && CharABC<91)
{
temp=CharABC-52; //'ABCD.....'
}
switch(CharABC)
{
case ' ':
temp=12;
break;
case '-':
temp=11;
break;
case ':':
temp=10;
break;
case '.':
temp=65;
break;
case '?':
temp=66;
break;
case '!':
temp=67;
break;
case '%':
temp=68;
break;
case ',':
temp=69;
break;
case '\'':
temp=70;
break;
case ';':
temp=71;
break;
case '\"':
temp=72;
break;
case '<':
temp=73;
break;
case '>':
temp=74;
break;
case '^':
temp=75;
break;
default:
break;
}
for(j=0;j<2;j++)
{
SPLC501_Set_PageNColumn_Address(Page+j,Column);
//printf("\n");
for(i=0;i<8;i++)
{
if(ReverseDispOnOff)
{
write_SPLC501CD((~Char_BMP[temp][(j*8)+i]));
}else{
write_SPLC501CD(Char_BMP[temp][(j*8)+i]);
// printf("%c",Char_BMP[temp][(j*8)+i]);
}
}
}
}
//============================================================================
void LCD_disp_HZKCharBMP(U8 Page, U8 Column,U8 *BMPdataBuf, U8 CharOrWord,U8 reverse)//lyh add
{
U8 i,j;// I think,to show the HZ,the upper of the HZ store in the BMPdataBuf
//in the even serial,the other page store in the odd serial
if(CharOrWord)//char(8x16)--------word(12x16)
{
i=0;j=22;
}else{
i=4;j=18;
}
SPLC501_Set_PageNColumn_Address(Page,Column);
for(;i<=j;i=i+2)
{
if(reverse)
write_SPLC501CD(~*(BMPdataBuf+(i)));
else
write_SPLC501CD(*(BMPdataBuf+(i)));
}
if(CharOrWord)
{
i=0;j=23;
}else{
i=4;j=19;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -