首页 > 技术资料 > C51关键字及sfr寄存器
C51关键字及sfr寄存器
C51 编译器所支持的数据类型
|
数据类型 |
长 度 |
值 域 |
|
unsigned char |
单字节 |
0~255 |
|
signed char |
单字节 |
-128~+127 |
|
unsigned int |
双字节 |
0~65535 |
|
signed int |
双字节 |
-32768~+32767 |
|
unsigned long |
四字节 |
0~4294967295 |
|
signed long |
四字节 |
-2147483648~+2147483647 |
|
float |
四字节 |
±1.175494E-38~±3.402823E+38 |
|
* |
1~3 字节 |
对象的地址 |
|
bit |
位 |
0 或 1 |
|
sfr |
单字节 |
0~255 |
|
sfr16 |
双字节 |
0~65535 |
|
sbit |
位 |
0 或 1 |
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 循环结构 |
C51 编译器的扩展 ANSIC 关键字
|
关键字 |
用 途 |
说 明 |
|
bit |
位标量声明 |
声明一个位标量或位类型的函数 |
|
sbit |
位标量声明 |
声明一个可位寻址变量 |
|
Sfr |
特殊功能寄存器声明 |
声明一个特殊功能寄存器 |
|
Sfr16 |
特殊功能寄存器声明 |
声明一个 16 位的特殊功能寄存器 |
|
data |
存储器类型说明 |
直接寻址的内部数据存储器 |
|
bdata |
存储器类型说明 |
可位寻址的内部数据存储器 |
|
idata |
存储器类型说明 |
间接寻址的内部数据存储器 |
|
pdata |
存储器类型说明 |
分页寻址的外部数据存储器 |
|
xdata |
存储器类型说明 |
外部数据存储器 |
|
code |
存储器类型说明 |
程序存储器 |
|
interrupt |
中断函数说明 |
定义一个中断函数 |
|
reentrant |
再入函数说明 |
定义一个再入函数 |
|
using |
寄存器组定义 |
定义芯片的工作寄存器 |
51 特殊功能寄存器列表(适用于同一架构的芯片)
|
符 号 |
地 址 |
注 释 |
|
*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 |
电源控制及波特率选择 |
|
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 位 |
字符串定时时常用转义字符表
|
转义字符 |
含义 |
ASCII 码(16/10 进制) |
|
\o |
空字符(NULL) |
00H/0 |
|
\n |
换行符(LF) |
0AH/10 |
|
\r |
回车符(CR) |
0DH/13 |
|
\t |
水平制表符(HT) |
09H/9 |
|
\b |
退格符(BS) |
08H/8 |
|
\f |
换页符(FF) |
0CH/12 |
|
\' |
单引号 |
27H/39 |
|
\" |
双引号 |
22H/34 |
|
\\ |
反斜杠 |
5CH/92 |