首页 > 技术资料 > 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 |