51单片机我用按键复位和重新上电复位得到的结果不一样是怎么回事

[复制链接]
查看11 | 回复5 | 2017-10-5 09:35:59 | 显示全部楼层 |阅读模式
可能是复位的对象不同。基本复位电路原理:电阻给电容充电,电容的电压缓慢上升直到vcc,没到VCC时芯片复位脚近似低电平,于是芯片复位,接近VCC时芯片复位脚近高电平,于是芯片停止复位,复位完成。先看看单片机数据手册,得知复位时间最少是多少个周期,再计算当前时钟频率一个周期是多少时间,再乘以复位所需周期数(适当增加周期的数量,可使复位可靠)就知道当前时钟频率所需复位时间,用rc充电公式计算所需电阻电容值即可。注意单片机数据手册复位脚的高低电平电压值,rc充电时间要计算复位脚的高低电平区间电压,复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位
回复

使用道具 举报

千问 | 2017-10-5 09:35:59 | 显示全部楼层
简单地说,这两者都是先强制将电容电压拉低(实际上就是非常快速地放电),然后电容再充电的过程,如果结果不一样,可以说明使用的电阻可能有问题!
回复

使用道具 举报

千问 | 2017-10-5 09:35:59 | 显示全部楼层
1、要看你复位的对象是否完全一样,复杂系统除复位单片机外,还得考虑外围元件。2、复位的对象完全一样,就是你的上电复位电路有问题,又如:元件失效、开路或阻容值太小。
回复

使用道具 举报

千问 | 2017-10-5 09:35:59 | 显示全部楼层
结果不一样?一种复位,一种不复位?如果按键不复位,可能是按键接法不对。如果上电不复位,可能是电容值太小,建议电容用10uF,电阻用10K的给你一个电路图,参考下。
回复

使用道具 举报

千问 | 2017-10-5 09:35:59 | 显示全部楼层
初始化的问题在上电复位的时候 寄存器被初始化但是在按键复位的时候 有一部分寄存器初始化,还有一些没有被初始化,如IO等 这些是根据你当时的运行情况来的所以 在做单片机设计的时候,最好了解一下所有寄存器 在各种不同复位状态下的 状态 然后软件初始化 就不会发生上面的问题了
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行