OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5330|回复: 10

再发一帖,关于单片机自动复位的问题,求指教

[复制链接]

47

主题

360

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2014-3-6
在线时间
19 小时
发表于 2014-5-20 14:54:46 | 显示全部楼层 |阅读模式
5金钱
前些日子发了一贴关于稳压电源的问题,现在发现遇到了很奇怪的问题,完全颠覆了我之前的认识。。。于是乎决定再发一贴讲清楚问题,看看有没有人能够帮我解决一下。
我先大概讲一下我的电路,首先是一个标准的串联线性稳压电路,核心是调整管而不是稳压模块,因为我要给电路引入一个5V电压作为单片机、573和ds18b20的VCC,所以我取了稳压电路中整流桥整流后的电压(有13V)作为7805的输入。这个7805并不是稳压电源里面的,是单独 弄出来的。首先第一个问题就是,输入一个7V多的电压确实能够输出一个将近5V的电压,可是一接入电路里面,接了单片机的VCC,573的VCC、LE、ds18b20的vcc和作为比较器输出的上拉电压后,立刻掉到4V,后来我调到输入为10V的时候,7805的输出才勉强有4.5V,我想不明白什么地方会把电压拉低了。第二个问题是,我现在想检测,当温度超过30度的时候,让蜂鸣器响,程序如下:
int main(void){
while(1){
tempchange();                    //温度转换
display(get_temp());            //在数码管上显示温度

   if(get_temp()>=300)         //温度超过30度
   {          
            feng=0;                 //蜂鸣器响           
            while(1)
             {  delay(10);
                tempchange();
                display(get_temp());
              }
}
}

就是这么短的程序我一直调不好,一旦温度超过30度,单片机就会自动复位,蜂鸣器不响,我测了下vcc的电压,由4.5V调到5V,然后又变回4.5V。这我真的想不通,为啥单片机会自动复位。。。而一旦程序改成这样子:
int main(void){
while(1){
tempchange();                    //温度转换
display(get_temp());            //在数码管上显示温度

   if(get_temp()>=300)         //温度超过30度
   {          
            feng=0;                 //蜂鸣器响           
            while(1)
             { // delay(10);
                //tempchange();
               // display(get_temp());
              };
}
}
单片机就没有复位了,而且蜂鸣器也响了,但是此时单片机的vcc掉到3.9V。。。有没有谁遇到过这样的问题,指教一下?谢谢,

补充一下左上方的稳压电源部分不用管,关键是单片机控制的部分。至于数码管,除了文件里面的接法,我还是试过在数码管的阴、阳极都接了573锁存器,也不行。我看别人做的学习板用2个573接数码管,原以为这样就可以了,但是我按照这样的接法却不可以。。。

电源吖.SchDoc

213 KB, 下载次数: 89

最佳答案

查看完整内容[请看2#楼]

有压降检查两个地方: 1,输入是否还是足够?7805的输入端还有7V多么?还有10V么? 2,电流是否超过7805的最大电流了? 以上问题,拿万用表即可解决. 至于你的温度超过30°复位,根据你的描述,怀疑你的delay(10);函数有问题.自己检查下吧.
成长不是衣服越来越小,裤子越来越短,而是心和梦想一起越来越大!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-20 14:54:47 | 显示全部楼层
有压降检查两个地方:
1,输入是否还是足够?7805的输入端还有7V多么?还有10V么?
2,电流是否超过7805的最大电流了?

以上问题,拿万用表即可解决.
至于你的温度超过30°复位,根据你的描述,怀疑你的delay(10);函数有问题.自己检查下吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

47

主题

360

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2014-3-6
在线时间
19 小时
 楼主| 发表于 2014-5-22 17:19:05 | 显示全部楼层
delay(10);没问题。只要一点亮数码管,单片机的电压就降下来了,一开始以为电流太大的缘故,可是我在数码管的阳极和阴极都加了573锁存器后还是那样子,数码管还是可以亮,可是一旦进入if(get_temp()>=300) 语句之后,单片机马上就自动复位,一直温度低于30度后才正常。想不明白吖。。。。
成长不是衣服越来越小,裤子越来越短,而是心和梦想一起越来越大!
回复

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2014-5-22 18:24:45 | 显示全部楼层
发电路上来吧,上一个贴人们都在文字里猜图纸.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

47

主题

360

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2014-3-6
在线时间
19 小时
 楼主| 发表于 2014-5-22 22:42:47 | 显示全部楼层
回复【4楼】shihantu:
---------------------------------
我可能知道什么原因了,老师跟我说,应该是接了数码管后,单片机的供应电流不足,导致不停的上电掉电,看起来就像复位一样,验证的方法就是换一种电流大一点的芯片试一下,我觉得应该行

补充问一句,难道7805的输出电流还不够大吗?
成长不是衣服越来越小,裤子越来越短,而是心和梦想一起越来越大!
回复

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2014-5-22 23:43:56 | 显示全部楼层
回复【5楼】ljjdglg520:
---------------------------------
什么是应该?你们老师是这么教你们如何<猜测>问题的吗?然后也让我们继续猜?
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

47

主题

360

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2014-3-6
在线时间
19 小时
 楼主| 发表于 2014-5-23 12:27:21 | 显示全部楼层
回复【6楼】shihantu:
---------------------------------
就算再有经验的人也不可能一下子就肯定是什么错误吧,肯定是先从最大的可能性入手分析错误。
成长不是衣服越来越小,裤子越来越短,而是心和梦想一起越来越大!
回复

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2014-5-23 13:48:48 | 显示全部楼层
回复【7楼】ljjdglg520:
---------------------------------
这句话怎么看怎么觉得是对你的老师说更合适.

1.什么叫做有经验?没有图纸就让人猜看看别人是不是非常有经验?

2.这前半句怎么看都是想将所谓"有经验"的人钓鱼出来,然后再回一句"不可能".

3.后半句是自己打脸吗?
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2014-5-23 13:49:42 | 显示全部楼层
不想放图纸就说不想放就好了.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2014-5-23 13:58:46 | 显示全部楼层
肯定是先从最大的可能性入手分析错误

如果说"先分析最大的可能性"那还有点严谨的意思,没东西你叫大家瞎掰个理由,像你的老师那样说说,然后自己验证,验证成功就"果然牛逼",验证失败就"不是啊,我觉得肯定不是",这些经验不要也罢.

真正的有经验,是按照图纸和工作流程,<计算>出所有工作条件,并且与器件和设计的范围对比,得出<最大的可能性>,而不是瞎掰.

也罢.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

47

主题

360

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2014-3-6
在线时间
19 小时
 楼主| 发表于 2014-5-23 19:02:14 | 显示全部楼层
回复【10楼】shihantu:
---------------------------------
我在楼主位放了原理图了。虽然我肯定不会同意你的所有话,不过你讲的某些话还是挺有道理的,我发帖却没法图是我的错,我以为这种问题靠经验就能解决了,显然我错了。下次发帖有需要的话我一定会记得上图的。最后谢谢还有这么负责人的好心人^_*
成长不是衣服越来越小,裤子越来越短,而是心和梦想一起越来越大!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-7 22:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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