附录一 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 |
寄存器组定义 |
定义芯片的工作寄存器 |
附表1-2 C51编译器的扩展关键字
附录二 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 |
逗 号 |
逗号运算 |
, |
右结合 |