我的1206液晶显示屏没反应 无论写什么程序屏幕都是显示16...
#define uint unsigned int
#define uchar unsigned char
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
void delay(uint z)
{
uint i,j;
for(i=0;i<110;i++)
for(j=0;j<z;j++);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
dula=0;
wela=0;
lcden=0;
write_com(0x38);
write_com(0x0f);
write_com(0x06);
}
void main()
{
init();
while(1);
}
运行没错误 但是没显示 求帮忙看看啊 谢谢各位高手
有1206吗?不会是1602吧?
dala,wala是哪个
段和位的控制端
1602?没有这个吧,我还以为其中一个是背光的
还是可以显示的,我用我的板试了,我的板管脚不一样所以改了管脚,你再试试
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit lcden=P2^7;
sbit lcdrs=P2^5;
sbit w=P2^6;
uchar code x[]={"1"};
void delay(uint z)
{
uint i,j;
for(i=0;i<110;i++)
for(j=0;j<z;j++);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
w=0;
lcden=0;
write_com(0x38);
write_com(0x0f);
write_com(0x06);
}
void main()
{
init();
write_com(0x81);
write_data(x[0]);
write_com(0x82);
write_data(x[0]);
write_com(0x84);
write_data(x[0]);
while(1);
}
就这个
特别感谢你 但是还是没反应啊 其他资料中的程序放进去有显示的 这个程序就是16个方晶格
你的程序除了初始化好像没有输出需要显示的东东,怎么显示?显示什么?
void main()
{
init();
while(1);
}