标题: 关于单片机驱动LCD1602只能使用P1口的问题,换成P2口就不行了 [打印本页]

作者: 这一生只为你    时间: 2019-1-8 12:49
标题: 关于单片机驱动LCD1602只能使用P1口的问题,换成P2口就不行了
新手请教论坛大佬,为什么LCD1602的并口数据总线必须得是单片机的P1口?为什么换成P2口就不行?是不是所有的8位的数据总线都必须接P1口?不能使用其他口?

作者: Jason_Jay    时间: 2019-1-8 17:00
换其他IO都是可以的,建议吧代码贴出来看一下
作者: zjto1    时间: 2019-1-8 17:31
只要硬件连线也更换到相应的P2口,程序没问题应该就可以的,不行换块芯片试试。
作者: 1092648746    时间: 2019-1-8 18:24
可以换P2口的,你是程序没写对吧?
作者: shuisheng    时间: 2019-1-8 19:00
LCD1602就这几个函数,你看一下改了没有,改一改基本上差不多了

void buy(void) //测忙
{
        P2=0xff;//---------要改这样子
        RS=0;
        RW=1 ;
        _nop_();
        EN=1;
        _nop_();
        _nop_();
        delay(5);
        EN=0;
}

void write_com(uchar cmd,uchar pp) //写指令
{
        if(pp)buy();
        RS=0;
        RW=0;
        _nop_();
        P2=cmd;//---------要改这样子
        _nop_();
        EN=1;
        _nop_();
        _nop_();
        EN=0;
}

void write_dat(uchar daa) //写数据
{
        buy();
        RS=1 ;
        RW=0;
        _nop_();
        //---------要改这样子
        _nop_();
        EN= 1;
        _nop_();
        _nop_();
        EN=0;
}
作者: yaoji123    时间: 2019-1-8 19:27
P1,P2口都是准双向的,能正常驱动LCD602的,P0口要加上拉电阻。
作者: 指端轻语    时间: 2019-1-8 22:04
程序没改全吧
作者: 累不死的狗    时间: 2019-1-9 00:10
还是你程序的问题吧,不可能不行,是不显示了,还是显示的是乱码呢?
作者: 爱爱爱    时间: 2019-1-9 23:06
是不是程序的问题   不可能用P1口可以  用P2口就不可以




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1