程序有误,为什么Keil却没有报错

博主在调试1602液晶屏程序时遇到问题,Keil编译无误,但在硬件上不显示。经过多次比对源代码,发现函数`WriteData`中RS被误写为ES,导致数据无法写入。尽管Keil未报错,可能是由于语法层面无误,但逻辑错误未被检测出来。反思找错过程,提醒开发者注意分析可能的错误源。
摘要由CSDN通过智能技术生成

这两天在整1602,程序都写完后用Keil编译,有报错,但后来都一一解决了,于是烧进单片机,可不管怎么调1602就是不显示,首先我可以确定硬件电路是没有问题的,因为我用另外一个程序往1602里面写一个字符串,就可以显示。最后我只得对照书上的源程序,一个字母一个字母比对,比较了有3次,问题依然没有找到,都有点灰心了,花了我一天半时间于是就放一边了。今天下班后再一次找错,总与知道错在了哪里,

/*********************************
函数功能:写数据
*********************************/
void WriteData(unsigned char y)
{
while(BusyTest()==1);
RS=1;       //此处错误,RS写成了ES,可为什么检查不出来呢
RW=0;
E=0;
P0=y;
_nop_();
_nop_();
_nop_();
_nop_();
E=1;     
_nop_();
_nop_();
_nop_();
_nop_();
E=0;          //当E由高电平跳变成低电平时,液晶模块开始执行命令
}

在向1602写数据的时候&#x

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值