c8051f040的板子,程序烧进去感觉数据没有送到1602,只显示一行黑框

2019-07-15 11:08发布

程序有点长,只要解决lcd的部分就行了。弄一天了希望能有大神解决下(程序编译也没问题,1602烧淘宝店铺提供的程序也好使)
附录Ⅲ 程序清单.docx 下载积分: 积分 -1 分
26 KB, 下载次数: 21, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
wulinwl
2019-07-16 07:37
长腿的叔叔 发表于 2017-4-27 11:56
对,感觉就是程序没有送到单片机

可以把程序内其他内容屏蔽,单独调试液晶屏驱动程序,如果开发板上RW端固定接地就不要设置RW端,只写不读,也不查忙。参考程序如下:
/*******100us延时程序********/
void delay(uint x)
{
        uint a,b;
        for(a=x;a>0;a--)
                for(b=10;b>0;b--);
}
/*******液晶写指令程序********/
void write_com(uchar com)
{
        LCD_EN=0;        //初始设置LCD_EN低电平
        LCD_RS=0;        //允许写指令
        P0=com;        //传递指令
        delay(10);        //延时1ms
        LCD_EN=1;        //使能写入
        delay(10);        //延时1ms
        LCD_EN=0;        //低跳变执行
       
}
/*******液晶写数据程序********/
void write_date(uchar date)
{
        LCD_EN=0;        //初始设置LCD_EN低电平
        LCD_RS=1;        //允许写数据
        P0 =date;        //传递数据
        delay(10);        //延时1ms
        LCD_EN=1;        //使能写入
        delay(10);        //延时1ms
        LCD_EN=0;        //低跳变执行
       
}
/*******液晶初始化程序********/
void init()                //设置显示模式、
{
        write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口
        write_com(0x01);//显示清零,数据指针清零
//        write_com(0x0f);//设置开显示,显示光标,光标闪烁
//        write_com(0x0e);//设置开显示,显示光标,光标不闪
        write_com(0x0c);//设置开显示,不显光标
        write_com(0x06);//设置写一个字符后地址指针加1
//        write_com(0x07);//设置写一个字符后整屏左移
        write_com(0x80);//数据指针初始化,设置显示初始位置
}

一周热门 更多>