修改51单片机字符型LCD液晶显示广告牌控制使SHEN ZHENG滚动!!!代码如下!! 5

#include<reg51.h>#include<INTRINS.H>sbitRS=P2^0;sbitRW=P2^1;sbitE=P2^2;voidlcd_w_cmd(... #include<reg51.h>
#include<INTRINS.H>
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
void lcd_w_cmd(unsigned char com);
void lcd_w_dat(unsigned char dat);
unsigned char lcd_r_start();
void int1();
void delay(unsigned char t);
void delay1();
void main()
{
unsigned char lcd[]="SHEN ZHEN";
unsigned char i;
P1=0xff;
int1();
delay(255);
lcd_w_cmd(0x83);
delay(255);
for(i=0;i<9;i++)
{
lcd_w_dat(lcd[i]);
delay(200);
}
while(1);
}
void delay(unsigned char t)
{
unsigned char j,i;
for(i=0;i<t;i++)
for(j=0;j<50;j++);
}
void delay1()
{
_nop_();
_nop_();
_nop_();
}
void int1()
{
lcd_w_cmd(0x3c);
lcd_w_cmd(0x0e);
lcd_w_cmd(0x01);
lcd_w_cmd(0x06);
lcd_w_cmd(0x80);
}
unsigned char lcd_r_start()
{
unsigned char s;
RW=1;
delay1();
RS=0;
delay1();
E=1;
delay1();
s=P0;
delay1();
E=0;
delay1();
RW=0;
delay1();
return(s);
}
void lcd_w_cmd(unsigned char com)
{
unsigned char i ;
do{
i=lcd_r_start();
i=i&0x80;
delay(2);
}while(i!=0);
RW=0;
delay1();
RS=0;
delay1();
E=1;
delay1();
P0=com;
delay1();
E=0;
delay1();
RW=1;
delay(255);
}
void lcd_w_dat(unsigned char dat)
{
unsigned char i;
do{
i=lcd_r_start();
i=i&0x80;
delay(2);
}while(i!=0);
RW=0;
delay1();
RS=1;
delay1();
E=1;
delay1();
P0=dat;
delay1();
E=0;
delay1();
RW=1;
delay(255);
}
展开
 我来答
leiyi1010
2014-04-23 · 超过22用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:41.9万
展开全部
for(i=0;i<9;i++)
{
lcd_w_dat(lcd[i]);
delay(200);
}
while(1)
主程序里面 一个while(1);单独一句。你想一下,这句会发生什么后果?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式