📄 lcm.c
字号:
else
{
if(i==7)
{
LCM_Send_Command(gc_LCM_InitData1);
}
else
{
LCM_Send_Command(gc_LCM_InitData2);
}
}
}
}
}
void LCM_Send_Command(U8 tc_command)
{
if(gc_LCM_Size==2)
{
P_LCM_Write_CMD(tc_command);
return;
}
// LCM_A0(XGPIO[1])=0
LCM_A0_0;
LCM_Send_Value(tc_command);
}
void LCM_Send_Data(U8 tc_data)
{
if(gc_LCM_Size==2)
{
P_LCM_Write_DAT(tc_data);
return;
}
// LCM_A0(XGPIO[1])=1
LCM_A0_1;//
LCM_Send_Value(tc_data);
}
void LCM_Send_Value(U8 tc_value)
{
U8 i;
for(i=0;i<8;i++)
{
// LCM_SCLK(XGPIO[3])=0
LCM_CLK_0;
if(tc_value & 0x80)
{
// LCM_DATA(XGPIO[2])=1
LCM_DATA_1;
}
else
{
// LCM_DATA(XGPIO[2])=0
LCM_DATA_0;
}
tc_value=tc_value<<1;
// LCM_SCLK(XGPIO[3])=1
LCM_CLK_1;
}
}
void LCM_Set_PageColumn(U8 tc_page,U8 tc_column)
{
LCM_Send_Command(tc_page|0xB0);
LCM_Send_Command((tc_column>>4)&0x0F|0x10);
LCM_Send_Command(tc_column&0x0F);
}
void LCM_ClearScreen(void)
{
U8 i;
if(gc_LCM_Size!=2)
{
for(i=0;i<4;i++)
{
LCM_ClearPage(i);
}
}
else
{
for(i=2;i<6;i++)
{
LCM_ClearPage(i);
}
}
}
void LCM_ClearPage(U8 tc_page)
{
U8 i;
LCM_Set_PageColumn(tc_page,0);
for(i=0;i<132;i++)
{
LCM_Send_Data(0);
}
}
void LCM_ShowLineIn(void)
{
U8 i;
U8 tc_column;
U8 no_media[8]={22,23,31,21,15,14,18,11};
U16 j;
if(gc_LCM_Size==2)
{
tc_column=16;
LCM_ClearScreen();
for(i=0;i<8;i++)
{
LCM_ShowChar12x32(no_media[i],tc_column);
tc_column+=12;
}
for(i=0;i<2;i++)
{
LCM_Set_PageColumn(i,0);
for(j=0;j<16;j++)
{
LCM_Send_Data(0);
}
}
return;
}
for(i=0;i<4;i++)
{
LCM_Set_PageColumn(i,(U8)gb_LCM_reverse*LCM_ReverseOffset);
if(gc_LCM_Size==0)
{
for(j=0;j<96;j++)
{
LCM_Send_Data(LineInIcon96x32[j+96*i]);
}
}
else
{
for(j=0;j<128;j++)
{
LCM_Send_Data(LineInIcon128x32[j+128*i]);
}
}
}
}
void LCM_ShowFMIcon(void)
{
U8 i;
U16 j;
for(i=0;i<2;i++)
{
if(gc_LCM_Size==0) // 96x32
{
LCM_Set_PageColumn(i,48+(U8)gb_LCM_reverse*LCM_ReverseOffset);
for(j=0;j<14;j++)
{
LCM_Send_Data(FM_Icon96x32[j+i*14]);
}
}
else // 128x32
{
}
}
}
void LCM_ShowSDIcon(void)
{
U8 i;
U16 j;
for(i=0;i<2;i++)
{
if(gc_LCM_Size==0) // 96x32
{
LCM_Set_PageColumn(i,(U8)gb_LCM_reverse*LCM_ReverseOffset);
for(j=0;j<14;j++)
{
LCM_Send_Data(SD_Icon96x32[j+i*14]);
}
}
else // 128x32
{
LCM_Set_PageColumn(i,0);
for(j=0;j<16;j++)
{
LCM_Send_Data(SD_Icon128x32[j+i*16]);
}
}
}
}
void LCM_ShowUSBIcon(void)
{
U8 i;
U16 j;
for(i=0;i<2;i++)
{
if(gc_LCM_Size==0) // 96x32
{
LCM_Set_PageColumn(i,(U8)gb_LCM_reverse*LCM_ReverseOffset);
for(j=0;j<14;j++)
{
LCM_Send_Data(USB_Icon96x32[j+i*14]);
}
}
else // 128x32
{
LCM_Set_PageColumn(i,0);
for(j=0;j<16;j++)
{
LCM_Send_Data(USB_Icon128x32[j+i*16]);
}
}
}
}
void LCM_ShowFrequency(void) // 8x16
{
U8 tc_column;
if((gc_CurrentCard==2)||(gc_CurrentCard==3)||(gc_CurrentCard==5)) // Media insert
{
if(gc_LCM_Size==0) // 96x32
{
tc_column=62+(U8)gb_LCM_reverse*LCM_ReverseOffset;
}
else
{
tc_column=16;
}
}
else
{
if(gc_LCM_Size==1)
{
tc_column=8;
}
else if(gc_LCM_Size==0)
{
tc_column=16+(U8)gb_LCM_reverse*LCM_ReverseOffset;
}
else
{
tc_column=16;
}
}
if(gw_FM_frequency>999)
{
LCM_ShowChar8x16(1,tc_column);
tc_column+=8;
}
else
{
if((tc_column==(8+(U8)gb_LCM_reverse*LCM_ReverseOffset))||(tc_column==(16+(U8)gb_LCM_reverse*LCM_ReverseOffset))) // No Media
{
LCM_ShowChar8x16(12,tc_column); // space
tc_column+=8;
}
}
LCM_ShowChar8x16((gw_FM_frequency%1000)/100,tc_column);
tc_column+=8;
LCM_ShowChar8x16((gw_FM_frequency%100)/10,tc_column);
tc_column+=8;
LCM_ShowChar8x16(65,tc_column);
tc_column+=2;
LCM_ShowChar8x16(gw_FM_frequency%10,tc_column);
tc_column+=8;
if((gc_CurrentCard==2)||(gc_CurrentCard==3)||(gc_CurrentCard==5)) // Media insert
{
if(gc_LCM_Size==0)
{
LCM_ShowChar8x16(12,tc_column); // space
}
}
if(gc_LCM_Size!=0)
{
LCM_ShowChar8x16(25,tc_column); // M
tc_column+=8;
LCM_ShowChar8x16(20,tc_column); // H
tc_column+=8;
LCM_ShowChar8x16(64,tc_column); // z
}
}
void LCM_ShowChar8x16(U8 Num,U8 tc_column)
{
U8 i,j;
for(i=0;i<2;i++)
{
LCM_Set_PageColumn(i+gc_LCM_line,tc_column);
for(j=0;j<8;j++)
{
LCM_Send_Data(CharIcon8x16[Num*16+j+i*8]);
}
}
}
void LCM_ShowChar8x16_L2(U8 Num,U8 tc_column)
{
U8 i,j,k;
if(gc_LCM_Size==2)
{
k=1;
}
else
{
k=0;
}
for(i=2;i<4;i++)
{
LCM_Set_PageColumn(i+k,tc_column);
for(j=0;j<8;j++)
{
LCM_Send_Data(CharIcon8x16[Num*16+j+(i-2)*8]);
}
}
}
void LCM_ShowPAUSE(void)
{
U8 i,j,k=0;
U8 tc_column;
tc_column=(U8)gc_LCM_Size*16+(U8)gb_LCM_reverse*LCM_ReverseOffset;
if(gc_LCM_Size==2)
{
tc_column=tc_column-16;
k=2;
}
LCM_ClearScreen();
for(j=0;j<4;j++)
{
LCM_Set_PageColumn(j+k,tc_column);
for(i=0;i<96;i++)
{
LCM_Send_Data(PAUSEIcon96x32[((U16)j*96)+i]);
}
}
}
void LCM_ShowPlayTime(U16 time)
{
U8 tc_column;
if(gc_LCM_Size==0)
{
tc_column=14+(U8)gb_LCM_reverse*LCM_ReverseOffset;
}
else
{
tc_column=93;
}
LCM_ShowChar8x16(time/600,tc_column);
tc_column+=8;
LCM_ShowChar8x16((time%600)/60,tc_column);
tc_column+=8;
LCM_ShowChar8x16(10,tc_column);
tc_column+=2;
LCM_ShowChar8x16((time%60)/10,tc_column);
tc_column+=8;
LCM_ShowChar8x16(time%10,tc_column);
}
void LCM_ShowVOL(void)
{
U8 tc_column;
U8 VOL;
if(gc_LCM_Size==0)
{
tc_column=12+(U8)gb_LCM_reverse*LCM_ReverseOffset;
}
else
{
tc_column=28;
}
LCM_ShowChar12x32(28,tc_column); // V
tc_column+=12;
LCM_ShowChar12x32(23,tc_column); // O
tc_column+=12;
LCM_ShowChar12x32(20,tc_column); // L
tc_column+=24;
VOL=gc_DSP_Volume/3;
LCM_ShowChar12x32(VOL/10,tc_column);
tc_column+=12;
LCM_ShowChar12x32(VOL%10,tc_column);
}
void LCM_ShowSongNumber(void) // 12x32
{
U8 tc_column;
if(gc_LCM_Size==0)
{
tc_column=12+(U8)gb_LCM_reverse*LCM_ReverseOffset;
}
else
{
tc_column=24;
}
LCM_ShowChar12x32(gw_FileIndex[0]/100,tc_column);
tc_column+=12;
LCM_ShowChar12x32((gw_FileIndex[0]%100)/10,tc_column);
tc_column+=12;
LCM_ShowChar12x32(gw_FileIndex[0]%10,tc_column);
tc_column+=12;
LCM_ShowChar12x32(10,tc_column); // "/"
tc_column+=12;
LCM_ShowChar12x32(gw_FileTotalNumber[0]/100,tc_column);
tc_column+=12;
LCM_ShowChar12x32((gw_FileTotalNumber[0]%100)/10,tc_column);
tc_column+=12;
LCM_ShowChar12x32(gw_FileTotalNumber[0]%10,tc_column);
}
void LCM_ShowChar12x32(U8 Num,U8 tc_column)
{
U8 i,j,k;
k=gc_LCM_Size&0x02;
for(i=0;i<4;i++)
{
LCM_Set_PageColumn(i+k,tc_column);
for(j=0;j<12;j++)
{
LCM_Send_Data(CharIcon12x32[Num*48+j+i*12]);
}
}
}
void LCM_ShowFrequency_L(void) // 12x32
{
U8 tc_column;
if(gc_LCM_Size==0)
{
tc_column=4+(U8)gb_LCM_reverse*LCM_ReverseOffset;
}
else
{
tc_column=16;
}
if(gw_FM_frequency>999)
{
LCM_ShowChar12x32(1,tc_column);
}
else
{
LCM_ShowChar12x32(31,tc_column);
}
tc_column+=12;
LCM_ShowChar12x32((gw_FM_frequency%1000)/100,tc_column);
tc_column+=12;
LCM_ShowChar12x32((gw_FM_frequency%100)/10,tc_column);
tc_column+=12;
LCM_ShowChar12x32(32,tc_column); // "."
tc_column+=8;
LCM_ShowChar12x32(gw_FM_frequency%10,tc_column);
tc_column+=12;
LCM_ShowChar12x32(21,tc_column); // M
tc_column+=12;
LCM_ShowChar12x32(17,tc_column); // H
tc_column+=12;
LCM_ShowChar12x32(30,tc_column); // z
}
void LCM_ShowPlayMode(void) // Big icon
{
U8 i,j,k=0;
U8 tc_column;
if(gc_LCM_Size==0)
{
tc_column=32+(U8)gb_LCM_reverse*LCM_ReverseOffset;
}
else if(gc_LCM_Size==1)
{
tc_column=48;
}
else
{
k=2;
tc_column=48;
}
for(i=0;i<4;i++)
{
LCM_Set_PageColumn(i+k,tc_column);
for(j=0;j<32;j++)
{
LCM_Send_Data(PlayModeIcon96x32[(gc_DisplayPlayMode-1)*128+j+i*32]);
}
}
}
void LCM_ShowPlayModeIcon(void) // Play mode small icon
{
U8 i,j,k;
if(gc_LCM_Size==1)
{
for(i=0;i<2;i++)
{
LCM_Set_PageColumn(i,76);
for(j=0;j<16;j++)
{
k=PlayModeIcon128x32[(gc_DisplayPlayMode-1)*32+j+i*16];
LCM_Send_Data(k);
}
}
}
if(gc_LCM_Size==2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -