我在keil uvsion编写程时,要定义单片机引脚的别名,例如:P1.0引脚连接的LED二极管,想定义该引脚的别名为LED,老是习惯于这样定义:
#define LED P1^0; // 错误的定义单个引脚别名的语句
#define LED P1; // 错误的定义8位的寄存器别名的语句
编译时,老是提示错误。原来这个定义是错误的,正确的语法是:
sbit LED = P1^0; //定义单个引脚的别名
sfr LED = P1; //定义8位的寄存器的别名
总结:
如果是特殊位定义,使用sbit关键字;如果是特殊功能寄存器定义,使用sfr关键字。