附表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 电源控制及波特率选择
sizeof是什么*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 逗 号 逗号运算 , 右结合

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。