C51 中的关键字
关键字 | 用途 | 说明 |
auto | 存储种类说明 | 用以说明局部变量,缺省值为此 |
break | 程序语句 | 退出最内层循环 |
case | 程序语句 | Switch语句中的选择项 |
char | 数据类型说明 | 单字节整型数或字符型数据 |
const | 存储类型说明 | 在程序执行过程中不可更改的常量值 |
continue | 程序语句 | 转向下一次循环 |
default | 程序语句 | Switch语句中的失败选择项 |
do | 程序语句 | 构成do..while循环结构 |
double | 数据类型说明 | 双精度浮点数 |
else | 程序语句 | 构成if..else选择结构 |
enum | 数据类型说明 | 枚举 |
extern | 存储种类说明 | 在其他程序模块中说明了的全局变量 |
float | 数据类型说明 | 单精度浮点数 |
for | 程序语句 | 构成for循环结构 |
goto | 程序语句 | 构成goto转移结构 |
if | 程序语句 | 构成if..else选择结构 |
int | 数据类型说明 | 基本整型数 |
long | 数据类型说明 | 长整型数 |
register | 存储种类说明 | 使用CPU内部寄存的变量 |
return | 程序语句 | 函数返回 |
short | 数据类型说明 | 短整型数 |
signed | 数据类型说明 | 有符号数,二进制数据的最高位为符号位 |
sizeof | 运算符 | 计算表达式或数据类型的字节数 |
static | 存储种类说明 | 静态变量 |
struct | 数据类型说明 | 结构类型数据 |
switch | 程序语句 | 构成switch选择结构 |
typedef | 数据类型说明 | 重新进行数据类型定义 |
union | 数据类型说明 | 联合类型数据 |
unsigned | 数据类型说明 | 无符号数数据 |
void | 数据类型说明 | 无类型数据 |
volatile | 数据类型说明 | 该变量在程序执行中可被隐含地改变 |
while | 程序语句 | 构成while和do..while循环结构 |
关键字 | 用途 | 说明 |
bit | 位标量声明 | 声明一个位标量或位类型的函数 |
sbit | 位标量声明 | 声明一个可位寻址变量 |
Sfr | 特殊功能寄存器声明 | 声明一个特殊功能寄存器 |
Sfr16 | 特殊功能寄存器声明 | 声明一个16位的特殊功能寄存器 |
data | 存储器类型说明 | 直接寻址的内部数据存储器 |
bdata | 存储器类型说明 | 可位寻址的内部数据存储器 |
idata | 存储器类型说明 | 间接寻址的内部数据存储器 |
pdata | 存储器类型说明 | 分页寻址的外部数据存储器 |
xdata | 存储器类型说明 | 外部数据存储器 |
code | 存储器类型说明 | 程序存储器 |
interrupt | 中断函数说明 | 定义一个中断函数 |
reentrant | 再入函数说明 | 定义一个再入函数 |
using | 寄存器组定义 | 定义芯片的工作寄存器 |
AT89C51 特殊功能寄存器列表(适用于同一架构的芯片)
符号 | 地址 | 注释 |
*ACC | E0H | 累加器 |
*B | F0H | 乘法寄存器 |
*PSW | D0H | 程序状态字 |
SP | 81H | 堆栈指针 |
DPL | 82H | 数据存储器指针低8位 |
DPH | 83H | 数据存储器指针高8位 |
*IE | A8H | 中断允许控制器 |
*IP | D8H | 中断优先控制器 |
*P0 | 80H | 端口0 |
*P1 | 90H | 端口1 |
*P2 | A0H | 端口2 |
*P3 | B0H | 端口3 |
PCON | 87H | 电源控制及波特率选择 |
*SCON | 98H | 串行口控制器 |
SBUF | 99H | 串行数据缓冲器 |
*TCON | 88H | 定时器控制 |
TMOD | 89H | 定时器方式选择 |
TL0 | 8AH | 定时器0低8位 |
TL1 | 8BH | 定时器1低8位 |
TH0 | 8CH | 定时器0低8位 |
TH1 | 8DH | 定时器1高8位 |
带*号的特殊功能寄存器都是可以位寻址的寄存器