#include "reg51.h"
sbit Y6=P2^6; //温控器
sbit Y5=P2^5; //时间继电器
sbit Y4=P2^4; //压
sbit Y3=P2^3; //拉
/////////////////////
sbit X0=P0^0; //拉到位
sbit X1=P0^1; //压原位
sbit X2=P0^2; //压到位
sbit X3=P0^3; //时间
/////////////////////
sbit X4=P0^4; //手动/自动
sbit X5=P1^0; //温控
sbit X6=P1^1; //手动拉
sbit X7=P1^2; //手动压
sbit X8=P1^3; //启动
unsigned char BU=0;
void YANS(unsigned int YS)
{
unsigned int j;
for(;YS>0;YS--)
{
for(j=0;j<124;j++)
{;}
}
}
void main()
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
while(1) //手动区
{
if(X5==1)
Y6=1;
else
{
YANS(20);
if(X5==0)
Y6=0;
else Y6=1;
}
if(X4==0)
{
YANS(20); ///程序运行到这里就会卡主 去掉这个延时就好了
if(X4==0)
{
if((P1|0xf9)==0xff)
{
b_0:P2=(P2|0x18);
continue;
}
YANS(20);
if((P1|0xf9)==0xff)
goto b_0;
if(X6==0)
Y3=0;
if(X7==0)
Y4=0;
}
}
else //自动区
switch(BU)
{
case 0:if(X8==0)
{
YANS(20);
if(X8!=0)
break;
}
else break;
case 1:Y3=0;
case 2:if(X0==0