用51单片机做一个驱动继电器的电路,C程序救助。 10

功能是这样的:8个按键分别对应控制8个继电器的输出,按一下按键,继电器输出,再按一下,继电器关闭;另外还有8路数字量信号输入,当单片机检测到某一路数字量信号输入为0时(无... 功能是这样的:8个按键分别对应控制8个继电器的输出,按一下按键,继电器输出,再按一下,继电器关闭;另外还有8路数字量信号输入,当单片机检测到某一路数字量信号输入为0时(无输入是为1),关闭对应的该路继电器,也就是说只要有数字量信号输入,继电器就不能输出,按键也不能用。

现在单独的按键控制继电器输出没问题了,检测数字信号输入也可以,就是数字量信号输入与继电器输出部分的结合判断这块弄了好久,搞不好。
求大神帮忙!这块应该什么写才行。
展开
 我来答
GUEL86
2013-02-04 · TA获得超过5855个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2728万
展开全部
如 一个继电器控制 ,数字量信号输入 P20 , 按键 P10 , 继电器控制 P00
if ( P20==1) // 数字量信号输入 为 1
{
if ( P10==0) // 按键 按下
{
if ( PBZ0==0)
{
PBZ0=1; // 设置一个标志,这样可以按键 按一次 执行一次。
P00=~P00; // 继电器 取反,就是原来 开 就 关,原来 关 就 开。
}
}
if ( P10==1) // 按键 释放
{
PBZ0=0; // 按键释放 标志 清零。
}
}
if ( P20==0) // 数字量信号输入 为 0
{
P00=0; // 关闭继电器
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
眼大5子
2013-02-02 · TA获得超过768个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:226万
展开全部
每次继电器输出前先判断下该位数字信号是不是0不就好了,是0直接在这里break,是1则继续执行
程序加在你松手检测以后
if(XX==0)
{
break;

}
else
{
//加松手检测后面的语句

}
追问
谢谢您的回答,我先按你的方法试一下,数字量是0的话,还要检测继电器的输出状态,如果有输出,就关掉继电器输出。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
走在时间的前头
2013-02-03 · TA获得超过200个赞
知道小有建树答主
回答量:662
采纳率:0%
帮助的人:180万
展开全部
我这里有一些资料,需要可以来找我,随时都在线,等待回复。如果不在线,可以给我留言,看到到马上回复。
追问
在不?
追答
我们这里是专门帮同学做设计的,价格合理,都是白菜价,通过支付宝付款,如果您需要,可以加  187,0111474.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_迷恋今生
2013-02-02
知道答主
回答量:48
采纳率:0%
帮助的人:11.4万
展开全部
dantdfdsaaaaaaaaaaaaaaaaa
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式