单片机C语言,P1口的使用问题
#include<AT89X51.h>#include<intrins.h>bitflag;unsignedcharcount,i;sbitKEY=P1^0;voidde...
#include <AT89X51.h>
#include <intrins.h>
bit flag;
unsigned char count,i;
sbit KEY=P1^0;
void delay500(void)
{
unsigned char i;
for(i=250;i>0;i--)
{
_nop_();
}
}
void main(void)
{
while(1)
{
if(P1^7==0)
{
for(count<200;count>0;count--)
{
KEY=~KEY;
delay500();
}
for(count<200;count>0;count--)
{
KEY=~KEY;
delay500();
delay500();
}
}
}
}
这个程序可以编译,但是为什么下面的就不可以,求告诉解答:(报错error c141)
#include <AT89X51.h>
#include <intrins.h>
bit flag;
unsigned char count,i;
void delay500(void)
{
unsigned char i;
for(i=250;i>0;i--)
{
_nop_();
}
}
void main(void)
{
while(1)
{
if(P1^7==0)
{
for(count<200;count>0;count--)
{
P1^0=~P1^0;
delay500();
}
for(count<200;count>0;count--)
{
P1^0=~P1^0;
delay500();
delay500();
}
}
}
} 展开
#include <intrins.h>
bit flag;
unsigned char count,i;
sbit KEY=P1^0;
void delay500(void)
{
unsigned char i;
for(i=250;i>0;i--)
{
_nop_();
}
}
void main(void)
{
while(1)
{
if(P1^7==0)
{
for(count<200;count>0;count--)
{
KEY=~KEY;
delay500();
}
for(count<200;count>0;count--)
{
KEY=~KEY;
delay500();
delay500();
}
}
}
}
这个程序可以编译,但是为什么下面的就不可以,求告诉解答:(报错error c141)
#include <AT89X51.h>
#include <intrins.h>
bit flag;
unsigned char count,i;
void delay500(void)
{
unsigned char i;
for(i=250;i>0;i--)
{
_nop_();
}
}
void main(void)
{
while(1)
{
if(P1^7==0)
{
for(count<200;count>0;count--)
{
P1^0=~P1^0;
delay500();
}
for(count<200;count>0;count--)
{
P1^0=~P1^0;
delay500();
delay500();
}
}
}
} 展开
3个回答
展开全部
这样改:
#include <AT89X51.h>
#include <intrins.h>
bit flag;
sbit L1=P1^0; //
unsigned char count,i;
void delay500(void)
{
unsigned char i;
for(i=250;i>0;i--)
{
_nop_();
}
}
void main(void)
{
while(1)
{
if(P1^7==0)
{
for(count<200;count>0;count--)
{
L1=~L1; //
delay500();
}
for(count<200;count>0;count--)
{
L1=~L1; //
delay500();
delay500();
}
}
}
}
展开全部
我来说说吧~在C语言中^这个符号是异或运算符
在第二段程序里这样P1^0=~P1^0;就是错误的,因为P1^0不是C语言允许的,你必须先定义一下
例如:sbit KEY=P1^0; 然后再使用KEY来操作
在第二段程序里这样P1^0=~P1^0;就是错误的,因为P1^0不是C语言允许的,你必须先定义一下
例如:sbit KEY=P1^0; 然后再使用KEY来操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把计算机检验的错误放上来呀 如果不能执行 它自己会判断错误吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询