单片机1602的问题,普中的,为什么我的程序老是不显示,用普中给的资料就可以,但是我的为什么不行??

#include<reg52.h>typedefunsignedcharuint8;sbitRS=P1^0;sbitRW=P1^1;sbitEN=P1^5;sbitBUZ... #include<reg52.h>
typedef unsigned char uint8;
sbit RS=P1^0;
sbit RW=P1^1;
sbit EN=P1^5;
sbit BUZY=P0^7;
void wait()
{
P0=0xff;
do
{
RS=0;
RW=0;
EN=0;
EN=1;
}while(BUSY==1);
}
void w_dat(uint8 dat)
{
wait();
EN=0;
P0=dat;
RS=1;
RW=0;
EN=1;
EN=0;
}
void w_cmd(uint8 cmd)
{
wait();
EN=0;
P0=cmd;
RS=0;
RW=0;
EN=1;
EN=0;
}
void Init_LCD1602()
{
w_cmd(0x38);
w_cmd(0x0c);
w_cmd(0x06);
w_cmd(0x01);
}
void main()
{
w_cmd(0x80);
w_dat('A');
while(1);
}
展开
 我来答
清铃烨华
2015-03-11 · 超过28用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:42.4万
展开全部
你没有初始化,加个Init_LCD1602();在w_cmd(0x80);上面
追问
加了,还是不行。。。还是老样子,,真的,,
追答
void delay_us(unsigned int n)
{ if(n==0)
return;
while(--n);
}
void w_dat(uint8 dat)
{
wait();
EN=0;

RS=1;
RW=0;
P0=dat;
delay_us(40);
EN=1;
delay_us(40);
EN=0;
}
void w_cmd(uint8 cmd)
{
wait();
EN=0;
RS=0;
RW=0;
P0=cmd;
delay_us(40);
EN=1;
delay_us(40);
EN=0;
}
林中徘徊8
2015-03-12 · 超过15用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:25.7万
展开全部
调程序是先把人家给的例程跑一下确定硬件没问题,再看自己的程序和人家的例程哪里不一样慢慢检查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九都多平
2015-03-12 · TA获得超过187个赞
知道答主
回答量:90
采纳率:75%
帮助的人:17.1万
展开全部
显示屏幕有个对比度,通过电位器调节的。你试试看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
烟火夜空
2015-03-11 · TA获得超过6623个赞
知道大有可为答主
回答量:1678
采纳率:93%
帮助的人:572万
展开全部
初始化配置没调用
追问
加了也不行。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查晓筠0i5
2015-03-11 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4984万
展开全部
需要给你完成一份吗
追问
什么意思????
追答
需要定做可以丘上说
我id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式