单片机LCD显示不出来

大家好,我写了一个简单的程序来驱动LCD显示的,但怎么都显示不出来,初学者,请哪位高手帮忙给看看,十分感谢。#include<reg51.h>#definelcdP1sb... 大家好,我写了一个简单的程序来驱动LCD显示的,但怎么都显示不出来,初学者,请哪位高手帮忙给看看,十分感谢。
#include<reg51.h>
#define lcd P1
sbit rs=P3^5;
sbit rw=P3^6;
sbit e=P3^7;
char line[]="My name is jiajia";
void check_bf();
void write_inst(char inst)
{
rs=0;
rw=0;
e=1;
lcd=inst;
e=0;
check_bf();
}
void write_character(char chara)
{
rs=1;
rw=0;
e=1;
lcd=chara;
e=0;
check_bf();
}
void check_bf()
{
char i,x=0x80;
while(x&0x80)
{
rs=0;
rw=0;
e=1;
x=lcd;
e=0;
for(i=0;i<10;i++);
}
}
void delay(int x)
{
int i,j;
for(i=1;i<x;i++)
{
for(j=1;j<120;j++);
}
}
void init_lcd()
{
write_inst(0x30);
write_inst(0x30);
write_inst(0x30);
write_inst(0x38);
write_inst(0x08);
write_inst(0x01);
write_inst(0x06);
write_inst(0x0e);
}
main()
{
int i;
init_lcd();
while(1)
{
write_inst(0x08);
for(i=0;i<17;i++)
write_character(line[i]);

delay(20);
}
}
其中lcd的D0~D7与单片机的P1口相连
三个控制端在程序中定义了引脚,P3~5,P3~6,P3~7.我的程序有什么问题?还是显示不出来啊
展开
 我来答
一万光年MEGn0
2009-06-26 · TA获得超过3712个赞
知道大有可为答主
回答量:4602
采纳率:67%
帮助的人:1067万
展开全部
能显示的LCD驱动是这样的,供参考
另,LCD要初始化;

void write_com(unsigned char cmdcode)
{

RS12=0; //RW=0;
Lcd_Bus=cmdcode;
delay(1);
E12=1;
delay(2);
E12=0;
}

/*-------------------写数据到LCD----------------------------*/

void write_data(unsigned char Dispdata)
{
RS12=1; //RW=0;
Lcd_Bus=Dispdata;
delay(1);
E12=1;
delay(2);
E12=0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cocaxuebi
2009-06-26 · TA获得超过156个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:158万
展开全部
LCD用的是1602还是12864啊,我以前用12864,结果负压不够,液晶也显示不出来,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IRF5400043
2009-06-26 · TA获得超过1.7万个赞
知道大有可为答主
回答量:1.5万
采纳率:33%
帮助的人:9405万
展开全部
其中lcd的D0~D7与单片机的P1口相连 ?
那三个控制端呢?

对比度调了么?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式