proteus仿真是1602液晶不显示字符 求高人指点

用keil软件编译程序显示无错误生成.hex文件后载入到proteus仿真的单片机中,运行时,lcd1602无字符显示如图:... 用keil软件编译程序 显示无错误
生成.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);

}

科学大求证3l
2012-06-10
知道答主
回答量:54
采纳率:0%
帮助的人:15.2万
展开全部
滑动变阻器没有接合适,数据口可能没接合适
追问
程序和这个口都是对应的呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-04-05
展开全部
请问你解决了吗,我也是这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mdlel
2018-07-25
知道答主
回答量:1
采纳率:0%
帮助的人:831
展开全部
你的都没有连接晶振和复位电路
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a188zjm
2012-06-02
知道答主
回答量:60
采纳率:0%
帮助的人:27.1万
展开全部
干嘛要把R/W接地呢?难道你不要读取显示器的状态吗?
追问
只是需要显示出字符  我看一个教程上是这么连接的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式