📄 main.c
字号:
/***********************************************/
//**********Author :wyb**************************
//**********07.2.23*************************
#include <e51.h>
#include <reg51.h>
#define HIGH() P1=(P1&0xf8)|0x04
#define MID() P1=(P1&0xf8)|0x02
#define LOW() P1=(P1&0xf8)|0x01
#define OFF() P1=(P1&0xf8)|0x00
/**************全局变量*******************/
uchar DisBuf[4]={1,2,3,4};
extern uchar Tick;
extern void BeginConver();
extern unsigned int ReadTemperature(void);
extern uchar Key;
main()
{
unsigned int Temperature;
uchar CTL=0;
bit MODE=0;
unsigned int SetTpr[]={100,200,300};//240对应温度24.0,300对
SetTpr[0]=100;
SetTpr[1]=200;
SetTpr[2]=300;
TMOD=0x01;
TH0=-2000/256;
TL0=-2000%256;
EA=1;
ET0=1;
TR0=1;
do{
//********************key process**************************
if(Key&0x80)
{
Key&=0x7f;
if(Key==0x08) {MODE=~MODE;P17=~P17;}
if(MODE==1) DisBuf[0]=8;
if(Key==0x04&&MODE==0) {CTL++;P17=~P17;}
if(CTL==4&&MODE==0) CTL=0;
}
//*****************fan Control**************************
if(MODE==0)
{
switch(CTL)
{
case 0: OFF();break;
case 1: LOW();break;
case 2: MID();break;
case 3: HIGH();break;
default :break;
}
DisBuf[0]=CTL;
}
//**************************read temprature*****************
if(Tick==0)
{
EA=0;
BeginConver();
P0=0x00;
EA=1;
}
if(Tick==49)
{
EA=0;
Temperature=ReadTemperature();
DisBuf[1]=Temperature/100;
DisBuf[2]=(Temperature/10)%10;
DisBuf[3]=Temperature%10;
P0=0xff;
EA=1;
if(MODE==1)
{
if(Temperature<SetTpr[0]) OFF();
// if(Temperature<100) OFF();
if( (Temperature>=SetTpr[0]) && (Temperature<SetTpr[1]) ) LOW();
// if( (Temperature>=100) && (Temperature<=200) ) LOW();
if( (Temperature>=SetTpr[1]) && (Temperature<=SetTpr[2]) ) MID();
// if( (Temperature>=200) && (Temperature<=300) ) MID();
if(Temperature>SetTpr[2]) HIGH();
// if(Temperature>300) HIGH();
DisBuf[0]=8;
}
}
}while (1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -