求C语言大神帮忙翻译下面一段C语言程序!!每一句都要有详细注释~!急!!
#include<reg52.h>#include"LCD1602.H"#include"myfunc.h"#defineDATAPORTP0sbitRS=P2^2;sb...
#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);
//} 展开
#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);
//} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询