急!求解释,新手菜鸟,感谢各位大神

#include"lcd1602.h"

void init_lcd1602()
{
rw=0;
write_lcd1602(0x38,0);
write_lcd1602(0x0c,0);
write_lcd1602(0x06,0);
write_lcd1602(0x01,0);
}

void write_lcd1602(uchar com,uchar i)
{
rs=i;
P0=com;
en=1;
delay(2);
en=0;
delay(2);
}

void display_lcd1602_byte(uchar h,uchar l,uchar val)
{
if(h)
l=l+0x40;
write_lcd1602(0x80+l,0);
write_lcd1602(val,1);

}

void display_lcd1602_text(uchar h,uchar l,uchar *val)
{

uchar length=0;
while((val[length]!='\0')&&(l<16))
{
display_lcd1602_byte(h,l,val[length]);
length++;
l++;
}
}

void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)

for(y=115;y>0;y--);
}

从名字上看,这是单片机控制lcd显示的程序,delay的作用是延迟。lcd1602是一种液晶显示器件