如何实现两点间温度控制

[10-10 20:38:44]   来源:http://www.88dzw.com  电子制作   阅读:8243

文章摘要:unsigned char getdata;unsigned int temp;unsigned char i;sbit ST=P3^0;sbit OE=P3^1;sbit EOC=P3^2;sbit CLK=P3^3;sbit LED1=P3^6;sbit LED2=P3^7;sbit SPK=P3^5;bit lowflag;bit highflag;unsigned int cnta;unsigned int cntb;bit alarmflag;void main(void){ST=0;OE=0;TMOD=0x12;TH0=0x216;TL0=0x216;TH1=(65536-500)

如何实现两点间温度控制,标签:电子小制作,http://www.88dzw.com
unsigned char getdata;
unsigned int temp;
unsigned char i;

sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
sbit LED1=P3^6;
sbit LED2=P3^7;
sbit SPK=P3^5;
bit lowflag;
bit highflag;
unsigned int cnta;
unsigned int cntb;
bit alarmflag;


void main(void)
{
ST=0;
OE=0;
TMOD=0x12;
TH0=0x216;
TL0=0x216;
TH1=(65536-500)/256;
TL1=(65536-500)%256;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
ST=1;
ST=0;
while(1)
{
if((lowflag==1) &&(highflag==0))
{
LED1=0;
LED2=1;
}
else if((highflag==1) && (lowflag==0))
{
LED1=1;
LED2=0;
}
else
{
LED1=1;
LED2=1;
}
}
}

void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}

void t1(void) interrupt 3 using 0
{

TH1=(65536-500)/256;
TL1=(65536-500)%256;

if(EOC==1)
{
OE=1;
getdata=P0;
OE=0;
temp=getdata*25;
temp=temp/64;
i=6;
dispbuf[0]=10;
dispbuf=10;
dispbuf=10;
dispbuf=10;
dispbuf[4]=10;
dispbuf[5]=10;
dispbuf[6]=0;
dispbuf[7]=0;
while(temp/10)
{
dispbuf[i]=temp%10;
temp=temp/10;
i++;
}
dispbuf[i]=temp;
if(getdata<77)
{
lowflag=1;
highflag=0;
}
else if(getdata>153)
{
lowflag=0;
highflag=1;
}
else
{
lowflag=0;
highflag=0;
}
ST=1;
ST=0;
}

P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}

if((lowflag==1) && (highflag==0))
{
cnta++;
if(cnta==800)
{
cnta=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
SPK=~SPK;
}
}
else if((lowflag==0) && (highflag==1))
{
cntb++;
if(cntb==400)
{
cntb=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
SPK=~SPK;
}
}
else
{
alarmflag=0;
cnta=0;
cntb=0;
}
}

上一页  [1] [2] 


Tag:电子制作电子小制作维修教程知识 - 电子制作

《如何实现两点间温度控制》相关文章