破烂王 发表于 2014-9-10 20:54:14

avr lcd1602显示不正常

void LCD1602_write_data(uchar RS,uchar send_com )
{
        if (RS>0)
                RS_1
        else
                RS_0;
        _delay_us(5);
        LcdPort&=0x10;                                        //低4位清0       
        _delay_us(1);                                        //加入后为5时必须按reste 才能显示
        EN_1;
        LcdPort|=0x0f&(send_com>>4);        //传送高4位
        //_delay_us(1);                                        //加入后不显示
        EN_0;
        _delay_us(1);
        LcdPort&=0x10;                                        //低4位清0
        //_delay_us(1);                                        //加入不能显示,只能按reset 才能显示
        EN_1;
        LcdPort|=0x0f&send_com;                        //传送低4位
        _delay_us(1);                                        //可加可不加都能正常显示
        EN_0;
在proteus仿真时发现这种奇怪问题

define_avr 发表于 2014-9-10 22:44:17

时序问题吧?

OYL 发表于 2014-9-10 22:47:23

仿真很喜欢坑人的!初学者最好多搞搞硬件

god-father 发表于 2014-9-10 23:27:13

最好在写之前CHECKBUSY

登云钓月 发表于 2014-9-11 09:06:54

哈哈哈支持做硬件 仿真坑人

西施糖葫芦 发表于 2014-9-11 12:02:23

仿真不亮…LCD这东西还是实际点一个比较简单的感觉
页: [1]
查看完整版本: avr lcd1602显示不正常