单片机复位以后,

[复制链接]
5118|35
twz8858877 发表于 2008-11-19 13:40 | 显示全部楼层

51复位后

RAM内容不变,SFR置默认值(除指示复位源等特殊寄存器),如:复位后所有io均输出高电平
 楼主| a5566255 发表于 2008-11-19 14:02 | 显示全部楼层

嗯啦,LS大虾说得很中肯很精练,

也很符合我想要的答案。。。。。。。
NE5532 发表于 2008-11-19 20:52 | 显示全部楼层

你试一下就知道了。

估计你还要回来问的,解决的方法是,不但要玩C,还得玩汇编,别被编译器忽悠了。
 楼主| a5566255 发表于 2008-11-19 22:45 | 显示全部楼层

偶就不回来问~~

大不了去其它坛子问哈哈哈。。。。。。。。
不过我认为我已经知道了,我是用的C写的(不是因为我不会汇编),但我没给它加软件自带的启动程序,自己也没添清除程序,所以应如21楼所说,怎么样,是不是也觉得我不用回来问了?哈哈哈。。。。。。。。
zyok 发表于 2008-11-19 22:51 | 显示全部楼层
icmap 发表于 2008-11-20 18:56 | 显示全部楼层

不同的IC有可能不一样,看规格书。

NE5532 发表于 2008-11-20 21:24 | 显示全部楼层

51的C环境我不熟,但是你得确认关闭了启动文件。

hotpower 发表于 2008-11-20 22:12 | 显示全部楼层

晕~~~21楼才是正解~~~MCU/ARM/DSP都一样~~~只要方法对~~~

houniao88 发表于 2008-11-20 22:18 | 显示全部楼层
linqing171 发表于 2008-11-20 23:04 | 显示全部楼层

别说复位,就是短时间掉电ram也不丢

复位信号只是复位部分寄存器而已,特别是pc寄存器。
p89c51的复位有bug连所有的sfr都经常复位不全。

RAM掉电后数据多久丢失谁也说不清楚,个人感觉三四秒内不到10%的丢失。

一般377长时间后上电都是低电平,而短时间掉电后基本都还能维持。
 楼主| a5566255 发表于 2008-11-21 09:03 | 显示全部楼层

LS真的么。。。。

“三四秒内不到10%的丢失”。。。。那样的单片机也忒。。。。不过必要时可以用软件改善下~~
偶的 AT89C52 MS不用那么长时间,庆幸。。。。。
PS:29楼兄弟有点诚实的幽默。。。。
骗吃骗喝 发表于 2008-11-21 10:43 | 显示全部楼层

单片机复位不清内存(掉电、软件清的除外)

如果要检测是否内存数据丢失,可以在RAM中均匀分布一些数据,启动时通过检查是否变化来判断掉电重启还是软复位

例如:
     假设0x7f地址的数据为 0xAA;

     if 等于0xaa
        软复位
     else
        硬复位
        设置0x7f = 0xAA 
s46410864 发表于 2008-11-21 15:20 | 显示全部楼层

就是复位么,

复位后RAM中的数据不丢失,又不是掉电了,
xiao妮 发表于 2008-11-21 18:43 | 显示全部楼层

HELLO

输入输出口,为0FFH
堆栈地址为07H其余RAM 中为00H
 楼主| a5566255 发表于 2008-11-21 22:40 | 显示全部楼层

LS冒天下之大不韪的精神值得赞叹,

但滑天下之大稽的言论不敢苟同。。。
linqing171 发表于 2008-11-21 23:17 | 显示全部楼层

34楼是加了默认启动代码,到main的时候看的仿真结果

默认启动代码是清空一遍的。
关于短时间掉电后丢多少数据的问题,我也是从仿真器里重新读进来。但是确实大部分都不变,只有少部分变红了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部