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

#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);
}

你没有初始化,加个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;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-12
调程序是先把人家给的例程跑一下确定硬件没问题,再看自己的程序和人家的例程哪里不一样慢慢检查
第2个回答  2015-03-12
显示屏幕有个对比度,通过电位器调节的。你试试看。
第3个回答  2015-03-11
初始化配置没调用追问

加了也不行。。。

第4个回答  2015-03-11
需要给你完成一份吗追问

什么意思????

追答

需要定做可以丘上说
我id

相似回答