51单片机的1602驱动程序
if ((RCC-> RCC_Clocks->SYSCLK_Frequency= (HSE_Value >> /************************************* /************************************* #if XYPRC #if XYPRS #endif #if LEFTRIGHT /************************************* #endif
函数名:lcdinit
函数功能:初始化
参数:无
返回:无
备注:无
*************************************/
void lcdinit()
{
lcdwcmd(0x38);
_nop_();
_nop_();
_nop_();
_nop_();
lcdwcmd(0x38);
_nop_();
_nop_();
_nop_();
_nop_();
lcdwcmd(0x38);
_nop_();
_nop_();
_nop_();
_nop_();
lcdsetxs(1,0,0);//设置输入模式,默认增量方式,画面不动,光标向右边移动
lcdsetim(1,0);
lcdwcmd(0x01);//清屏
}
函数名:lcdsetxy
函数功能:坐标设置
参数:x(列数),y(行数)
返回:无
备注:配合lcdxyprc,lcdxyprs函数使用
列数小于39,行数小于2
*************************************/
void lcdsetxy(uchar X,uchar Y)
{
uchar Address;
if(X>39)
X=39;
if (Y == 0)
{
Address = 0x80 + X;
}
else
{
Address = 0xc0 + X;
}
lcdwcmd(Address);
}
/*************************************
函数名:lcdxyprc
函数功能:在特定行列内显示字符
参数:X(列),Y(行),ch(字符)
返回:无
备注:列数小于16,行数小于2
*************************************/
void lcdxyprc(uchar X,uchar Y,char ch)
{
lcdsetxy(X,Y);
lcdwdat((uchar)ch);
}
#endif
/*************************************
函数名: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++;
}
}
}
/*************************************
函数名: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
}
51单片机1602驱动程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)