📄 lcddrive12864.c
字号:
}
}
}
}break;
case 2://小数点后2位
{
Display16X8(lcdrow,lcdline,temp16%10+0x30,(bit)(DotNot&1));
lcdline-=8;
DotNot = DotNot>>1;
Display16X8(lcdrow, lcdline,(temp16/10)%10+0x30,(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=8;
Display16X8(lcdrow, lcdline,'.',(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=8;
Display16X8(lcdrow, lcdline,(temp16/100)%10+0x30,(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=8;
if(number>3)
{
if(dispzero)//显示前导0
{
Display16X8(lcdrow, lcdline,(temp16/1000)%10+0x30,(bit)(DotNot&1));
}
else//不显示前导0
{
Display16X8(lcdrow, lcdline,(temp16>=1000) ? (temp16/1000)%10+0x30 : ' ',(bit)(DotNot&1) );
}
DotNot = DotNot>>1;
lcdline-=8;
if(number>4)
{
if(dispzero)//显示前导0
{
Display16X8(lcdrow, lcdline,(temp16/10000)%10+0x30,(bit)(DotNot&1));
}
else//不显示前导0
{
Display16X8(lcdrow, lcdline,(temp16>=10000) ? (temp16/10000)%10+0x30 : ' ',(bit)(DotNot&1) );
}
}
}
}break;
case 3://小数点后3位
{
Display16X8(lcdrow,lcdline,temp16%10+0x30,(bit)(DotNot&1));
lcdline-=8;
DotNot = DotNot>>1;
Display16X8(lcdrow, lcdline,(temp16/10)%10+0x30,(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=8;
Display16X8(lcdrow, lcdline,(temp16/100)%10+0x30,(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=8;
Display16X8(lcdrow, lcdline,'.',(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=8;
Display16X8(lcdrow, lcdline,(temp16/1000)%10+0x30,(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=8;
if(number>4)
{
if(dispzero)//显示前导0
{
Display16X8(lcdrow, lcdline,(temp16/10000)%10+0x30,(bit)(DotNot&1));
}
else//不显示前导0
{
Display16X8(lcdrow, lcdline,(temp16>=10000) ? (temp16/10000)%10+0x30 : ' ',(bit)(DotNot&1) );
}
}
}break;
}
}
/*********************************************************************************************************
** 函数名称: void Display8X8ItemData(uint8 lcdrow,uint8 lcdline,uint8 item,uint8 DotNot,uint8 style);
** 功能描述: DotNot bit0~7为1则对应位反显
** 输 入: style:显示数据的个数.
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2006年4月7日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void Display5X8ItemData(uint8 lcdrow,uint8 lcdline,uint16 temp16,uint8 DotNot,uint8 style)
{
uint8 number;
number = style &0x0F; //取出显示数据的个数
lcdinit(); //left and right show open
Display5X8(lcdrow,lcdline,temp16%10+0x30,(bit)(DotNot&1));
lcdline-=6;
DotNot = DotNot>>1;
if(number>1)
{
Display5X8(lcdrow, lcdline,(temp16/10)%10+0x30,(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=6;
if(number>2)
{
Display5X8(lcdrow, lcdline,(temp16/100)%10+0x30,(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=6;
if(number>3)
{
Display5X8(lcdrow, lcdline,(temp16/1000)%10+0x30,(bit)(DotNot&1));
DotNot = DotNot>>1;
lcdline-=6;
if(number>4)
{
Display5X8(lcdrow, lcdline,(temp16/10000)%10+0x30,(bit)(DotNot&1));
}
}
}
}
}
/*********************************************************************************************************
** 函数名称: Display16X16Item
** 功能描述: 在指定的行列绘一16X16点阵数组
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
/*void Display16X16Item(uint8 dlcdrow,uint8 dlcdline,uint8 item)
{
uint8 i;
for(i=0;i<7;i++)
{
if(mb[item][i]==0xFF)
{
break;
}
Display16X16(dlcdrow,(dlcdline+i*16), mb[item][i]);
}
}
/*********************************************************************************************************
** 函数名称: Display16X8WithDot3
** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后三位数字
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
/*void DisplayInt16X8WithDot3(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
{
Display16X8(lcdrow, lcdline+8*0,(temp16>=10000) ? (temp16/10000)%10 : 17 );
Display16X8(lcdrow, lcdline+8*1,(temp16/1000)%10 );
Display16X8(lcdrow, lcdline+8*2,10 );
Display16X8(lcdrow, lcdline+8*3,(temp16/100)%10 );
Display16X8(lcdrow, lcdline+8*4,(temp16/10)%10 );
Display16X8(lcdrow, lcdline+8*5,(temp16%10) );
}
/*********************************************************************************************************
** 函数名称: Display16X8WithDot2
** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后二位数字
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
/*void DisplayInt16X8WithDot2(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
{
Display16X8(lcdrow, lcdline+8*0,(temp16>=10000) ? (temp16/10000)%10 : 17 );
Display16X8(lcdrow, lcdline+8*1,(temp16>=1000) ? (temp16/1000)%10 : 17 );
Display16X8(lcdrow, lcdline+8*2,(temp16/100)%10 );
Display16X8(lcdrow, lcdline+8*3,10 );
Display16X8(lcdrow, lcdline+8*4,(temp16/10)%10 );
Display16X8(lcdrow, lcdline+8*5,(temp16%10) );
}
/*********************************************************************************************************
** 函数名称: DisplayInt16X8WithoutDot
** 功能描述: 在指定的行列绘一16X8点阵数组,无小数点,不显示前导0
** 输 入: number为显示字符的个数
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
/*void DisplayInt16X8WithoutDot(uint8 lcdrow ,uint8 lcdline, uint16 temp16,uint8 number)
{
Display16X8(lcdrow, lcdline+8*4-(5-number)*8,(temp16/1)%10);
if(number>1)
{
Display16X8(lcdrow, lcdline+8*3-(5-number)*8,(temp16>=10) ? (temp16/10)%10 : 17 );
if(number>2)
{
Display16X8(lcdrow, lcdline+8*2-(5-number)*8,(temp16>=100) ? (temp16/100)%10 : 17 );
if(number>3)
{
Display16X8(lcdrow, lcdline+8*1-(5-number)*8,(temp16>=1000) ? (temp16/1000)%10 : 17 );
if(number>4)
{
Display16X8(lcdrow, lcdline+8*0-(5-number)*8,(temp16>=10000) ? (temp16/10000)%10 : 17 );
}
}
}
}
}
/*********************************************************************************************************
** 函数名称: DisplayInt16X8WithoutDotWithZero
** 功能描述: 在指定的行列绘一16X8点阵数组,无小数点,显示前导0
** 输 入: number为显示字符的个数
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
/*void DisplayInt16X8WithoutDotWithZero(uint8 lcdrow ,uint8 lcdline, uint16 temp16,uint8 number)
{
Display16X8(lcdrow, lcdline+8*4-(5-number)*8,(temp16/1)%10);
if(number>1)
{
Display16X8(lcdrow, lcdline+8*3-(5-number)*8,(temp16/10)%10 );
if(number>2)
{
Display16X8(lcdrow, lcdline+8*2-(5-number)*8,(temp16/100)%10 );
if(number>3)
{
Display16X8(lcdrow, lcdline+8*1-(5-number)*8,(temp16/1000)%10 );
if(number>4)
{
Display16X8(lcdrow, lcdline+8*0-(5-number)*8,(temp16/10000)%10);
}
}
}
}
}
/*********************************************************************************************************
** 函数名称: Display16X8WithDot3
** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后三位数字
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
/*void DisplayChar6X8WithoutDot(uint8 lcdrow ,uint8 lcdline, uint8 temp8)
{
Display6X8(lcdrow, lcdline+6*0,(temp8/100)%10);
Display6X8(lcdrow, lcdline+6*1,(temp8/10)%10);
Display6X8(lcdrow, lcdline+6*2,(temp8/1)%10);
}
/*********************************************************************************************************
** 函数名称: DisplayInt6X8WithDot3
** 功能描述: 在指定的行列绘INT型数,小数点后三位数字
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
/*void DisplayInt6X8WithDot3(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
{
Display6X8(lcdrow, lcdline+6*0,(temp16>=10000) ? (temp16/10000)%10 : 15 );
Display6X8(lcdrow, lcdline+6*1,(temp16/1000)%10 );
// Display2X8(lcdrow, lcdline+6*2,10 );
Display6X8(lcdrow, lcdline+6*3-4,(temp16/100)%10 );
Display6X8(lcdrow, lcdline+6*4-4,(temp16/10)%10 );
Display6X8(lcdrow, lcdline+6*5-4,(temp16%10) );
}
/*********************************************************************************************************
** 函数名称: DisplaySpace
** 功能描述: 在指定的行列绘一指定个数的16X8空白
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
/*void DisplaySpace(uint8 lcdrow ,uint8 lcdline, uint8 number)
{
do
{
Display16X8(lcdrow, lcdline,17);
number--;
lcdline+=8;
}while(number>0);
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -