用C51语言对1602液晶进行编译,在液晶屏幕第一行显示“yangzhou”,第二行显示“Welcome”

求高手指点... 求高手指点 展开
 我来答
百度网友7247a56
2012-10-24 · TA获得超过4616个赞
知道大有可为答主
回答量:1422
采纳率:92%
帮助的人:486万
展开全部
//晶振12M
#include<reg52.h>
sbit RS=P2^6;
sbit EN=P2^7;
unsigned char code str1[]={"yangzhou "};
unsigned char code str2[]={"Welcome "};

void init_play(void)//显示初始化
{
lcd_init();
wr_com(0x80);//第一行
display(str1);

wr_com(0xc0); //第二行
display(str2);
}

/***************lcd1602程序*******************/
void delay1ms(unsigned int ms)//延时1毫秒//
{unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<100;j++);
}

void wr_com(unsigned char com)//写指令//
{ delay1ms(1);
RS=0;
EN=0;
P0=com;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}

void wr_dat(unsigned char dat)//写数据//
{ delay1ms(1);;
RS=1;
EN=0;
P0=dat;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}

void lcd_init()//lcd初始化设置//
{delay1ms(15);
wr_com(0x38);delay1ms(5);
wr_com(0x08);delay1ms(5);
wr_com(0x01);delay1ms(5);
wr_com(0x06);delay1ms(5);
wr_com(0x0c);delay1ms(5);
}

void display(unsigned char *p)//显示//
{
while(*p!='\0')
{
wr_dat(*p);
p++;
delay1ms(1);
}
}

/************主程序********************/
void main()
{ init_play();//初始化显示
while(1)
{

}
}
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式