用KEIL写程序时,程序如下#include <REG51.h>

#include<REG51.h>voidmain(){while(1){P0=0xff;P1^0=0;P1^1=1;P2^3=0;P2^6=1;}}老是提示有错误,co... #include <REG51.h>
void main()
{
while(1)
{
P0 = 0xff;
P1^0=0;
P1^1 = 1;
P2^3 = 0;
P2^6 = 1;

}
}
老是提示有错误,compiling shiyan.c...
SHIYAN.C(6): error C141: syntax error near '='
SHIYAN.C(7): error C141: syntax error near '='
SHIYAN.C(8): error C141: syntax error near '='
SHIYAN.C(9): error C141: syntax error near '='
展开
 我来答
mhb318
2010-07-12 · TA获得超过1509个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:154万
展开全部
程序的书写没有任何错误,错在语法上了!
位操作C51特有的,直接在程序中书写“P2^7=0;”是会出错的,必须在程序的前边声明位变量 sbit P27=P2^7;(用P27(符号别名)代替P2^7(真实名),后边必须加分号!)
改写后的程序如下,已经编译通过!
#include<REG51.h>
sbit P10=P1^0;
sbit P11=P1^1;
sbit P23=P2^3;
sbit P26=P2^6;
void main()
{
while(1)
{
P0=0xff;
P10=0;
P11=1;
P23=0;
P26=1;
}
}
祝你成功!
穿过季节的云
2010-07-12 · TA获得超过782个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:417万
展开全部
P0 = 0xff;
P1^0=0;
P1^1 = 1;
P2^3 = 0;
P2^6 = 1;
在写代码的时候,要在英文输入的状态下去,你再仔细地检查一下。明显,你的等号有错误,或者将程序发过来我看看!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
知道40
2010-07-12
知道答主
回答量:4
采纳率:0%
帮助的人:6738
展开全部
其实是你没有定义位变量,可以对P0口直接赋值,但是对于P0^1这些引脚,要定义位变量再对变量赋值!改成
#include <reg51.h>
sbit a=P1^0;
sbit b=P1^1;
sbit c=P2^3;
sbit d=P2^6;

void main()
{
while(1)
{
P0=0xff;
a=0;
b = 1;
c = 0;
d = 1;

}
}
就行啦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式