keil c 的错误error C141: syntax error near '='

#include<reg51.h>#defineLEDP1^1#defineKEY_ONP1^6#defineKEY_OFFP1^7voidmain(void){KEY_... #include <reg51.h>

#define LED P1^1
#define KEY_ON P1^6
#define KEY_OFF P1^7

void main(void)
{
KEY_ON = 1; //开关亮输出高电平,接通就变为低电平
KEY_OFF = 1; //开关灭输出高电平,接通就变为低电平
while(1)
{
if(KEY_ON==0) LED = 1;
if(KEY_OFF==0) LED = 0;
}
}
//就是这一小段程序 编译提示:
compiling LED_ONOFF.c...
LED_ONOFF.C(9): error C141: syntax error near '='
LED_ONOFF.C(10): error C141: syntax error near '='
LED_ONOFF.C(13): error C141: syntax error near '='
LED_ONOFF.C(14): error C141: syntax error near '='
Target not created
展开
 我来答
祁89
推荐于2018-12-05 · TA获得超过496个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:94.8万
展开全部
#define是宏定义语句
很明显楼主想做的是位操作,应该改将#define LED P1^1
#define KEY_ON P1^6
#define KEY_OFF P1^7
改为
sbit LED = P1^1;
sbit KEY_ON = P1^6;
sbit KEY_OFF = P1^7;
这样你文中的“=”就不违法了
百度网友ea994ee
2015-11-01 · TA获得超过1143个赞
知道小有建树答主
回答量:441
采纳率:100%
帮助的人:300万
展开全部
在=附近遇到字符错误
这种错误一般是你在网上copy的代码,中间有非C语言标识符(即不是英文字符)的字符(一般是中文字符)。找到然后删除即可。
不行就照着原样重新打一遍代码,不要复制粘贴。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
烟火夜空
2013-12-21 · TA获得超过6623个赞
知道大有可为答主
回答量:1678
采纳率:93%
帮助的人:564万
展开全部
想独立使用 IO口,需先进行位定义,如:sbit P32=P3^2; 别忘了分号,之后就使用 P32 就代表 P3^2口了,^ 这个符号,在 C语言里面 是 个 运算符,跟你的 位定义冲突,所以,要先进行位定义,在程序里出现 ^ ,是 按位异或 运算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ly294071119
2012-12-02 · TA获得超过166个赞
知道答主
回答量:34
采纳率:100%
帮助的人:9.2万
展开全部
应该是#include <reg51.h>
#define LED P1^1
#define KEY_ON P1^6
#define KEY_OFF P1^7
这几句有问题 你应该用的不是keil2吧 把这几条改成如下试试(即把^改成-)
#define LED P1-1
#define KEY_ON P1-6
#define KEY_OFF P1-7
最好打开reg51.h这个文件看一下头文件包含的内容 希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一剑出血
高粉答主

2012-03-02 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
#define LED P1^1
#define KEY_ON P1^6
#define KEY_OFF P1^7

改为

sbit LED = P1^1;
sbit KEY_ON = P1^6;
sbit KEY_OFF = P1^7;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式