proteus仿真是1602液晶不显示字符 求高人指点
生成.hex文件后载入到proteus仿真的单片机中,运行时,lcd1602无字符显示 如图: 展开
推荐于2017-09-26
绝b是程序的问题吧,程序发过来我看看,后者你先认真参考一下时序,单片机难就难在这个时序上面。电路图没错啊,我照你的画了,刚好我这里有以前做实验的程序,试了一下没问题,不过我的程序里面有关于中断的东东,电路有点不一样,但我是试了你的电路的,说明电路没问题。程序如下,你拷贝过去试试,看看行不行。#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P3^4;
sbit lcden=P3^5;
uchar code table[]=" ELECFANS ";
uchar code table1[]="MADE BY PENG LEI";
uchar num;
void delay(uchar);
void Init();
void write_com(uchar);
void write_data(uchar);
void main()
{
Init();
delay(100);
EA=1;
EX0=1;
EX1=1;
while(1);
}
void Init()
{
lcden=0;
write_com(0x38);
write_com(0x0f);
write_com(0x06);
write_com(0x01);
write_com(0x80+0x1);
}
void write_com(uchar com)
{
lcdrs=0;
P2=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void delay(uchar z)
{
uchar i,j;
for(i=z;i>0;i--)
{
for(j=100;j>0;j--);
}
}
void write_data(uchar Data)
{
lcdrs=1;
P2=Data;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void int0() interrupt 0
{
for(num=0;num<16;num++)
{
write_data(table[num]);
delay(500);
}
write_com(2);
write_com(0x80+0x40);
for(num=0;num<16;num++)
{
write_data(table1[num]);
delay(500);
}
}
void int1() interrupt 2
{
write_com(1);
}
程序和这个口都是对应的呀
2020-04-05
只是需要显示出字符 我看一个教程上是这么连接的