没法看,我只能是先跳过单片机,把LCD直接接到并口上,看显示是正常的,说明并口送到LCD的是正确的! 查了一些资料,说LCD的驱动芯片HD44780的工作原理是收到一个先跃升再下降的enable脉冲,然后显示系统开始读取并判断是否有指令或数据需要处理(就是判断RS脚状态),然后判断是否将接受或者发送信息(判断RW状态),最后判断针对这些数据比特是执行发送还是接受操作,按照它这些我这样写了点,lcd没显示!
if(p_en==1) //原并口的接到LCD的EN管脚,判是否为高 { temp=p_port; //读并口数据到temp if(p_en==0) //再判并口EN是否变低 { if(p_rs==0) //判原并口的接到LCD的rs管脚,0是指令,1是数据 { lcd_w(temp,0);//把读到的并口数据送到LCD1602 } lcd_w(temp,1); } }
|