如何用51单片机做一个电子开关?大侠帮我写个程序?

P1.1口做为输入端,接一个轻触开关到+VCC端。P0.0口作为输出端,输出正电位为”开“。按一下轻触开关P0.0输出开,再按一下P0.0输出关要求上升沿触发!!... P1.1口做为输入端,接一个轻触开关到+VCC端。P0.0口作为输出端,输出正电位为”开“。

按一下轻触开关P0.0输出开,再按一下P0.0输出关
要求上升沿触发!!
展开
 我来答
小楼之外
推荐于2016-11-15 · TA获得超过173个赞
知道小有建树答主
回答量:461
采纳率:0%
帮助的人:360万
展开全部
//你这一个程序挺简单的, 我使用循环扫描的办法
#include<reg51.h>

sbit kEy = P1^1;
sbit oUt = P0^0;


void Init(void)
{
    kEy = 0;
    oUt = 0;
}

void Delay(void)
{
    unsigned char a,b,c;
    for(a=10;a>0;a--)
    for(b=200;b>0;b--)
    for(c=120;c>0;c--);
}

void main(void)
{
    Init();
    while(1)
    {
        if(kEy)
        {
            Delay();
            if(kEy)
            {
                oUt = !oUt;
                while(!kEy);
            }
        }
    }
}
//祝你好运!
更多追问追答
追问

我把你的程序复制进去,仿真和学习板都试了,结构是一样的两个端口都成低电位,装上开关没有任何变化!

追答

因为P0口是集电极输出,所以这里显示高阻态,

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式