单片机中开关K1,K2,K3,K4分别接P1.0到P1.4口,灯D1接P2.0口,K1,K2,K3中一个开关闭合灯亮,断
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 09:58:49
单片机中开关K1,K2,K3,K4分别接P1.0到P1.4口,灯D1接P2.0口,K1,K2,K3中一个开关闭合灯亮,断开灭,
K4只灭灯.灭后,K1,K2,K3还可以开,帮忙写下程序啊,
K4只灭灯.灭后,K1,K2,K3还可以开,帮忙写下程序啊,
sbit Key1 = P0^1;
sbit Key2 = P0^2;
sbit Key3 = P0^3;
sbit Key4 = P0^4;
sbit LED = P2^0;
#define ON 1
#define OFF 0
unsigned char flag;
int main(void)
{
flag = OFF;
while (1)
{
if ((Key1|Key2|Key3)&& (flag == OFF)) ///灯处于熄灭状态时 任何按键可以点亮
{
LED = 1;
flag = ON;
}else{
LED = 0;
flag = OFF;
}
if (Key4 &&(flag == ON)) ///按下key4时 熄灭灯,且任何按键无法点亮灯
{
LED = 0;
flag = ON;
}
if (!Key4) ///松开 key4 可以灯可以重新被点亮
{
flag = OFF;
}
}
}
你的描述不是很清楚,我按照我的理解写的.
再问: 真心非常感谢你的回答。也许是我说的不清楚。你上面回答的 if (Key4 &&(flag == ON)) ///按下key4时 熄灭灯,且任何按键无法点亮灯 我想要的是Key4灭灯后,不动,KEY1,2,3都可以再点亮,KEY4可再灭。KEY4可否用点动的来控制,能帮忙再改下程序吗
再答: sbit Key1 = P0^1; sbit Key2 = P0^2; sbit Key3 = P0^3; sbit Key4 = P0^4; sbit LED = P2^0; #define ON 1 #define OFF 0 unsigned char flag1; bit key1o,key2o,key3o; int main(void) { flag1 = 0; key1o = Key1; ///记录按键状态 初始时按键保证为断开 否则第一次按键闭合将失效 key2o = Key2; key3o = Key3; while (1) { if ((Key1 != key1o)&&(Key1)) ///k1 是从断开到闭合 { key1o = Key1; ///记录当前状态 保证按键断开不动作 flag1 = ON; } if ((Key2 != key2o)&&(Key2)) { key2o = Key2; flag1 = ON; } if ((Key3 != key3o)&&(Key3)) { key3o = Key3; flag1 = ON; } if (Key4) ///k4 点动 关闭灯 { flag1 = OFF; } if (flag1 == ON) ///判断当前状态 处理灯 { LED = 1; }else{ LED = 0; } } } 这个程序应该是可以的了。
sbit Key2 = P0^2;
sbit Key3 = P0^3;
sbit Key4 = P0^4;
sbit LED = P2^0;
#define ON 1
#define OFF 0
unsigned char flag;
int main(void)
{
flag = OFF;
while (1)
{
if ((Key1|Key2|Key3)&& (flag == OFF)) ///灯处于熄灭状态时 任何按键可以点亮
{
LED = 1;
flag = ON;
}else{
LED = 0;
flag = OFF;
}
if (Key4 &&(flag == ON)) ///按下key4时 熄灭灯,且任何按键无法点亮灯
{
LED = 0;
flag = ON;
}
if (!Key4) ///松开 key4 可以灯可以重新被点亮
{
flag = OFF;
}
}
}
你的描述不是很清楚,我按照我的理解写的.
再问: 真心非常感谢你的回答。也许是我说的不清楚。你上面回答的 if (Key4 &&(flag == ON)) ///按下key4时 熄灭灯,且任何按键无法点亮灯 我想要的是Key4灭灯后,不动,KEY1,2,3都可以再点亮,KEY4可再灭。KEY4可否用点动的来控制,能帮忙再改下程序吗
再答: sbit Key1 = P0^1; sbit Key2 = P0^2; sbit Key3 = P0^3; sbit Key4 = P0^4; sbit LED = P2^0; #define ON 1 #define OFF 0 unsigned char flag1; bit key1o,key2o,key3o; int main(void) { flag1 = 0; key1o = Key1; ///记录按键状态 初始时按键保证为断开 否则第一次按键闭合将失效 key2o = Key2; key3o = Key3; while (1) { if ((Key1 != key1o)&&(Key1)) ///k1 是从断开到闭合 { key1o = Key1; ///记录当前状态 保证按键断开不动作 flag1 = ON; } if ((Key2 != key2o)&&(Key2)) { key2o = Key2; flag1 = ON; } if ((Key3 != key3o)&&(Key3)) { key3o = Key3; flag1 = ON; } if (Key4) ///k4 点动 关闭灯 { flag1 = OFF; } if (flag1 == ON) ///判断当前状态 处理灯 { LED = 1; }else{ LED = 0; } } } 这个程序应该是可以的了。
单片机中开关K1,K2,K3,K4分别接P1.0到P1.4口,灯D1接P2.0口,K1,K2,K3中一个开关闭合灯亮,断
解方程组 k1+k4=0 k2+k3=0 k3+k4=0要具体过程结果是k1=k2=k3=k4=0
在如图电路中K1、K2、K3、K4均闭合,C是极板水平放置的平行板电容器,板间悬浮着一油滴P,断开哪一个开关后P会向下运
三菱PLC mov里k1,k2,k3,k4,是什么
k1+k2+k3+k4+k5+k6+k7+k8=20 3k1+3.5k2+4k3+4.5k4+5k5+5.5k6+6k7
单片机编程:当按下按键K1时,LED亮1个灯;当按下K2时,LED亮2个灯;K3亮3个灯;K4亮4个灯.求程序,
在如图所示的电路中,电键K1、K2、K3、K4均闭合,C是 极板水平放置的平行板电容器,
求解2个线性方程 1.k1-k2+3k3=0 3k1+k2+k3=0 -k1+2k2-5k3=0 2.k1-k2+2k3
下图中为什么当K1,K2,K3闭合后,灯泡A不会亮而灯泡B会亮?
在matlab中怎样将函数f=(k0+k1*s+k2)/(s*s+k1*+k2-k3)(其中k0,k1,k2,k3都为任
等差数列中d≠0,部分项组成数列a(k1),a(k2)...a(kn)恰成等比数列,且k1=1,k2=5,k3=17.,
k1(a1+a2)+k2(a2+a3)+k3(a3+a1)=0 所以有(k1+k3)a1+(k1+k2)a2+(k2+k