Reader's Digest

Digest your Internet

关于STC单片机RAM的问题

Written By: dch1 - Nov• 28•10

如果问你STC89C52RC单片机的RAM有多大?很多人可能直接回答256字节,
错了!

  STC89C52RC单片机的RAM有512字节,然而这512字节怎么用呢?
很多人可能都不知道,这可是极大的资源浪费啊。RAM本来就宝贵,给
了这么多资源怎能不用呢?

  我们都知道8051单片机有128字节RAM,后来8052单片机扩充到256
字节RAM,然而在使用上是有区别的。

  在keil c默认情况下编译,
char a=0x00;    a 会被存储在低128字节的RAM里,这部分RAM称为data
上述语句等效为:
char data a=0x00;

那么如何使用高128字节的RAM呢,只要用 idata 关键词就可以了:
char idata b=0x01;    b 会被存放在全部256字节RAM的位置。

有人定义一个char a[120]数组时,编译会出错,明明单片机有256字节
RAM,为什么定义一个120元素的数组还不够用呢?因为char c[120]等
同于char data c[120]  ;数据都挤在低128字节的RAM里当然不够用。
char idata c[120] ;就不会有问题,数组会被分配在全部256字节的RAM中

  SCT为了增强单片机的性能,STC89C**RC单片机扩展了256字节的RAM
,总共达到512字节。STC89C**RD+单片机扩展了1024字节的RAM,总
共达到1280字节.

  这些额外扩展的RAM怎么用呢?很简单,只要用 xdata 关键词就可以了。
STC89C**RC 单片机最大可以定义:
char xdata d[256];
STC89C**RD+ 单片机最大可以定义:
char xdata d[1024] ;
  我又一次写程序,将DS18B20的温度绘制成曲线,用12864动态显示出来,
真的就用了差不多1K的RAM的,当然也因为我是新手,用的算法太低级,
所以可能浪费了一些RAM内存.

  除了 data  idata  xdata  之外,还有一个 bdata ,这个bdata 是什么呢?
单片机低128字节的RAM里,还有一块特殊的区域,地址是0x20–0x2F;
这16个字节是可以位寻址的,如果你需要定义的变量可以按位寻址,使用
bdata 关键词:
char bdata e=0xf7 ;变量e被分配在0x20–0x2F位寻址区域内。

生活中很有意思的小定律

Written By: dch1 - Oct• 02•10

1:游戏定律:无论你保龄球打得多“菜”,每次往都可能有一两次全中,令你满意,高兴的下次再来。
2:错误定律:人人都会有过失,但只有在重复这些过失的时候,你才犯了错误。
3:沉默定律:在争辩的时候,最难辩倒的观点就是沉默。
4:人生定律:拼命想得到的东西,都不是真正最需要的。
5:旅游定律:没有比记忆中更好的风景,所以最好不要故地重游。
6:金钱定律:它不是万能,但是没有它万万不能。
7:苹果定律:如果一堆苹果,有好有坏,你就应该先吃好的,把坏的扔掉,如果你先吃坏的,好的也会变坏,你将永远吃不到好的,人生亦如此。
8:快乐定律:遇事只要你往好处想你就会快乐,就象你如果掉进沟里,你都可以设想说不定刚好有一条鱼钻进你的口袋。
9:幸福定律:如果你不是总是在想自己是否是幸福的时候,你就幸福了。
10:动力定律:动力往往来源于两种原因,希望或绝望。
11:受辱定律:受辱时的唯一办法就是忽视它,不能忽视它,就藐视它,如果能藐视它也不能,你就只有受辱了。
12:愚蠢定律:愚蠢大多数是在手脚或嘴比大脑行动还快地时候产生的。
13:价值定律:当你拥有某一项东西的时候,你就会发现这种东西并不象你原来所想的那样有价值。
14:混乱定律:如果你在遇上麻烦时,还是那样谨小慎微,那麻烦就会变成混乱。
15:失败定律:失败并不意味着浪费时间和生命,而往往意味着你有可能更好的拥有时间和生命。
16:谈话定律:最使人厌烦的谈话有两种,一是从来不停下来想想,另一种是从来不想停下来。
17:误解定律:被某一个误解,麻烦并不大,被许多人误解了,麻烦就很大了。 18:结局定律:有一个可怕的结局,也比没有任何结局要好。
18:化妆定律:在化妆上所花的时间有多少,就表示你自认为要掩饰的缺点有多少。
19:省时定律:如果你一开始就想节省时间,结果是反而要多花数倍的时间。
20:承诺定律:承诺未必可以保证一定做到,但是如果你没有做出承诺,就算你做到了也没有价值。
21:地位定律:有人站在山脚下,而有人站在山顶上,虽然所处的位置不一样,在两人的眼里的对方却是同样大小。
22:升迁定律:仕入官场,每升一级,人情味就减一份。
23:升值定律:出口转内销,就可以升值,能舆论都是这样。
24:财务定律:支票总是姗姗来迟,而帐单总是提前来到。
25:备份定律:学会用左手做一些事情,因为右手不是永远都管用。
26:会议定律:所有重要的决策都是在会议结束或午餐前最后五分钟完成。
27:危难定律:总是问题越复杂,期限就越短。
28:合作定律:一个人花一个小时可以做好的事情,两个人就要两个小时。
29:结合定律:不管干什么,总是有你希望的人和与你对立的人同你在一起。 人生无非常这些定律,何乐而不为?其实生活是可以简单点的。

iPhone工程代码

Written By: dch1 - Apr• 06•10

*3001#12345#*
运行手机内置的 FieldTest
隐藏程序,可以查看基站信息、信道、信号强弱,固件版本号等内容

#302#、#303#、#304#、#305#、#306#
建立一个虚拟的通信回路,回拨自己的手机

*#06#
查询手机的IMEI 码。

所有来电类型的呼叫转移

如果在设置呼叫转移时遇到错误,或者你想取消所有呼叫转移,可以尝试使用
【##002#】或者【##004#】代码进行关闭所有呼叫转移。

所有来电
查询状态:*#21#
设置转移:**21*转移到的电话号码#
取消转移:##21#

无应答的来电:
查询状态:*#61#
设置转移:**61*转移到的电话号码*秒数(最小5秒,最多30秒)#(例如:
**61*13809812345*11*30#)
取消转移:##61#

关机或无信号时的来电:
查询状态:*#62#
设置转移:**62*转移到的电话号码#
取消转移:##62#
遇忙时的来电:
查询状态:*#67#
设置转移:**67*转移到的电话号码#
取消转移:##67#

语音来电类型的呼叫转移

所有语音来电
查询状态:*#21*11#
设置转移:**21*转移到的电话号码*11#
取消转移:##21*11#

无应答的语音来电:
查询状态:*#61*11#
设置转移:**61*转移到的电话号码*11*秒数(最小5秒,最多30秒)#(例如:
**61*13809812345*11*30#)
取消转移:##61*11#

关机或无信号时的语音来电:
查询状态:*#62*11#
设置转移:**62*转移到的电话号码*11#
取消转移:##62*11#

遇忙时的语音来电:
查询状态:*#67*11#
设置转移:**67*转移到的电话号码*11#
取消转移:##67*11#

其它功能

短信中心号码
查询状态:*#5005*7672#
设置号码:*5005*7672*短信中心号码#
删除号码:##5005*7672#

呼叫等待
查询状态:*#43#
启用等待:*43#
取消等待:#43