注册 登录
编程论坛 单片机编程

这个1602显示有点怪怪的

abooll 发布于 2013-03-24 11:30, 3735 次点击
只有本站会员才能查看附件,请 登录

怎么显示这样
#include <REG51.H>
void delay(void);
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
void start(void);
void delay1ms(int i);
void writecom(char i);
void writedata(char i);

int main(void)                                                                                    
{  
    char lcddata1[16]="I LOVE YOU GXQ !";
    char lcddata2[16]="2013  3  22 ";
    int i;
    start();
    writecom(0x80);
    for(i=0;i<16;i++)
    {
        writedata(lcddata1[i]);
    }
   
    writecom(0x80+0x40);
    for(i=0;i<16;i++)
    {
        writedata(lcddata2[i]);
    }
    while(1);

}

void start(void)
{
    delay1ms(15);
    writecom(0x38);
    delay1ms(5);
    writecom(0x38);
    delay1ms(5);
    writecom(0x38);
    writecom(0x38);
    writecom(8);
    writecom(1);
    writecom(6);
    writecom(0x0c);
}

void delay1ms(int i)
{    int j;
    for(i;i>0;--i)
    for(j=100;j>0;--j);
}

void writecom(char i)
{
    E=0;
    RS=0;
    RW=0;   
    P1=i;
    delay1ms(5);
    E=1;
    delay1ms(1);
}

void writedata(char i)
{    E=0;
    RS=1;
    RW=0;
    E=1;
    P1=i;
    delay1ms(5);
    E=0;
}
4 回复
#2
wp2319572013-03-24 11:35
不懂 期待楼主能获得答案
#3
小xiong2013-03-24 12:34
回复 2楼 wp231957
只有本站会员才能查看附件,请 登录


程序没什么问题,你把1602转个方向就好了,
#4
abooll2013-03-24 14:14
这也可以啊,,,
#5
liqi20092013-09-21 11:54
    可以尝试一下这个工具Da Vinci LCD,专门设计嵌入式显示画面的(含字库,适用于点阵LCD屏),汽车级的,不再用LCD模块(可省一个MCU),下载地址:http://xxxxxxxxxxx/down/class/?2.html
1