📄 lcm.c
字号:
x=0x23; //横坐标
switch(Time[0]&0x0F)
{
case 0:
LCM_WriteEnglish(y,x,No0); //写数字“0”
break; //退出判断
case 1:
LCM_WriteEnglish(y,x,No1); //写数字“1”
break; //退出判断
case 2:
LCM_WriteEnglish(y,x,No2); //写数字“2”
break; //退出判断
case 3:
LCM_WriteEnglish(y,x,No3); //写数字“3”
break; //退出判断
case 4:
LCM_WriteEnglish(y,x,No4); //写数字“4”
break; //退出判断
case 5:
LCM_WriteEnglish(y,x,No5); //写数字“5”
break; //退出判断
case 6:
LCM_WriteEnglish(y,x,No6); //写数字“6”
break; //退出判断
case 7:
LCM_WriteEnglish(y,x,No7); //写数字“7”
break; //退出判断
case 8:
LCM_WriteEnglish(y,x,No8); //写数字“8”
break; //退出判断
case 9:
LCM_WriteEnglish(y,x,No9); //写数字“9”
break; //退出判断
default:
LCM_WriteEnglish(y,x,FH0); //写“*”
}
y=0x20; //纵坐标
x=0x06; //横坐标
switch(Time[6]&0xF0)
{
case 0:
LCM_WriteEnglish(y,x,No0); //写数字“0”
break; //判断退出
case 1:
LCM_WriteEnglish(y,x,No1); //写数字“1”
break; //判断退出
case 2:
LCM_WriteEnglish(y,x,No2); //写数字“2”
break; //判断退出
case 3:
LCM_WriteEnglish(y,x,No3); //写数字“3”
break; //判断退出
case 4:
LCM_WriteEnglish(y,x,No4); //写数字“4”
break; //判断退出
case 5:
LCM_WriteEnglish(y,x,No5); //写数字“5”
break; //判断退出
case 6:
LCM_WriteEnglish(y,x,No6); //写数字“6”
break; //判断退出
case 7:
LCM_WriteEnglish(y,x,No7); //写数字“7”
break; //判断退出
case 8:
LCM_WriteEnglish(y,x,No8); //写数字“8”
break; //判断退出
case 9:
LCM_WriteEnglish(y,x,No9); //写数字“9”
break; //判断退出
default:
LCM_WriteEnglish(y,x,FH0); //写“*”
}
y=0x20; //纵坐标
x=0x07; //横坐标
switch(Time[6]&0x0F)
{
case 0:
LCM_WriteEnglish(y,x,No0); //写数字“0”
break; //判断退出
case 1:
LCM_WriteEnglish(y,x,No1); //写数字“1”
break; //判断退出
case 2:
LCM_WriteEnglish(y,x,No2); //写数字“2”
break; //判断退出
case 3:
LCM_WriteEnglish(y,x,No3); //写数字“3”
break; //判断退出
case 4:
LCM_WriteEnglish(y,x,No4); //写数字“4”
break; //判断退出
case 5:
LCM_WriteEnglish(y,x,No5); //写数字“5”
break; //判断退出
case 6:
LCM_WriteEnglish(y,x,No6); //写数字“6”
break; //判断退出
case 7:
LCM_WriteEnglish(y,x,No7); //写数字“7”
break; //判断退出
case 8:
LCM_WriteEnglish(y,x,No8); //写数字“8”
break; //判断退出
case 9:
LCM_WriteEnglish(y,x,No9); //写数字“9”
break; //判断退出
default:
LCM_WriteEnglish(y,x,FH0); //写“*”
}
y=0x20; //纵坐标
x=0x0A; //横坐标
if(Time[4]&0x10)
{
LCM_WriteEnglish(y,x,No1); //写数字“1”
}
else
{
LCM_WriteEnglish(y,x,FH4); //写空格“ ”
}
y=0x20; //纵坐标
x=0x0B; //横坐标
switch(Time[4]&0x0F)
{
case 0:
LCM_WriteEnglish(y,x,No0); //写数字“0”
break; //判断退出
case 1:
LCM_WriteEnglish(y,x,No1); //写数字“1”
break; //判断退出
case 2:
LCM_WriteEnglish(y,x,No2); //写数字“2”
break; //判断退出
case 3:
LCM_WriteEnglish(y,x,No3); //写数字“3”
break; //判断退出
case 4:
LCM_WriteEnglish(y,x,No4); //写数字“4”
break; //判断退出
case 5:
LCM_WriteEnglish(y,x,No5); //写数字“5”
break; //判断退出
case 6:
LCM_WriteEnglish(y,x,No6); //写数字“6”
break; //判断退出
case 7:
LCM_WriteEnglish(y,x,No7); //写数字“7”
break; //判断退出
case 8:
LCM_WriteEnglish(y,x,No8); //写数字“8”
break; //判断退出
case 9:
LCM_WriteEnglish(y,x,No9); //写数字“9”
break; //判断退出
default:
LCM_WriteEnglish(y,x,FH0); //写“*”
}
y=0x20; //纵坐标
x=0x0E; //横坐标
switch((Time[3]&0x30)>>4)
{
case 0:
LCM_WriteEnglish(y,x,FH4); //写空格“ ”
break; //如果为0直接退出,不写
case 1:
LCM_WriteEnglish(y,x,No1); //写数字“1”
break; //判断退出
case 2:
LCM_WriteEnglish(y,x,No2); //写数字“2”
break; //判断退出
case 3:
LCM_WriteEnglish(y,x,No3); //写数字“3”
break; //判断退出
default:
LCM_WriteEnglish(y,x,FH0); //写“*”
}
y=0x20; //纵坐标
x=0x0F; //横坐标
switch(Time[3]&0x0F)
{
case 0:
LCM_WriteEnglish(y,x,No0); //写数字“0”
break; //判断退出
case 1:
LCM_WriteEnglish(y,x,No1); //写数字“1”
break; //判断退出
case 2:
LCM_WriteEnglish(y,x,No2); //写数字“2”
break; //判断退出
case 3:
LCM_WriteEnglish(y,x,No3); //写数字“3”
break; //判断退出
case 4:
LCM_WriteEnglish(y,x,No4); //写数字“4”
break; //判断退出
case 5:
LCM_WriteEnglish(y,x,No5); //写数字“5”
break; //判断退出
case 6:
LCM_WriteEnglish(y,x,No6); //写数字“6”
break; //判断退出
case 7:
LCM_WriteEnglish(y,x,No7); //写数字“7”
break; //判断退出
case 8:
LCM_WriteEnglish(y,x,No8); //写数字“8”
break; //判断退出
case 9:
LCM_WriteEnglish(y,x,No9); //写数字“9”
break; //判断退出
default:
LCM_WriteEnglish(y,x,FH0); //写“*”
}
y=0x20; //纵坐标
x=0x18; //横坐标
switch(Time[5]&0x07)
{
case 1:
LCM_WriteChinese(y,x,W23); //写汉字“一”
break; //判断退出
case 2:
LCM_WriteChinese(y,x,W24); //写汉字“二”
break; //判断退出
case 3:
LCM_WriteChinese(y,x,W25); //写汉字“三”
break; //判断退出
case 4:
LCM_WriteChinese(y,x,W26); //写汉字“四”
break; //判断退出
case 5:
LCM_WriteChinese(y,x,W27); //写汉字“五”
break; //判断退出
case 6:
LCM_WriteChinese(y,x,W28); //写汉字“六”
break; //判断退出
case 7:
LCM_WriteChinese(y,x,W20); //写汉字“日”
break; //判断退出
default:
LCM_WriteEnglish(y,x,FH0); //写“*”
}
}
/*=========================================================
函数名:LCM_Init()
功能:初始化LCM函数
入口参数:无
出口参数:无
说明:液晶复位后需要延时至少100ms方可对其进行操作
=========================================================*/
void LCM_Init(void)
{
Uchar i; //临时变量
Uchar LCM_SYS[8]={0x34,0x87,0x07,0x27,0x39,0xEF,0x28,0x00};
//LCM系统设置参数
Uchar LCM_SCR[10]={0x00,0x00,0xEF,0x00,0x40,0xEF,0x00,0x80,0x00,0x00};
//LCM系统RAM及其显示相关设置参数
LCM_RST=0; //复位液晶
DelayNms(10); //延时10ms
LCM_RST=1; //复位完成
DelayNms(100); //延时100ms
LCM_WriteByteCon(0x40); //初始化指令0x40
for(i=0;i<8;i++)
{
LCM_WriteByteData(LCM_SYS[i]); //依次送入8个附带参数
}
LCM_WriteByteCon(0x44); //设置指令0x44
for(i=0;i<10;i++)
{
LCM_WriteByteData(LCM_SCR[i]); //依次送入10个附带参数
}
LCM_WriteByteCon(0x5D); //设置指令0x5D
LCM_WriteByteData(0x07); //写入参数
LCM_WriteByteData(0x87); //写入参数
LCM_WriteByteCon(0x5A); //设置指令0x5A
LCM_WriteByteData(0x00); //写入参数
LCM_WriteByteCon(0x5B); //设置指令0x5B
LCM_WriteByteData(0x0C); //写入参数(原来参数为0x08)
LCM_WriteByteCon(0x59); //DISPON,指令代码:59H,开显示
LCM_WriteByteData(0x13); //
}
/*=========================================================
函数名:LCM_DispDelay()
功能:LCM延时显示函数
入口参数:无
出口参数:无
=========================================================*/
void LCM_DispDelay(void)
{
Count4=0; //计数值重新开始
DispOver_Flag=0; //顯示標誌位清零
DispDelay_Flag=1; //延时显示标志位置高
}
/*=========================================================
函数名:LCM_CheckTimeOK()
功能:LCM显示校验时间成功函数
入口参数:无
出口参数:无
=========================================================*/
void LCM_CheckTimeOK(void)
{
//显示【校验时间成功!】
Uchar y; //声明变量
LCM_ClearWorkSpace(); //清除工作区
y=0x68; //显示纵坐标赋值
LCM_WriteChinese(y,0x0D,W137); //“校”
LCM_WriteChinese(y,0x0F,W138); //“验”
LCM_WriteChinese(y,0x11,W16); //“时”
LCM_WriteChinese(y,0x13,W17); //“间”
LCM_WriteChinese(y,0x15,W55); //“完”
LCM_WriteChinese(y,0x17,W56); //“成”
LCM_WriteChinese(y,0x19,W77); //“!”
}
/*=========================================================
函数名:LCM_Online()
功能:LCM显示联机函数
入口参数:无
出口参数:无
=========================================================*/
void LCM_Online(void)
{
//显示【正在联机…】
Uchar y; //声明变量
LCM_ClearWorkSpace(); //清除工作区
y=0x68; //显示纵坐标赋值
LCM_WriteChinese(y,0x0B,W59); //“正”
LCM_WriteChinese(y,0x0D,W60); //“在”
LCM_WriteChinese(y,0x0F,W139); //“联”
LCM_WriteChinese(y,0x11,W140); //“机”
LCM_WriteChinese(y,0x13,W78); //“,”
LCM_WriteChinese(y,0x15,W63); //“请”
LCM_WriteChinese(y,0x17,W64); //“稍”
LCM_WriteChinese(y,0x19,W65); //“候”
LCM_WriteChinese(y,0x1B,W66); //“…”
}
//=======================================================//
/********************LCM函数结束**************************/
//=======================================================//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -