标题: 单片机电路板程序老是不运行 [打印本页]

作者: Gideontro    时间: 2021-7-5 21:46
标题: 单片机电路板程序老是不运行
请问大家,如题,电路板程序老是不运行,偶尔可以运行,复位电路和晶振也有了,是不是需要在复位电路加个按键复位来复位单片机?

IMG_20210705_213800.jpg (471.91 KB, 下载次数: 53)

IMG_20210705_213800.jpg

作者: Gideontro    时间: 2021-7-5 21:47
是两个单片机串口通信的程序
作者: i九月    时间: 2021-7-5 22:01
复位脚对地加个电容试试
作者: 压着我头发啦    时间: 2021-7-5 22:50
感觉是虚接
作者: lkc8210    时间: 2021-7-5 23:41
晶振太远了吧
作者: 无名之火    时间: 2021-7-6 09:14
1.晶振离单片机尽量近一下。
2.建议装上指示灯进行观察。
3.程序上传看一下有无问题。
作者: design003    时间: 2021-7-6 09:32
像这种初学者的实验 尽量每个单片机加一个可视的东西  最常见的是加一个闪烁灯  起码可以判断单片机有没有正常运转    本来就是看不到的东西再猜来猜去凭白给自己填加障碍
作者: Gideontro    时间: 2021-7-6 11:43
程序没问题的,因为有时候能运行成功,但是断电再接就可能不运行程序
作者: robinsonlin    时间: 2021-7-6 13:29
串口用哪个定时器做波特率,9成是定时器没有处理好,导致溢出。 表象就是偶尔又可以,大部分时间不工作。
作者: joyang    时间: 2021-7-6 15:07
可以检查晶振电容是否是大于33pf
作者: Y_G_G    时间: 2021-7-6 15:13
请看图片



作者: Gideontro    时间: 2021-7-6 16:00
robinsonlin 发表于 2021-7-6 13:29
串口用哪个定时器做波特率,9成是定时器没有处理好,导致溢出。 表象就是偶尔又可以,大部分时间不工作。

程序是这样的

IMG_20210706_155557.jpg (467.05 KB, 下载次数: 36)

IMG_20210706_155557.jpg

IMG_20210706_155618.jpg (578.2 KB, 下载次数: 48)

IMG_20210706_155618.jpg

作者: robinsonlin    时间: 2021-7-6 17:26
Gideontro 发表于 2021-7-6 16:00
程序是这样的

不知道该如何回复你了。  我把我能够看到的错误先列出来,你自己慢慢体会吧。
1. 你这个串口通讯, 通讯源在哪里?  波特率是多少? 9600,还是19200?
2. 你的主程序中,P0口赋值一次后,就循环等待了, 你确定上电的瞬间就能接受到数据?  你这是通过按键在跟电子比快么?
作者: lkc8210    时间: 2021-7-6 17:34
robinsonlin 发表于 2021-7-6 17:26
不知道该如何回复你了。  我把我能够看到的错误先列出来,你自己慢慢体会吧。
1. 你这个串口通讯, 通 ...

2. P0口会在收到串口中断(39行)后更新(26行)
作者: robinsonlin    时间: 2021-7-6 17:48
lkc8210 发表于 2021-7-6 17:34
2. P0口会在收到串口中断(39行)后更新(26行)

哈哈,没注意到你中断里面嵌套的函数,不过问题仍然是同一个性质的,你确定串口只发送了一个字节,或者阶段时间内的最后一个字节是你想要的?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1