希望您能记住本站 http://www.51hei.com
附表1-2 C51编译器的扩展关键字
| 关键字 | 用 途 | 说 明 |
| auto | 存储种类说明 | 用以说明局部变量,缺省值为此 |
| break | 程序语句 | 退出最内层循环 |
| case | 程序语句 | Switch语句中的选择项 |
| char | 数据类型说明 | 单字节整型数或字符型数据 |
| const | 存储类型说明 | 在程序执行过程中不可更改的常量值 |
| continue | 程序语句 | 转向下一次循环 |
| default | 程序语句 | Switch语句中的失败选择项 |
| do | 程序语句 | 构成do..while循环结构 |
| double | 数据类型说明 | 双精度浮点数 |
| else | 程序语句 | 构成if..else选择结构 |
| enum | 数据类型说明 | 枚举 |
| extern | 存储种类说明 | 在其他程序模块中说明了的全局变量 |
| flost | 数据类型说明 | 单精度浮点数 |
| for | 程序语句 | 构成for循环结构 |
| goto | 程序语句 | 构成goto转移结构 |
| if | 程序语句 | 构成if..else选择结构 |
| int | 数据类型说明 | 基本整型数 |
| long | 数据类型说明 | 长整型数 |
| register | 存储种类说明 | 使用CPU内部寄存的变量 |
| return | 程序语句 | 函数返回 |
| short | 数据类型说明 | 短整型数 |
| signed | 数据类型说明 | 有符号数,二进制数据的最高位为符号位 |
| sizeof | 运算符 | 计算表达式或数据类型的字节数 |
| static | 存储种类说明 | 静态变量 |
| struct | 数据类型说明 | 结构类型数据 |
| swicth | 程序语句 | 构成switch选择结构 |
| typedef | 数据类型说明 | 重新进行数据类型定义 |
| union | 数据类型说明 | 联合类型数据 |
| unsigned | 数据类型说明 | 无符号数数据 |
| void | 数据类型说明 | 无类型数据 |
| volatile | 数据类型说明 | 该变量在程序执行中可被隐含地改变 |
| while | 程序语句 | 构成while和do..while循环结构 |
附表1-1 ANSIC标准关键字
| 关键字 | 用 途 | 说 明 |
| 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位 |
附录三 运算符优先级和结合性
| 级 别 | 类 别 | 名 称 | 运算符 | 结合性 |
| 1 | 强制转换、数组、 结构、联合 | 强制类型转换 | ( ) | 右结合 |
| 下标 | [ ] |
| 存取结构或联合成员 | ->或. |
| 2 | 逻 辑 | 逻辑非 | ! | 左结合 |
| 字 位 | 按位取反 | ~ |
| 增 量 | 加一 | ++ |
| 减 量 | 减一 | -- |
| 指 针 | 取地址 | & |
| 取内容 | * |
| 算 术 | 单目减 | - |
| 长度计算 | 长度计算 | sizeof |
| 3 | 算 术 | 乘 | * | 右结合 |
| 除 | / |
| 取模 | % |
| 4 | 算术和指针运算 | 加 | + |
| 减 | - |
| 5 | 字 位 | 左移 | << |
| 右移 | >> |
| 6 | 关系 | 大于等于 | >= |
| 大于 | > |
| 小于等于 | <= |
| 小于 | < |
| 7 | 恒等于 | == |
| 不等于 | != |
| 8 | 字 位 | 按位与 | & |
| 9 | 按位异或 | ^ |
| 10 | 按位或 | | |
| 11 | 逻 辑 | 逻辑与 | && | 左结合 |
| 12 | 逻辑或 | || |
| 13 | 条 件 | 条件运算 | ?: |
| 14 | 赋 值 | 赋值 | = |
| 复合赋值 | Op= |
| 15 | 逗 号 | 逗号运算 | , | 右结合 |
点此处下载本教程中所有c51源代码