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

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

绝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);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-10
滑动变阻器没有接合适,数据口可能没接合适追问

程序和这个口都是对应的呀

第2个回答  2020-04-05
请问你解决了吗,我也是这个问题
第3个回答  2018-07-25
你的都没有连接晶振和复位电路
第4个回答  2012-06-02
干嘛要把R/W接地呢?难道你不要读取显示器的状态吗?追问

只是需要显示出字符 我看一个教程上是这么连接的

proteus仿真是1602液晶不显示字符 求高人指点
程序如下,你拷贝过去试试,看看行不行。#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_...

新手!1602液晶在proteus上仿真的问题。我是参考郭天祥的教程写的程序...
sbit lcden=P2^0;sbit lcdrs=P2^2;与仿真图不一致呀。把仿真图按程序改一下就好了,或者按仿真图改一下程序。

proteus仿真1602无显示
原因就是把RS,RW,EN全接到P0就不行的,因P0口每个引脚都要加上拉电阻,而你没有加,所以,P0口就不能输出高电平,只有低电平,那个RS应该是高电平,为红点,可接到P0口是灰点,表示引脚处于悬空状态,因内部输出高电平,但实际上是悬空状态了。你的排电阻接到数据口P2上了,不用的,把排电阻...

求助,为什么这个闹钟程序在Proteus液晶屏幕不显示东西
如果是1602的话,实物能显示,仿真可能显示不了,因为时序不太一样 如果是12864的话,12864型号比较多种,但proteus当中是不带中文的,如果需要显示中文需要绘图,类似于点阵

LCD1602不显示,背光正常,对比度也调好了!以下是我的C程序,proteus仿真是...
既然proteus能仿真通过,那说明不是程序的问题、1602的三脚一般接一个滑动变阻器,滑阻的两端接电源和地,通过调节滑阻,可以改变背光的亮度。你的情况是不是背光太亮了,把字给掩盖了,调节一下滑阻看看,把屏幕往暗了调。

proteus中LCD仿真问题 请高手帮忙
你所用的LCD的控制器是T6963C,它有图形和字符显示的二种功能。你是没有设置好设置图形显示区首地址,这样,显示字符时,把不该显示的图形区也显示了,因此出现了上面一行的点。如你可以把图形显示的首址设为0x0100。

...LCD1602能亮,调节对比度,但是没显示字符。求指点。
1.检查硬件管脚是否接错 2.仿真和实际是有差别的,以前我做过实际的可以而仿真的不行,仿真时写函数中等待LCD1602响应用延时函数代替则仿真可行,程序上注意写函数的时序

proteus能不能仿真液晶屏
proteus中的液晶屏有1602,点阵的是12864,但都不带汉字库的,用起来有点麻烦。所以,仿真的程序与实物是不同的。如果只是仿真就行,那是可以。如果是先仿真,以后还要做实物板子,就别仿真了,因为,proteus中的液晶屏引脚,与实物是不同的,电路不同,程序就不同了。既然仿真过的程序,到了实物,是...

proteus仿真80c51测无极性电容时1602显示的数值一直为0。程序太长了...
看你的仿真图,被测电容和电感组成谐振电路,再用运放处理后送P3.5去计数,是这样吗。那你首先必须要保证运放有方波信号输出,才能用计数器计数。在运放的输出端接示波器,看看有方波信号吗。示波器如下图所示。

利用proteus isis设计一个简单万年历 。求指点
利用proteus 设计简单万年历,用LCD1602显示。那这个题目关键是LCD1602显示变量,本来1602是显示字符的,所以,要把日期,时间都变成相应的字符就可以了。举例,以秒为例,用变量second表示,取十位并变成字符为(second\/10+0x30),括号里的数据送1602即可。显示秒个位,second%10+0x30。可用时钟芯片DS1302...

相似回答