理解KEIL C51库函数:存储模式与指针
4星 · 超过85%的资源 需积分: 9 39 浏览量
更新于2024-07-23
收藏 113KB DOC 举报
"KEIL C51库函数是用于8051微控制器的编程工具,提供了对标准C语言的扩展,以适应8051系列CPU的硬件特性。这些扩展包括特定的存储类型、存储模式、位变量、特殊功能寄存器(SFR)、指针类型和函数属性等。C51 V4.0版本包含19个扩展关键字,如_at_、idata、sfr等,用于在不同存储区域定义变量和函数。"
在C51编程中,了解和掌握这些扩展关键字至关重要,因为它们直接影响程序的运行效率和内存管理。其中,存储模式定义了未指定存储类型的变量和函数参数的默认存储位置,包括Small、Compact和Large三种模式。Small模式适合小规模程序,所有变量存于内部RAM,访问速度快但空间有限。Compact模式允许在外部RAM的一页中存储变量,空间比Small模式更宽裕,但速度稍慢。Large模式则提供最大64KB的外部RAM空间,适合大型程序,但访问速度最慢。
C51中的指针分为一般指针和存储器指针。一般指针与标准C相同,可以声明存储类型,如long*state。存储器指针则专门用于指定变量在特定存储区域的地址,如char*xdata ptr,其中ptr本身存储在外部RAM,而它所指向的数据可以存放在任何存储器中。C51的一般指针通常占用3个字节来存储存储器类型、偏移地址和段地址。
此外,C51还支持位变量和位寻址,这在处理8051的位操作时非常有用,因为8051可以直接对单个位进行读写操作。特殊功能寄存器(SFR)是8051微控制器特有的,C51通过关键字可以直接访问这些寄存器,如#define或sfr声明。
函数属性在C51中允许程序员指定函数的存储类别和调用约定,以优化代码执行和内存使用。例如,使用关键字_reentrant_可以声明函数为可重入的,这对于中断服务程序和多线程环境很重要。
理解并熟练运用这些C51库函数和扩展关键字对于开发8051微控制器的嵌入式系统是至关重要的,能够帮助程序员更高效地利用硬件资源,编写出运行更快、更节省内存的程序。
2013-08-04 上传
2023-06-27 上传
2023-10-01 上传
2023-07-29 上传
2023-11-18 上传
2023-09-20 上传
2024-05-02 上传
YY学习中
- 粉丝: 1
- 资源: 11
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析