• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

LCD1602滚动屏幕显示遇到的问题

qiuqiu 2019-09-16 浏览量:801
LCD1602模块在两行的滚动显示的编程过程中产生了一些小疑问,希望各位大佬可以帮忙解答一下
谢谢大家了。
#include"intrins.h"
#include"reg52.h"
typedef unsigned char uchar;
uchar a[23]="It's very interesting !";
uchar b[18]="This is the world.";
void delay(int i)  //1us
{
while(i--);
}
sbit RW=P2^5;
sbit RS=P2^6;
sbit  E=P2^7;
void wc(unsigned char c)
{
E=0;
RS=0;
RW=0;

P0=c;
E=1;
delay(10);
E=0;
} //写指令
void wd(unsigned char d)
{
E=0;
RS=1;
RW=0;

P0=d;
E=1;
delay(10);
E=0;
}//写数据
void Init()
{
wc(0x0c);
wc(0x38);
wc(0x01);

} //初始化
void display()
{
unsigned char i=0;

wc(0x40+0x80);
for(i=0;i<=22;i++)
{
  wd(a[i]);
}  
wc(0x00+0x80);
for(i=0;i<=17;i++)
{
  wd(b[i]);
}
   wc(0x07);
}
void main()
{
unsigned char i=0;
Init();
display();
while(1)
{
/@@* wc(0x00+0x80);
for(i=0;i<=17;i++)
{
  wd(b[i]);
  delay(30000);
}
*/ //如果改成这一段程序,LCD1602就只有第一行的内容在滚动了
wc(0x40+0x80);
for(i=0;i<=22;i++)
{
  wd(a[i]);
}//如果写这一段程序,会有两行在滚动

}
}

可以告诉我为什么吗
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:0

相关问题

问题达人换一批

LCD1602滚动屏幕显示遇到的问题