程序是实现P2.0 P2.1亮与灭(stc52rc单片机),用keil编辑没有问题,但烧录后按键不反应,电路没有问题

#include"reg52.h"#defineuintunsignedint#defineucharunsignedcharuintT,S;ucharBZ;sbitP2... #include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
uint T,S;
uchar BZ;
sbit P2_0=P2^0;
sbit P2_1=P2^1;
**************************************按键函数*****************************
void AnJian(void)
{
T=0;
S=0;
P3=0XFF;
while((P3&0xff)==0)
{
BZ=1;
}
if(BZ==1)
{
switch(P3)
{
case 0xfe:T=1;break;
case 0xfd:S=1;break;
default:break;
}
BZ=0;
}
}
***************************主函数*************************************************
void main(void)
{
while(1)
{
AnJian();
if(T==1)
{
P2_0=~P2_0;
}
if(S==1)
{
P2_1=~P2_1;
}
}
}
加电后好像是按键函数出了问题,不知道怎么解决,
展开
 我来答
wanaiavu_0
2016-06-13 · TA获得超过718个赞
知道小有建树答主
回答量:682
采纳率:81%
帮助的人:215万
展开全部
??? while((P3&0xff)==0),如何得到
更多追问追答
追问
P3口是开关口,按键按下是低电位(while((P3&0xff)==0)语句不是当P3和0xff不相等时,0==0 while成立么
追答
假设你的按键按下,你的P3 = 0了吗?
假如你用P3.0,按下按键以后,P3 = 0xFEP3&0xFF=0xFE,也不等于0x00啊
changdacekong
2016-06-13 · TA获得超过362个赞
知道小有建树答主
回答量:463
采纳率:100%
帮助的人:253万
展开全部
while((P3&0xff)==0)
{
BZ=1;
}
这是不对的,这样写:
if((P3&0xff)!=0xff)
BZ=1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式