如何巧妙使用ram

2020-02-01 16:23发布

本帖最后由 593465218 于 2013-1-5 00:00 编辑

给大家出个题,到现在我还没有解决,
环境
    51内核单片机,keil2。电池
内容
利用51定时器,产生一个自加数,这个自加数     保存在内部RAM里面,掉电后自己数保存在ram里面。上点后读出自加数的值,继续累加。用c完成编写。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
magiczero
1楼-- · 2020-02-03 00:15
本帖最后由 magiczero 于 2013-1-5 00:19 编辑

unsigned char  Flag _at_ 0x7f;                //把 Flag 变量指定在Ram的0x7f的位置

更具体的还可以指定使用的存储器类型,比如:对使用Keil的51来说可以有 data, idata,pdata,xdata 的类型,这里能明确决定数据到底是使用哪一个存储空间

unsigned char xdata Flag _at_ 0x03ff;                //把 Flag 变量指定在外部Ram的0x03ff的位置
zhonggp
2楼-- · 2020-02-03 05:33
 精彩回答 2  元偷偷看……
ourdemo
3楼-- · 2020-02-03 10:49
因为有电池,外部掉电了,MCU可以不reset,转到用电池,保存数据然后sleep, 外部有电唤醒MCU将数据+1。。。
重点是有电池好办事。
wmm20031015
4楼-- · 2020-02-03 14:08
有电池作为后备电源,休眠时使用是可以实现的,一个外部中断检测到外部电源为低电平时,单片机进入休眠,高电平唤醒,处理好电源和复位电路,
ST_ATMEL_NXP
5楼-- · 2020-02-03 17:34
本帖最后由 ST_ATMEL_NXP 于 2013-1-5 08:59 编辑

我记得以前在学校学51的时候。8051的复位引脚可以接电池。掉电后,电池只给SRAM供电。保持里面的数据。但是AT89的单片机没有这个功能了。
jswd0810
6楼-- · 2020-02-03 21:46
如果是有电池的话应该问题不大,我们早期产品上面还是用Z80,存储用的6264都没有问题,但是如果没有电池的话,51掉电后ram区数据就不知道是什么东东了

一周热门 更多>