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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機中怎么將函數或者變量定位到指定地址,非常有用

[復制鏈接]
跳轉到指定樓層
樓主
ID:192255 發表于 2017-4-22 10:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
C51 怎樣將1個子程序段定位在1個固定的地址位置?     

以下2問題均要用C51解決
1。 怎樣將1個子程序段定位在1個固定的地址位置?
    例如將 INT BCD2HEX(INT XX)定位在1000H
2。 HOW在EEPROM 中固定的位置存放1字符串?
    如在200H處放“COPYRIGHT 2001-11”
答: 函數定位與變量定位...
1、函數定位:
假如要把C源文件 tools.c 中的函數
int BIN2HEX(int xx)
{
  ...
}
放在CODE MEMORY的0x1000處,先編譯該工程,然后打開該工程的M51文件,在
* * *   C O D E   M E M O R Y   * * *
行下找出要定位的函數的名稱,應該形如:
CODE    xxxxH     xxxxH     UNIT         ?PR?_BCD2HEX?TOOLS
然后在:
Project->Options for Target ...->BL51 Locate:Code
中填寫如下內容:
?PR?_BCD2HEX?TOOLS(0x1000)
再次Build,在M51中會發現該函數已放在CODE MEMORY的0x1000處了
2、賦初值的變量定位:
要將某變量定位在一絕對位置且要賦初值,此時用 _at_ 不能完成,則如下操作:
在工程中建立一個新的文件,如InitVars.c,在其中對要處理的變量賦初值(假設是code變
量):
char code myVer = {"COPYRIGHT 2001-11"};
然后將該文件加入工程,編譯,打開M51文件,若定義的是code型,則在
* * *   C O D E   M E M O R Y   * * *
下可找到:
CODE    xxxxH     xxxxH     UNIT         ?CO?INITVARS
然后在:
Project->Options for Target ...->BL51 Locate:Code
中填入:
?CO?INITVARS(0x200)
再次編譯即可。
相應地,如為xdata變量,則InitVars.c中寫:
char xdata myVer = {"COPYRIGHT 2001-11"};
然后將該文件加入工程,編譯,打開M51文件,在
* * *  X D A T A   M E M O R Y  * * *
下可找到:
XDATA   xxxxH     xxxxH     UNIT         ?XD?INITVARS
然后在:
Project->Options for Target ...->BL51 Locate:Xdata
中填入:
?XD?INITVARS(0x200)
再次編譯即可。相應地,若定義的是data/idata等變量,則相應處理即可。
3、若有多個變量或函數要進行絕對地址定位,則應按地址從低到高的順序排列。

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜天堂精品久久久久 | 午夜视频网站 | 欧美激情久久久久久 | 亚洲欧美v| 国产大毛片| 国产色婷婷精品综合在线手机播放 | 午夜免费视频 | 亚洲欧美中文日韩在线v日本 | 国产一区二 | 一区二区三区精品视频 | 日日夜夜精品视频 | 男人天堂av网站 | 亚洲成在线观看 | 国精日本亚洲欧州国产中文久久 | 中文字幕乱码视频32 | 亚洲成a人片 | 欧美成人免费电影 | 青春草91 | 国产专区在线 | 久操亚洲 | 亚洲精品自在在线观看 | av网站免费观看 | 免费观看黄 | 成人永久免费 | 久久精品国产a三级三级三级 | 欧美xxxx黑人又粗又长 | 亚洲欧洲日韩精品 中文字幕 | 人操人人干人 | 日本亚洲精品 | 久久国产欧美一区二区三区精品 | 亚州春色| 在线视频一区二区 | 男女免费观看在线爽爽爽视频 | 伊人91在线 | 你懂的免费在线 | 久久久国产精品视频 | 亚洲一区二区在线视频 | 亚洲欧洲成人在线 | 在线观看中文字幕视频 | 亚洲精品乱码久久久久久9色 | 欧美日日 |