Keil C51单片机编程的关键字详解

5星 · 超过95%的资源 需积分: 16 2 下载量 127 浏览量 更新于2024-09-13 收藏 157KB PDF 举报
"这篇内容主要介绍了在使用AXIS开发板时可能会遇到的单片机编程中的关键字,包括了ANSI标准定义的32个关键字和Keil C51编译器特有的扩展关键字,以及标准C语言的数据类型关键字。" 在单片机编程中,关键字是具有特殊含义的保留词汇,不能作为变量名或者函数名使用。这些关键字在程序设计中起着至关重要的作用,它们定义了变量的类型、控制流程、存储类别等。下面将详细介绍标题和描述中提到的知识点。 一、ANSI标准定义的关键字(共32个): 1. autodoubleintstruct:这些关键字用于定义数据类型,如自动变量(auto)、双精度浮点型(double)、整型(int)和结构体(struct)。 2. breakelselongswitchcase:这些关键字用于控制流程,如中断循环(break)、选择性执行(else)、长整型(long)、多路选择(switch)和条件分支(case)。 3. enumregistertypedef:用于创建自定义枚举类型(enum)、指定变量存储类别(register)以及定义新数据类型别名(typedef)。 4. charexternreturnunionconst:声明字符型变量(char)、外部变量(extern)、返回语句(return)、联合体(union)以及常量(const)。 5. floatshortunsignedcontinueforsignedvoiddefaultgotosizeof:声明浮点型(float)、短整型(short)、无符号类型(unsigned)、继续循环(continue)、for循环、有符号类型(signed)、空类型(void)、默认(default)、跳转语句(goto)和计算数据大小(sizeof)。 6. volatiledoifwhilestatic:声明易变类型(volatile)、do-while循环、条件判断(if)和循环(while),以及静态变量(static)。 二、Keil C51扩展的关键字: Keil C51是专为8051系列单片机设计的C编译器,它添加了一些额外的关键字来适应8位微控制器的特性: 1. _at_:用于指定变量在内存中的确切位置。 2. alien:与外部设备交互的特定关键字。 3. bdata,data,idata,pdata:分别表示不同存储区的变量。 4. bit:声明位变量,直接操作单片机的位地址。 5. code:声明位于程序存储器的变量。 6. compact,large,small:控制数据存储方式,优化存储空间。 7. far:用于访问远地址空间。 8. interrupt:声明中断服务函数。 9. sbit,sfr:声明位寄存器和特殊功能寄存器。 10. sfr16:声明16位的特殊功能寄存器。 11. reentrant:支持可重入函数,确保多任务环境下的正确运行。 12. _priority_:设置中断优先级。 13. task:在实时操作系统中定义任务。 14. using:指定当前代码使用的数据空间。 15. xdata:声明位于扩展数据存储区的变量。 三、标准C数据类型关键字: 1. char:声明字符型变量,通常占用1字节。 2. double:声明双精度浮点型,占用8字节。 3. enum:创建枚举类型,允许自定义整数常量集合。 4. float:声明单精度浮点型,占用4字节。 5. int:声明整型,根据编译器和平台不同,一般为4字节。 6. long:声明长整型,通常比int大,可能是4或8字节。 7. short:声明短整型,通常小于int,2字节。 8. signed:声明有符号类型,可以是正负值。 9. struct:声明结构体,组合多种数据类型的复合类型。 10. union:声明联合体,成员共享同一块内存区域。 11. unsigned:声明无符号类型,只能为非负值。 12. void:空类型,用于函数无返回值或未知类型的指针。 这些关键字是C语言的基础,理解并熟练运用它们对于编写高效、可靠的单片机程序至关重要。在使用AXIS开发板进行项目开发时,了解这些关键字的具体用法和含义,能够帮助开发者更好地利用硬件资源,编写出符合目标系统需求的代码。