附表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位 |