51单片机语言

请教大神帮我解释一下这段程序 最好每行都能详细解释

void Delay_ms(unsigned int t)
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++)
;
}
void Delay(uint x)
{
while(--x);
}

//---------------1602--------------------------------------
void delayms(uint z) //延时N ms
{
uint x,y;
for(x=z;x>0;x--)
for(y=120;y>0;y--);
}
void write_com(uchar com) //1602液晶写指令
{
rs=0;
lcden=0;
LCDDATA=com;
delayms(1);
lcden=1;
delayms(2);
lcden=0;
}
void write_date(uchar date) //1602液晶写数据

{
rs=1;
lcden=0;
LCDDATA=date;
delayms(1);
lcden=1;
delayms(2);
lcden=0;
}
void init_lcd(void) //初始化液晶,及画面初始化
{
uchar num;
wela=0;
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
for(num=0;num<13;num++) // " temper: ";
{
write_date(table[num]);
Delay(10);
}

void Delay_ms(unsigned int t) //一个延时ms的程序,t是延时的数量,即是tms
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++)
;
}
void Delay(uint x) //延时时间
{
while(--x);
}

//---------------1602--------------------------------------
void delayms(uint z) //延时N ms
{
uint x,y;
for(x=z;x>0;x--)
for(y=120;y>0;y--);
}
void write_com(uchar com) //1602液晶写指令
{
rs=0;
lcden=0;
LCDDATA=com; //命令送端口
delayms(1); //延时1Ms
lcden=1;
delayms(2); //延时2Ms
lcden=0;
}
void write_date(uchar date) //1602液晶写数据

{
rs=1;
lcden=0;
LCDDATA=date; //数据送端口
delayms(1);
lcden=1;
delayms(2);
lcden=0;
}
void init_lcd(void) //初始化液晶,及画面初始化
{
uchar num;
wela=0;
lcden=0;
write_com(0x38); //16*2显示,5*7点阵,8位数据
write_com(0x0c); //显示开,关光标
write_com(0x06); //移动光标
write_com(0x01); //清除LCD的显示内容
write_com(0x80); //第一行的第一个字符位置。
for(num=0;num<13;num++) // " temper: ";
{
write_date(table[num]); //把table数组中定义的字符串显示出来。。。" temper: ";
Delay(10);
}
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜