51单片机的1602驱动程序
#if XYPRC
/*************************************
函数名:lcdxyprc
函数功能:在特定行列内显示字符
参数:X(列),Y(行),ch(字符)
返回:无
备注:列数小于16,行数小于2
*************************************/
void lcdxyprc(uchar X,uchar Y,char ch)
{
lcdsetxy(X,Y);
lcdwdat((uchar)ch);
}
#endif
#if XYPRS
/*************************************
函数名:lcdxyprs
函数功能:在特定行列内显示字符串
参数:X(列),Y(行),String(字符)
返回:无
备注:列数小于16,行数小于2
*************************************/
void lcdxyprs(uchar X,uchar Y,char *String)
{
if(Y==0)
{
if(X<16)
{
lcdsetxy(X,Y);
for(;X<16 && *String!= ;X++)
{
lcdwdat((uchar)*String);
String++;
}
if(*String!= )
{
X=0;
Y=1;
}
}
}
if(Y==1)
{
lcdsetxy(X,Y);
for(;X<16 && *String!= ;X++)
{
lcdwdat((uchar)*String);
String++;
}
}
}
#endif
#if LEFTRIGHT
/*************************************
函数名:lcdright
函数功能:画面和光标一起右边移动n个字符位置
参数:n(字符数)
返回:无
备注:无
*************************************/
void lcdright(unsigned char n)//shift by n characters Right
{
unsigned char i;
for(i=0;i
}
/*************************************
函数名:lcdleft
函数功能:画面和光标一起左边移动n个字符位置
参数:n(字符数)
返回:无
备注:无
*************************************/
void lcdleft(unsigned char n)//shift by n characters Left
{
unsigned char i;
for(i=0;i
}
/*************************************
函数名:lcdcle
函数功能:光标往左边移动n个字符位置
参数:n(字符数)
返回:无
备注:无
*************************************/
void lcdcle(unsigned char n)//shif cursor right by n
{
unsigned char i;
for(i=0;i
}
/*************************************
函数名:lcdcri
函数功能:光标往右边移动n个字符位置
参数:n(字符数)
返回:无
备注:无
*************************************/
void lcdcri(unsigned char n)//Shift cursor left by n
{
unsigned char i;
for(i=0;i
}
#endif
评论