24小时热门版块排行榜    

CyRhmU.jpeg
查看: 470  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

梦阮如烟

铜虫 (小有名气)

[求助] 单片机程序设计

各位虫友,有能帮我写个51单片机C语言程序以实现下面的功能吗?谢谢了。。。m1(P1.0)  m2(P1.1)  m3(P1.2)   m4(P1.3)四个输入口输入高电平的顺序为m3,m2,m1,m4 时,输出端P2.0的电位变为1,否则P2.0为低电位,P2.1为高电位。不操作时所有引脚为低电位。就像是密码锁的四个键控制P2.0和P2.1两个端口,输入正确P2.0变为1,不正确P2.1变为1。输入信号是脉冲信号或是永久信号都行,最好是C语言的,谢谢了。
回复此楼
我要把人生变成科学的梦,然后再把梦变成现实。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njrogel

木虫 (小有名气)

博士

【答案】应助回帖

我感觉应该对P1口集体处理更加合理。楼主重点考虑的是顺序。
可以考虑异或或者同或操作。当某个计数值到4的时候表示正确即可。
3楼2013-02-07 10:19:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

dong5103

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
梦阮如烟: 金币+5, ★★★很有帮助 2013-02-24 09:10:26
#include
sbit M1 P1^0;
sbit M2 P1^1;
sbit M3 P1^2;
sbit M4 P1^3;

sbit O1 P2^0;
sbit O2 P2^1;
int main()
{
M1=0;
M2=0;
M3=0;
M4=0;
O1=0;
O2=0;

while(1)

{
if(M3==1)
{
  delay(4);
  if(M2==1)
{
delay(4);
    if(M1==1)
{
delay(4);
  if(M4==1)
   {
   delay(4);
   O1=1;
   O2=1;

    }
    }
  }

}

M1=0;
M2=0;
M3=0;
M4=0;
O1=0;
O2=0;

}


}
人生能有几回搏!!
2楼2013-02-06 11:05:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见