我是一个初学者有关1602液晶屏的问题哪位大哥能帮我解答一下。

2019-03-24 18:49发布

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;

void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void write_com(uchar com)
{
        lcdrs=0;
        P0=com;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
       
}
void write_data(uchar date)
{
        lcdrs=1;
        P0=date;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
       
}
void init()
{
        dula=0;
        wela=0;
    lcden=0;
        write_com(0x38);
        write_com(0x0e);
    write_com(0x06);
        write_com(0x80);
        write_com(0x01);
}
void main()
{
        init();
     write_data('1');
        while(1);
       
}



这是我按视频教材写的1602程序,但是没有显示错误下载后却无法在1602上显示1,这是为什么?我按照视频教的排查了一遍没发现错误,哪位大哥能帮我看看哪里出错了 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
Li_Lei
1楼-- · 2019-03-25 01:37
1602的黑 {MOD}方块有没有消失?
消失了表示复位指令发送成功,没有的话查查连线看看主频是不是太高了
茹zhiwei
2楼-- · 2019-03-25 03:12
主函数没有用到void write_com(uchar com),你怎么写1进去,没有选写命令,就直接写数据了····
inza
3楼-- · 2019-03-25 08:25
方块没有消失,下载别的程序就可以显示。但是按照视频写的程序和他自己的程序就没有反应
inza
4楼-- · 2019-03-25 12:08
视频教材上就这么写的,在他的视频里就能显示出来,换成我的就不行了
Li_Lei
5楼-- · 2019-03-25 12:19
 精彩回答 2  元偷偷看……
茹zhiwei
6楼-- · 2019-03-25 16:45
方块没有消失,说明没有清屏成功,是不是初始化的问题,按6楼说的试试看

一周热门 更多>