找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机超声波避障小车程序 LCD1602不亮和L298NIN口都处于高电平的原因?

查看数: 2649 | 评论数: 11 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-4-19 22:39

正文摘要:

请大佬帮我看看 单片机源程序如下: #include<reg52.h>                               & ...

回复

ID:1078027 发表于 2023-5-17 20:29
LCD1602不亮且L298N的IN口都处于高电平,可能有以下几种可能的原因:
供电问题:确保LCD1602和L298N都接收到正确的电源供电。检查它们的电源连接,确保电压稳定且符合规格要求。
引脚连接问题:检查LCD1602和L298N的引脚连接是否正确。确保连接正确地与单片机相连,并且对应的引脚设置正确。
初始化问题:确保LCD1602在程序中正确初始化。确保正确设置LCD1602的工作模式、行数、字符大小等,并发送正确的初始化命令。
程序逻辑错误:检查程序中有关LCD1602和L298N的代码逻辑。确保发送正确的数据和命令到LCD1602,以及正确设置L298N的IN口状态。
ID:1078097 发表于 2023-5-17 16:39
LDC1602初始化程序有问题
ID:768534 发表于 2023-5-17 11:20
应该是你的电路引脚设定的有问题
ID:844772 发表于 2022-4-21 16:31
你的程序卡在下边的读LCD状态函数里了,建议把LCD_E = 0;两句都删除,按手册不应该有。
如果你不使用这个函数,那在使用这个函数的位置要加延迟函数,特别在清屏的时候。好多人不用它是因为实际用时,经常出现通过率低,但你是模拟啊,还是尽量用呗。
建议改成下边这样,函数是忙就等待到不忙,所以没必要返回值。

/**************************读状态函数***************************/
void ReadStatusLCD(void)                      //读液晶状态函数
{
LCD_Data = 0xFF;                                            //给液晶1602的数据口置0xff
LCD_RS = 0;                                                    //控制液晶的RS管脚为低电平
LCD_RW = 1;                                                //控制液晶的RW管脚为高电平
LCD_E = 1;
while (LCD_Data & Busy);                      //检测忙信号  
LCD_E = 0;
}
ID:161164 发表于 2022-4-21 11:08

然后在写名令和数据后加些延时








ID:844772 发表于 2022-4-20 16:19
各端口都是高位,显示刚开机,默认高位,一定是你初始化的程序出现死循环,我通过搜索while,发现应该发生在79行。别的没仔细看啊。
ID:1016999 发表于 2022-4-20 14:56
lkc8210 发表于 2022-4-20 11:06
把85和97行注释掉看看

注释了以后L298N甚至低电了
ID:1016999 发表于 2022-4-20 14:54
lkc8210 发表于 2022-4-20 11:06
把85和97行注释掉看看

还是不对
ID:161164 发表于 2022-4-20 11:06
把85和97行注释掉看看
ID:121859 发表于 2022-4-20 10:54
电路没有问题,修改液晶驱动代码吧,看仿真图,RW为高,这肯定不对的。
ID:819198 发表于 2022-4-20 08:57
程序是借鉴的话,程序问题不大,主要检查硬件和接线问题。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表