查硬件,检查电源,和单片机复位脚 |
把液晶屏换为串行通信嘛,这样数据线只有一条,并行线太多太长接触不良都有可能出现问题,而且不好找。就你的这个实验用红外对管不是更好做吗? |
软件先只放一个功能的,然后测试硬件电路,只到调通了再调下一个,不要一起测试 |
系统都是由简单到复杂,想要知道问题出在哪里可以做一下简单的测试。 1.找个万用表测试一下电压是否正常。可能是电压问题。接错或者反接一点机率会导致整个系统出问题。 2.程序下载。测试测试单片机是否出问题。如果没有进行下一步。 3.找一个简单的串口例程测试单片机是否有问题。或者把现在的程序把其他的功能先屏蔽掉,保留最简单的串口通信程序。测试看有没有问题。如果没有进行下一步。 4.测试超声波传感器,使用串口可以进行测试。就这样一步一步的把所有外设调试通过就好了。 |
郑汉松 发表于 2020-11-16 10:57 Timer0 function() { static key_count=0; static display_count=0; key_count++; display_count++; if(key_count==10) { key_count=0; keyflag=1; } if(display_count==3) { display_count==0; display(); } } 类似于这样 |
郑汉松 发表于 2020-11-16 10:57 可以用一个定时器来进行分频,轮流触发超声波和液晶吗? |
郑汉松 发表于 2020-11-16 10:57 非常感谢有耐心帮我看代码! |
liuzx66 发表于 2020-11-15 18:44 确实,我也怀疑是线路的问题!因为我的线路全暴露在外面,我得考虑换一下杜邦线然后把他们焊在一起 |
51hei**1140 发表于 2020-11-15 16:39 谢谢! |
绝大多数情况下单片机无法正常工作,意思就是有时候是可以正常工作的。这种问题就是线路连接的问题 |
你好! 首先把你的接线先整理一遍吧,接插件用的太多了,很容易造成断路; 具体功能的实现,可以进行交流,软硬件工程可以帮你完成。 |
1,你要用printf的话,串口初始化要加上 TI = 1; 2,while(Echo1==0);这里最好改成 while(Echo1==0 && TR0 == 1);超时判断,因为如果超声模块接收不到回声,就会一直卡在while(Echo1==0);循环里面导致单片机卡死。 3,建议先单独测试LCD屏幕能不能正常工作,再加上其他代码,同理其他模块得先确保能单独工作的情况下,再把所有程序集成在一起。 4,超声波测量周期建议100MS以上,否则会影响超声波的下次测量结果,建议开个定时器来触发超声波测距 |