打印

C8051F221MCU总是死机

[复制链接]
4526|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丁丁上路|  楼主 | 2010-3-29 19:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有一模块,用于检测温度并加热,最后将温度维持在60度左右.
主要思路是:利用C8051F221读取温度,然后通过读取的温度控制继电器来控制加热片(220V).
程序刚开始运行还可以,温度也能控制在理想范围,但时间一长,MCU就会出现死机现象,发串口命令没有响应.
是因为MCU不能长期工作在60度?还是其他什么原因造成的?

相关帖子

沙发
zdhlixiang2006| | 2010-3-29 20:27 | 只看该作者
MCU应该不会因为环境温度为60度死机,我最大的怀疑是你的继电器和单片机之间有没有电气隔离措施?比如加光耦,另外单片机有没有加隔离罩?

使用特权

评论回复
板凳
丁丁上路|  楼主 | 2010-3-29 20:44 | 只看该作者
谢谢zdhlixiang2006!!
不好意思,我没有把硬件说清楚:继电器与MCU有光耦隔离的.

在系统运行的时候,MCU大部分时间都只是检测温度,控制继电器.只有在外部发出上传温度和继电器状态时会使用到串口.除此之外,没有用其他的资源.按说逻辑应该很简单的了.

DX帮分析下,有哪些可能导致MCU死机??谢谢

使用特权

评论回复
地板
原野之狼| | 2010-3-29 21:14 | 只看该作者
把继电器部分先去掉 然后测试 看看软件逻辑是否有问题
另外加热到60度 跟MCU工作温度不相干吧

使用特权

评论回复
5
xuyaqi| | 2010-3-29 21:36 | 只看该作者
估计通信协议有问题,通信双方节奏没掌握好。

使用特权

评论回复
6
lnskngdc| | 2010-3-29 21:53 | 只看该作者
c8051f的复位电路一定要按照官方开发板的那样去做,如果做不好,很可能会死机或者复位,另外5楼的说的也有道理.

使用特权

评论回复
7
zdhlixiang2006| | 2010-3-30 09:36 | 只看该作者
既然这样,我建议你仔细看下C8051xxxx的数据手册,主要看能够引起复位的条件有几种,然后一个一个排除

使用特权

评论回复
8
夏风| | 2010-3-30 09:54 | 只看该作者
弄个灯,搞个定时闪灯,
弄个记数,定时累加,按一个键就通过串口上传当前记数值.
看看Y是不是真死了.

使用特权

评论回复
9
lsqdesign| | 2010-3-30 11:59 | 只看该作者
发串口命令没有响应.不一定就是MCU死机,也可能是串口的接受或发送有问题。
楼上的建议很好,先正确的找到问题才能解决问题。
碰到问题时不能太主观,方方面面的问题都要分析到。有时先入为主会浪费很多时间和精力。

使用特权

评论回复
10
zkl221| | 2010-3-30 12:54 | 只看该作者
看一下每次死机的时间是不是一样的呢,先要找到到底是软件的问题还是电路上的问题才能分析啊,我觉得如果软件没有问题的话很可能是供电电源或者是干扰引起的问题,因为8051F的单片机的供电电压一般是3.3升,因继电器打火产生的干扰或别的干扰很有可能使单片机不正常

使用特权

评论回复
11
qqdgc| | 2010-7-30 11:17 | 只看该作者
估计是继电器通断电干扰的影响

使用特权

评论回复
12
ayb_ice| | 2010-7-30 11:48 | 只看该作者
程序问题

使用特权

评论回复
13
ml8866| | 2011-8-18 11:23 | 只看该作者
找到原因没有呀?期待?

使用特权

评论回复
14
丁丁上路|  楼主 | 2011-8-22 22:07 | 只看该作者
好长时间没有上论坛了,结果控制继电器开关时干扰了电源造成的,谢谢各位的回复.非常感谢

使用特权

评论回复
15
xiamingmin163| | 2011-9-5 17:43 | 只看该作者
楼主这个帖子很给力,学到很多东西,谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

105

帖子

0

粉丝