开机检测k1k2状态
(当k1=0时p5输出低电平;k3=0时p5回到高电平)
(当k2=0时p6输出低电平;k4=0时p6回到高电平)
回到程序顶部在循环
有点像电动车库 K1K2=开门关们 K3K4=到位开关
程序该怎么写呢 尽量简单点 C语言
#include "reg51.h" // 试试
sbit k1 = P1^0;//按键1
sbit k2 = P1^1;//按键2
sbit k3 = P1^2;//按键3
sbit k4 = P1^3;//按键4
sbit p5 = P1^5; //输出1
sbit p6 = P1^6; //输出2
bit t1, t2;
void main(void)
{
while(1)
{
if(k1==0 && t1==0) {t1=1; p5=1;}
if(k2==0 && t1==0) {t1=1; p5=0;}
if(k1==1 && k2==1) {t1=0;}
if(k3==0 && t2==0) {t2=1; p6=1;}
if(k4==0 && t2==0) {t2=1; p6=0;}
if(k3==1 && k4==1) {t2=0;}
}}
追问谢谢 就你的在实验板上成功了 但有时行有时不行 还有控制怎么是k2k4啊 而且按两个键的话 灯同时亮了 要放在电动门的话 不把门给拉成两块可啊 呵呵
追答加个互锁条件 就可以了 如 这两句改一下
if(k2==0 && t1==0 && p6==1) {t1=1; p5=0;}
if(k4==0 && t2==0 && p5==1) {t2=1; p6=0;}