void lcdwcn(unsigned char c) //不判忙直接写指令
{ RSPIN=0;
RWPIN=0;
chbuff=0;
if (c&0x01) chbuff=chbuff|0x80;
if (c&0x02) chbuff=chbuff|0x40;
if (c&0x04) chbuff=chbuff|0x20;
if (c&0x08) chbuff=chbuff|0x10;
if (c&0x10) chbuff=chbuff|0x08;
if (c&0x20) chbuff=chbuff|0x04;
if (c&0x40) chbuff=chbuff|0x02;
if (c&0x80) chbuff=chbuff|0x01;
P0=chbuff;
EPIN=1;
_nop_();
EPIN=0;
}
void lcdwc(unsigned char c) //判忙后写指令
{ lcdwaitidle();
lcdwcn(c);
}
void lcdwd(unsigned char d) //写数据
{ lcdwaitidle();
RSPIN=1;
RWPIN=0;
chbuff=0;
if (d&0x01) chbuff=chbuff|0x80;
if (d&0x02) chbuff=chbuff|0x40;
if (d&0x04) chbuff=chbuff|0x20;
if (d&0x08) chbuff=chbuff|0x10;
if (d&0x10) chbuff=chbuff|0x08;
if (d&0x20) chbuff=chbuff|0x04;
if (d&0x40) chbuff=chbuff|0x02;
if (d&0x80) chbuff=chbuff|0x01;
P0=chbuff;
EPIN=1;
_nop_();
EPIN=0;
}