为什么用1602A显示屏不会显示?

来源:百度知道 编辑:UC知道 时间:2024/06/22 12:34:48
大家好,我用1602A制作了一个电子钟,可是显示屏只是能点亮,但是不会显示,请各位高手指点,小弟感激不尽。。。

你可以先让它显示一个字符看它是否能显示,如果不能显示静态字符证明没有吧信息传上去。一般原因是write_com和write_data之间没有延时,建议延时5毫秒再看是否能显示。
这是我做的时钟显示正常。你可以把rs,rw,e换成你的引脚后试试看。
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit rs=P2^4;
sbit rw=P2^5;
sbit e=P2^6;
void delay(uint n)
{
uint i,j;
for(i=n;i>0;i--)
for(j=110;j>0;j--);
}
uchar code table[]={"00:00:00"};
uchar code table1[]={"2009.8.29 sa"};
uchar miao=56,fen=42,shi=17,g,s,num,a=1,b=1;
void write_com(uchar num)
{
rs=0;
rw=0;
e=0;
P0=num;
e=1;
delay(1);
e=0;
}
void write_data(uchar num)
{
rs=1;
rw=0;
e=0;
P0=num;
e=1;
delay(1);
e=0;
}
void init()
{
delay(15);
write_com(0x38);
delay(5);
write_com(0x38);
delay(5);
write_com(0x38);
write_com(0x01);
write_com(0x06)