打印

LCD两行显示英文

[复制链接]
510|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangpe|  楼主 | 2017-6-16 18:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

# include <reg52.h>
# define uchar unsigned char
# define uint usigned int
char code display1[]={"  zhongguoliang "};
char code display2[]={"you are the best"};
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
void delay(uchar x)
{
        uchar a,b;
        for(a=x;a>0;a--)
        for(b=110;b>0;b--);        
}

void write_com(uchar date) //写指令
{
        en=0;
        rs=0;
        rw=0;
        
        P1=date;
        delay(5);
        en=1;
        
        delay(5);
        en=0;
        delay(5);
}
void write_date(uchar datea) //写数据
{
        en=0;
        rs=1;
        rw=0;
        P0=datea;
        delay(10);
        en=1;
        
        delay(5);
        en=0;
        delay(5);
}
void init()         //初始化函数
{
        en=0;
        write_com(0x38);
        delay(5);
        write_com(0x38);
        delay(5);
        write_com(0x0f);
        delay(5);
        write_com(0x06);
        delay(5);
        write_com(0x01);
        delay(5);                        
}
uchar num;
void main()
{
        //init();
        while(1)                                       

                                                  
        {        init();
                write_com(0x01);
                write_com(0x80);  //显示第一行
                for(num=0;num<16;num++)
                {
                        write_date(display1[num]);
                    delay(50);
                }
                write_com(0x80+0x40);
                for(num=0;num<16;num++)
                {
                        write_date(display2[num]);
                    delay(50);
                }
        }                                                

                  
                                                        

                                 
}
沙发
zhuww| | 2017-6-16 18:47 | 只看该作者
把初始化防在循环外边试试

使用特权

评论回复
板凳
wangpe|  楼主 | 2017-6-16 18:48 | 只看该作者
也不行啊,我之前已经试过把初始化放在外面的,

使用特权

评论回复
地板
lium| | 2017-6-16 18:51 | 只看该作者
那现在是什么情况,不显示吗

使用特权

评论回复
5
lium| | 2017-6-16 20:23 | 只看该作者

你要显示的是字符串 ,不能直接写write_date(display2[num]);

使用特权

评论回复
6
stly| | 2017-6-16 20:28 | 只看该作者

查查是乱码!

使用特权

评论回复
7
guoyt| | 2017-6-16 20:30 | 只看该作者
把初始化写在while外面,还有,发送显示的语句,发送一次就够了,显示相同的内容,没有必要循环刷新的,

使用特权

评论回复
8
wangpe|  楼主 | 2017-6-16 20:32 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

938

主题

9837

帖子

2

粉丝