不用的····!可以通过编程解决
void lcdwrdata(uchar dat)
{
dat = ((dat&0x01)<<7)|((dat&0x02)<<5)|((dat&0x04)<<3)|((dat&0x08)<<1)|((dat&0x10)>>1)|((dat&0x20)>>3)|((dat&0x40)>>5)|((dat&0x80)>>7);
rs=1;//写数据时RS拉高
lcden=1;
P0=dat;
delay(6);
lcden=0;
delay(6);
}
void lcdwrcom(uchar cdat)//写指令数据到LCD
{
cdat = ((cdat&0x01)<<7)|((cdat&0x02)<<5)|((cdat&0x04)<<3)|((cdat&0x08)<<1)|((cdat&0x10)>>1)|((cdat&0x20)>>3)|((cdat&0x40)>>5)|((cdat&0x80)>>7);
rs=0;//写指令时RS拉低
lcden=1;
P0=cdat;//
delay(6);//不加此延时将导致不能写入指令,但能写入显示数据
lcden=0;
delay(6);
}我用延时代替了“判忙”。你能理解吗???不懂得话,你再追问,我最近在做lcd1602日历闹钟+18B20程序,大家相互学习学习!
拆下来又不是很难,