51单片机一个控制程序
这个小程序是我一个大程序的一小部分,要实现以下功能,但总实现不了谁能告诉我为什么?p1.0=0输出p1.3=0p1.4=0p1.1=0输出p1.3=1p1.4=0sbit...
这个小程序是我一个大程序的一小部分,要实现以下功能,但总实现不了谁能告诉我为什么? p1.0=0输出p1.3=0p1.4=0p1.1=0输出p1.3=1p1.4=0
sbit sr=P1^0;sbit sc=P1^1;sbit x=P1^3;sbit y=P1^4;void keyscan() { if(sr==0) {delay_5ms();if(sr==0) a=1; } else if(sc==0)
{ delay_5ms(); if(sc==0) a=2; } elsewhile(sr&&sc); }void main(){switch(a) { case 1:x=0;y=0;break; case 2:x=1;y=0;break;} 展开
sbit sr=P1^0;sbit sc=P1^1;sbit x=P1^3;sbit y=P1^4;void keyscan() { if(sr==0) {delay_5ms();if(sr==0) a=1; } else if(sc==0)
{ delay_5ms(); if(sc==0) a=2; } elsewhile(sr&&sc); }void main(){switch(a) { case 1:x=0;y=0;break; case 2:x=1;y=0;break;} 展开
2个回答
展开全部
不看程序只看图纸就发现问题,那两个按钮的上端要么什么都不接要么接一个10K的上拉电阻,现在这样,如果是真实电路就冒烟了。
追问
谢谢,这个是我的大电路的一小部分,我画的比较简略。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void maim()
{
if(sr==0)
{
delay_5ms();
if(sr==0)
{
x=0;
y=0;
}
}
if(sc==0)
{
delay_5ms();
if(sc==0)
{
x=1;
y=0;
}
}
}
{
if(sr==0)
{
delay_5ms();
if(sr==0)
{
x=0;
y=0;
}
}
if(sc==0)
{
delay_5ms();
if(sc==0)
{
x=1;
y=0;
}
}
}
追问
试了一下,没反应
追答
好像是你电路出错,你电路那样接,开关一闭合都短路了,相当于单片机在按下时没有了电,你应该在开关上端口再接一个上拉电阻,10K吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询