📄 reshiqi.c
字号:
_delay(1);
Ledstb=0;
_delay(1);
Display1();
}
//------------------------------------------------------
void Led()
{
Led1();
LedBuf=0b01000100;
Display();
if(Leddata>=9){Leddata=0;}
LedBuf=LEDTAB3[Leddata];
Display();
switch(Leddata)
{
case 0: LedBuf=L1;break;
case 1: LedBuf=L2;break;
case 2: LedBuf=L3;break;
case 3: LedBuf=L4;break;
case 4: LedBuf=L5;break;
case 5: LedBuf=L6;break;
case 6: LedBuf=L7;break;
case 7: LedBuf=L8;break;
case 8: LedBuf=L9;break;
}
Display1();
LedBuf=0b00000010;
Display();
if(work==0){LedBuf=0b10000011;}
else {LedBuf=0b10001011;}
Display();
Leddata++;
Ledstb=1;
}
//------------------------------------------------------BeepCtl
void BeepControl()
{
if (BeepCnt||k6){BeepCnt--;EnBeep=1;}
else {EnBeep=0;}
if(Flag05s4)
{
Flag05s4=0;
if(BeepTimes){BeepTimes--;k6=!k6;}
else
{k6=0;}
}
}
//----------------------------------------------------
void TmrInt()
{
if(Irin)
{Irbit=1;}
else{Irbit=0;}
if(Irbit)
{IrbitBuf++;}
else
{IrbitBuf=0;}
if(IrbitBuf>=50)
{yingdaoFlag=1;}
if(x==1&&Irbit==0&&yingdaoFlag)
{ x=0;
if(y==0){y=1;b=0;}
else
{
b++;
if(b>5&&b<13)
{
if(a<4){IrBuf|=0x01;}else {IrBuf&=0xfe;}IrBuf<<=1;
}
a=0;
if(b>=12)
{y=0;
if(IrBuf)
{IrFlag=1;}
else
{IrFlag=0;}
yingdaoFlag=0;}
}
}
else
{if(Irbit)
{x=1;}
else
{x=0;}
if(y==1&&x==1)
{a++;}
}
if(EnBeep){Buzzer=!Buzzer;}
else {Buzzer=0;}
if(++TmrCnt>=8){TmrCnt=0;Flag2ms=1;Flag2ms1=1;}
}
//------------------------------------------------------Keycan
void Keycan()
{
if(IrFlag==0)
{ KeyBuf=0;
_pac0=1;_pac2=1;_pac3=1;
_pa0=1;_pa2=1;_pa3=1;
_delay(10);
if(!_pa0){Key2=1;}
if(!_pa3){Key3=1;}
if(!_pa2){Key1=1;}
_pac0=0;_pac2=0;_pac3=0;}
}
//------------------------------------------------------Keyprocess
void KeyProcess()
{ if (KeyBuf==0)
{KeyValid=0;
KeyCnt=10;
}
else
{if (KeyCnt!=0){KeyCnt--;}
else if(KeyValid==0)
{
KeyValid=1;
if(Key3&&ErrorCode==0) //PowerOff
{ Rly=!Rly;
Buf=!Buf;
work=!work;
BeepCnt=100;
Time=0;
k2=0;
Key2Flag=0;
reg1=0;
reg2=0;
k5=0;
IrFlag=0;
}
if(Key1&&Buf) //Inc
{
if(Key1Flag==0){Key1Flag=1;}
else {if(Temp1<30||Temp1>=75){Temp1=30;}
else
{Temp1+=5;}}
k2=0;
Key1Flag1=1;
BeepCnt=100;
if(reg1==0){Temp2=Temp1;}
reg1=8;
IrFlag=0;
}
if(Key2&&Buf) //dec
{
if(Key2Flag==0){Key2Flag=1;}
else
{
if(Time>=24){Time=0;}
else {Time+=1;}
}
Key2Flag1=1;
BeepCnt=100;
if(reg2==0){Time1=Time;}
reg2=8;
IrFlag=0;
}
}
}
}
//------------------------------------------------------Timecreate
void TimeCreate()
{
if(BeepCnt){BeepCnt--;}
if(++Cnt1==0)
{
Flag05s=1;
Flag05s1=1;
Flag05s2=1;
Flag05s3=1;
Flag05s4=1;
}
}
//------------------------------------------------------
void Ircontrol()
{
if(IrBuf&&IrFlag)
{
if(IrBuf==0x08)
{Key3=1;}
if(IrBuf==0x04)
{Key2=1;}
if(IrBuf==0x10)
{Key1=1;}
IrBuf=0;
}
}
//----------------------------------------- A/Dsub
void AdSub()
{ _adcr=0b00001000;
_start=0;_delay(2);_start=1;_delay(2);_start=0;
while(_eocb){;}
Adsum=Adsum+_adrh;
if(++Adcnt>=64){Adcnt=0;Adavr=Adsum/64;Adsum=0;}
}
//------------------------------------------------------A/D
void GetTemperature()
{
if(Adavr>=16&&Adavr<206&&Flag05s==1&®1==0&®2==0)
{
Flag05s=0;
Temp=TempTAB2[Adavr-16];
DispBuf1=Temp/10;
DispBuf2=Temp%10;
Key1Flag=0;
Key1Flag1=1;
Key2Flag1=1;
}
}
//------------------------------------------------------xianshi
void Led1()
{
if(Buf&&k2==0&&ErrorCode==0)
{
L1=LEDTAB1[DispBuf1];
L2=LEDTAB2[DispBuf1];
L3=LEDTAB1[DispBuf2];
L4=LEDTAB2[DispBuf2];
if(TempFlag)
{
if(reg2){L5=0x30;L6=0x08;}
else {L5=0x20;L6=0x09;}
L8=LEDTAB4[k];
if(Flag05s2&&k<3){k++;}
if(k>=3){k=0;}
if(Flag05s2)
{
L7>>=1;
if(++z==8){z=0;L7=0xF0;}
Flag05s2=0;
}
L9=0x01;
}
else
{if(reg1==0&®2==0)
{L5=0x00;
L6=0x03;
L7=0x00;
L8=0x00;
L9=0x01;}
if(Key2Flag)
{
L5=0x10;
L6=0x00;
}
}
}
}
//------------------------------------------------------flash
void Led2()
{
if(reg1&&Flag05s1==1&&k5==0)
{ Flag05s1=0;
if(reg2==0)
{
if(reg1<6){Key1Flag1=!Key1Flag1;}
if(Key1Flag1==0){DispBuf1=DispBuf2=11;}
else
{
Temp=Temp1;
DispBuf1=Temp/10;
DispBuf2=Temp%10;
reg1--;
}
}
else
{Temp1=Temp2;reg1=0;}
}
if(reg2&&Flag05s1==1)
{Flag05s1=0;k5=1;
if(reg1==0)
{
L5=0x10;
L6=0x00;
if(reg2<6){Key2Flag1=!Key2Flag1;}
if(Key2Flag1==0){DispBuf1=DispBuf2=11;}
else
{
DispBuf1=Time/10;
DispBuf2=Time%10;
reg2--;
}
}
else
{Time=Time1;reg2=0;k5=0;}
L1=LEDTAB1[DispBuf1];
L2=LEDTAB2[DispBuf1];
L3=LEDTAB1[DispBuf2];
L4=LEDTAB2[DispBuf2];
}
}
//------------------------------------------------------dingshixianshi
void Led3()
{
if(reg2==0&&Key2Flag&&ErrorCode==0)
{
k2=1;
if(Key1Flag==0)
{
DispBuf1=Time/10;
DispBuf2=Time%10;
if(TimeF1){L5=0x10;}
else
{L5=0;}
L6=0x00;
}
else
{if(reg1>=6)
{
DispBuf1=Temp/10;
DispBuf2=Temp%10;
L5=0x00;
L6=0x01;
}
}
L1=LEDTAB1[DispBuf1];
L2=LEDTAB2[DispBuf1];
L3=LEDTAB1[DispBuf2];
L4=LEDTAB2[DispBuf2];
L7=0x00;
L8=0x00;
}
}
//------------------------------------------------------dingshi
void dingshi()
{ if(Time>0&®2==0)
{k5=0;
if(Flag05s3==1)
{hrl++;TimeF1=!TimeF1;Flag05s3=0;}
if(hrl==10)
{hrl=0;hrh+=1;}
if(hrh==2)
{
Time--;
hrh=0;
}
}
if(Time==0&®2==0)
{ k2=0;
Key2Flag=0;
}
}
//------------------------------------------------------baowen
void baowen()
{
if(reg1==0&®2==0&&ErrorCode==0&&Time==0)
{
if(TempTAB2[Adavr-16]>=Temp1)
{ if(k4==0){k4=1;BeepTimes=6;}
TempFlag=0;
Rly=0;
}
else
{if(TempTAB2[Adavr-16]+3<Temp1)
{
TempFlag=1;
Rly=1;
k4=0;
}
}
}
}
//------------------------------------------------------
void baojing()
{
if(work&&(TooHigh||ErrorCode))
{
Key2Flag=0;
k2=1;
Rly=0;
Buf=0;
if(Flag05s1)
{
Error=!Error;
Flag05s1=0;
}
if(Error)
{
DispBuf1=10;
if(TooHigh)
{DispBuf2=1;}
else
{DispBuf2=2;}
L5=0xc0;
}
else
{
DispBuf1=DispBuf2=11;
L5=0x80;
}
L1=LEDTAB1[DispBuf1];
L2=LEDTAB2[DispBuf1];
L3=LEDTAB1[DispBuf2];
L4=LEDTAB2[DispBuf2];
L6=0;
L7=0;
L8=0;
L9=0;
}
}
//------------------------------------------------------
void ErrorDetect()
{
if((Adavr<=3||Adavr>253)&&work){if(ErrCnt!=0){ErrCnt--;}}
else{ErrCnt=120;}
if(ErrCnt==0&&ErrorCode==0)
{ErrorCode=1;BeepTimes=10;}
if(Temp>=90&&work){if(TooHighCnt!=0){TooHighCnt--;}}
else { TooHighCnt=255;}
if(TooHighCnt==0&&ErrorCode==0)
{TooHigh=1;
ErrorCode=1;
BeepTimes=10;}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -