电路驿站 EDAdesign.com.cn 网站创建日期:2004年10月1日

 
首页
| 设计与应用
| 驿站大卖场
| 驿站课堂
| 代客设计
| 服务与支持
| 留言本
单片机C51基础教程

>首页驿站课堂C51基础教程第四章 Keil C51高级编程

∷ 51教程导航
·
Keil C51开发系统基本知识
·
Keil C51软件使用详解
·
Keil C51 vs 标准C
·
Keil C51高级编程
·
Keil C51库函数参考
·
Keil C51例子:Hello.c
·
Keil C51的代码效率
·
Keil C51 软件使用方法
 
 
 
C51基础教程
来源:http://www.51c51.net 作者: 资料整理:电子虫虫
·
第四章 Keil C51高级编程
 
第一节
绝对地址访问
第二节
Keil C51与汇编的接口
第三节
C51软件包中的通用文件
第四节
段名转换与程序优化
   
 
1 2 3 4

  第一节 绝对地址访问
 

C51提供了三种访问绝对地址的方法:

1. 绝对宏:
在程序中,用“#include<absacc.h>”即可使用其中定义的宏来访问绝对地址,包括:

CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD

具体使用可看一看absacc.h便知

例如:

rval=CBYTE[0x0002];指向程序存贮器的0002h地址

rval=XWORD [0x0002];指向外RAM的0004h地址

2. _at_关键字
直接在数据定义后加上_at_ const即可,但是注意:

(1)绝对变量不能被初使化;

(2)bit型函数及变量不能用_at_指定。

例如:

idata struct link list _at_ 0x40;指定list结构从40h开始。

xdata char text[25b] _at_0xE000;指定text数组从0E000H开始

提示:如果外部绝对变量是I/O端口等可自行变化数据,需要使用volatile关键字进行描述,请参考absacc.h。

3. 连接定位控制
此法是利用连接控制指令code xdata pdata \data bdata对“段”地址进行,如要指定某具体变量地址,则很有局限性,不作详细讨论。

   
 

关于驿站 | 驿站声明 | 网站介绍 | 网站推广 | 联系我们 | 友情链接
Copyright@2004-2008 EDAdesign.com.cn 版权所有 不得转载 沪ICP备05000346号
版主:威特 E-Mail:edadesign@tom.com 联系站长! QQ:306963535 QQ群:10116628