,求解,关于51单片机引脚锁存的问题

2019-03-24 17:35发布

例如:
#include "reg51.h"

sbit  S1=P2^0;
sbit  LED=P2^1;

void main()
{
   while(1)
   if(S1==1)
    {
      LED=0;
     }
}

S1是一个点触开关,暂时不考虑防抖,如果想要点触开关S1按下之后,保持住LED=0的状态,要怎么设置?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
dong2213dong
1楼-- · 2019-03-24 23:27
没太明白你的意思,按你的程序来说,按下S1之后,除非重新上电,要不然LED就一直等于0了啊,话说你的while下面不加大括号,看着好不得劲呢
ywlzh
2楼-- · 2019-03-25 01:35
 精彩回答 2  元偷偷看……
ienglgge
3楼-- · 2019-03-25 03:35
while(1)后面最好加个大括号,看着清楚一些。触开关S1按下之后,是不是S1就变成1了?是的话,现在的程序就可以。因为程序没有判断当开关弹起后,执行什么动作。
liuyimao485812
4楼-- · 2019-03-25 09:17
你的程序,只要S1等于1,LED就永远等于0。不管后面S1是1还是0。

一周热门 更多>