#include<reg52.h>
#include "LCD1602.H"
#include "myfunc.h"
#define DATAPORT P0
sbit RS=P2^2;
sbit RW=P2^3;
sbit E=P2^4;
void CheckBusy()//LCD1602忙检测函数
{
uchar temp;
do
{
RS=0;
RW=1;
E=0;
Delay(3);
E=1;
temp=DATAPORT;
E=0;
RW=0;
Delay(3);
}while(temp&0x80);
}
void WriteCmd(uchar cmd)//LCD1602写命令函数
{
CheckBusy();
RS=0;
RW=0;
E=0;
Delay(3);
E=1;
DATAPORT=cmd;
E=0;
RW=1;
Delay(5);
}
void WriteDat(uchar dat)//LCD1602写数据函数
{
CheckBusy();
RS=1;
RW=0;
E=0;
Delay(3);
E=1;
DATAPORT=dat;
E=0;
RW=1;
Delay(5);
}
void Init_LCD1602()
{
WriteCmd(0x38);
Delay(500);
WriteCmd(0x0c);
Delay(500);
WriteCmd(0x01);
Delay(500);
}
void LCD1602_DispOneChar(uchar x,uchar y,uchar dat)//LCD1602显示一个字符
{
switch(x)
{
case 0:
{
WriteCmd(0x80+y);
WriteDat(dat);
break;
}
default:
{
WriteCmd(0xC0+y);
WriteDat(dat);
break;
}
}
}
void LCD1602_DispStr(uchar x,uchar y,uchar *str)//LCD1602显示字符串
{
while(*str!=0)
{
LCD1602_DispOneChar(x,y,*str);
str++;
y++;
}
}
//void LCD1602_Clear()
//{
// WriteCmd(0x01);
//}
keil可以用中文翻译出每条语句的意思么?我是为了搞清楚每句语句的意思 应付毕业答辩。