关于51单片机C语言编程问题

#include <reg52.h>
sbit D1=P1^0;
void main()
{
D1=0;
}是正确的,但是如果写成这样:
#include <reg52.h>
void main()
{
sbit D1=P1^0;
D1=0;
}
就出错了

在编译过程中sbit D1=P1^0是位定义相当于程序初始化时在单片机留有位置, void main()是主函数 表示程序从这里开始执行,他执行时当然得要有你前文的定义哦。
换句话说 就相当于做菜 前面都是食材和调料 从MAIN开始就是一步一步做法
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-07
sbit D1=P1^0;

这是宏定义,放在函数外边
定义引脚都这样定义的追问

宏定义不是#define吗

追答

这个不能放到函数里边的
这个是定义单个引脚的
也可以用#define的
#define D1 P1^0

第2个回答  2012-11-07
一般的定义都不能放在函数体内的追问

那什么函数可以放进去

相似回答