您的位置 首页 汽车

C51编程中对单片机肯定地址拜访的两种办法

在进行8051单片机应用系统程序设计时,编程都往往少不了要直接操作系统的各个存储器地址空间。C51程序经过编译之后产生的目标代码具有浮动…

在进行8051单片机使用体系程序设计时,编程都往往少不了要直接操作体系的各个存储器地址空间。C51程序通过编译之后发生的方针代码具有起浮地址,其肯定地址有必要通过BL51衔接定位后才干确认。为了可以在C51程序中直接对恣意指定的存储器地址进行操作,可以选用扩展关键字“at”、指针、预界说以及衔接定位操控指令。

  在这些办法中,自己以为最简略而有用的办法是用“ _at_ ”关键字来对指定变量存储器空间肯定地址来指定。一般格局如下:

  [存储器类型]  数据类型  标识符  _at_  地址常数

其间:
存储器类型 为idata、data、xdata等C51可以辨认的一切类型,最好不要省掉。
数据类型 可以用int、long、float等根本类型,当然也可以用数组、结构等杂乱数据类型,自己以为一般用unsigned int 就可以处理许多问题了。
标识符 便是要界说的变量名,编程者自己决议
地址常数 便是要直接操作的存储器的肯定地址,有必要坐落有用的存储器空间之内。

留意:不能对变量进行初始化,只能是全局变量,一般不要轻易用,以免犯错。
举例:

xdata    unsigned    int    addr1    _at_    0x8300;
  还有一种办法便是要用到一个头文件absacc.h,也不是很难,举个例阐明一下就会理解:
#include XBYTE[0x8300]=0;              /*向外部存储器(XDATA)地址0x8300写0

  自己强烈建议用at,这样可能会更好些,还有一点便是不能乱用,由于有些存储器空间不能随意占用,C51编译器现已做其它的用了,并且有些空间单片机自身就做了很重要的效果,假如乱用,很简单犯错.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/268474.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部