液晶显示器YM1602 无法显示

2020-02-09 09:18发布

我现在用的是16脚蓝光的YM1602  我一接通电源 就只看到32个黑 {MOD}的长方体,跪求专业人士 找错 先谢谢各位i。。
电路图如下:

(原文件名:YM1602.JPG)
程序是:
#include<at89x52.h>
#include<intrins.h>
#define rs                P1_7
#define rw                P1_6
#define ep                P1_5

unsigned char str1[]={"successful"};

void delay(unsigned char n)
{
        unsigned char m;
        for(n;n>0;n--)
                for(m=0;m<110;m++);
}

void lcd_busy()
{
        delay(10);
        ep=0;
        rs=0;
        rw=1;
        ep=1;
        while(P3&0x80);
        delay(5);
        ep=0;
}

void lcd_write_command(unsigned char command)
{
        lcd_busy();
        rs=0;
        rw=0;
        ep=0;
        P3=command;       
        ep=1;
        delay(5);
        ep=0;
}

void lcd_write_data(unsigned char dat)
{
        lcd_busy();
        rs=1;
        rw=0;
        ep=1;
        P3=dat;
        delay(5);
        ep=0;
}

void lcd_init()
{
        delay(15);
        lcd_write_command(0x38);
        delay(2);
        lcd_busy();
        lcd_write_command(0x0c);
        delay(2);
        lcd_busy();
        lcd_write_command(0x06);
        delay(2);
        lcd_busy();
        lcd_write_command(0x01);
        delay(2);
       
}

void lcd_postion(unsigned char x,unsigned char y)
{
        if(y<2)
        {
                y&=0x01;
                x&=0x0f;
                if(y==1)
                        x=x+0x40;
                x=x+0x80;
                lcd_write_command(x);
        }
}
void display(unsigned char x,unsigned char y,unsigned char *s)
{
        lcd_postion(x,y);
        while((*s)!='')
        {
                lcd_write_data(*s);
                s++;
        }
       
}

void main()
{
        lcd_init();       
        lcd_write_command(0x82);
    lcd_write_data(0x30);
        display(0,1,"hello");
        while(1);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
822690a
1楼-- · 2020-02-10 23:30
并入定位器调整对比度
starmark
2楼-- · 2020-02-11 00:35
回复【10楼】besthc
-----------------------------------------------------------------------

恩,· 我试过了的, 好想看不到有什么变化。。
starmark
3楼-- · 2020-02-11 01:29
回复【13楼】822690a 菜鸟
-----------------------------------------------------------------------

额, 大哥,并入定位器 是怎么个并法,·,和那根线并联吗?
jack12345
4楼-- · 2020-02-11 01:50
 精彩回答 2  元偷偷看……
millwood0
5楼-- · 2020-02-11 07:39
"还是只有32个黑方块"

that means the display is incorrectly initialized.
starmark
6楼-- · 2020-02-11 08:16
回复【17楼】millwood0
-----------------------------------------------------------------------

恩,我也觉得是初始化有问题,, 是时序不对吗? 还是YM1602的控制芯片不同,需要有不同控制方式,,

一周热门 更多>