久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12323|回復: 3
打印 上一主題 下一主題
收起左側

51單片機內部RAM的問題、STC單片機內部擴展RAM的應用

[復制鏈接]
跳轉到指定樓層
樓主
ID:71259 發表于 2014-12-29 23:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


STC89C52RC單片機的RAM有512字節,然而這512字節怎么用呢?很多人可能都不知道,這可是極大的資源浪費啊。RAM本來就寶貴,給
了這么多資源怎能不用呢?
  我們都知道8051單片機有128字節RAM,后來8052單片機擴充到256字節RAM,然而在使用上是有區別的。
  在keil c默認情況下編譯,
char a=0×00; a 會被存儲在低128字節的RAM里,這部分RAM稱為data
上述語句等效為:char data a=0×00;
那么如何使用高128字節的RAM呢,只要用 idata 關鍵詞就可以了:
char idata b=0×01; 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字節。STC89C58RD+單片機擴展了1024字節的RAM,總共達到1280字節. 這些額外擴展的RAM怎么用呢?很簡單,只要用 xdata 關鍵詞就可以了。
STC89C**RC 單片機最大可以定義:char xdata d[256];
STC89C**RD+ 單片機最大可以定義:char xdata d[1024] ;
除了 data idata xdata 之外,還有一個 bdata ,這個bdata 是什么呢?單片機低128字節的RAM里,還有一塊特殊的區域,地址是0×20–0x2F;
這16個字節是可以位尋址的,如果你需要定義的變量可以按位尋址,使用bdata 關鍵詞:
char bdata e=0xf7 ;變量e被分配在0×20–0x2F位尋址區域內。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:71359 發表于 2014-12-30 12:30 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

板凳
ID:135780 發表于 2016-12-25 00:34 | 只看該作者
如果是不需要修改的數組還可以用code定義到ROM中去
回復

使用道具 舉報

地板
ID:78835 發表于 2020-1-17 15:48 | 只看該作者
使用結構體的話,能用xdata嗎?我試了,不會報錯,但是運行不正常
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色三级网 | 黄网在线播放 | 久久久久久av | 欧美视频精品 | 欧美成人一级片 | 一道本在线观看 | 一区二区三区高清 | 日韩色综合| 中文在线观看免费网站 | 成年人免费在线观看 | 国产91热爆ts人妖系列 | 97在线观看免费视频 | 欧美精品网站 | 超碰中文字幕 | 天天夜夜操 | 日韩精品中文字幕在线观看 | 成年人免费看视频 | 五月开心婷婷 | 成人在线视频免费 | 天天色小说 | 高清免费av| 国产精品久久久久久久久久久久午夜片 | 日韩a视频| 一级黄色免费看 | 亚洲影院一区 | 成人免费黄色片 | 亚洲一区视频 | 一区二区三区免费在线观看 | 成人区精品一区二区婷婷 | 国产一区二区影院 | 国产成人精品一区二区三区在线观看 | 91黄色大片 | 国产精品欧美一区二区 | 欧美日韩国产在线观看 | 成人免费看片视频 | 国产精品911| 另类小说第一草 | www.亚洲一区 | 欧美成年人视频 | 欧美成人小视频 | 韩国av一区二区 |