main.c
#include <stc15f2k60s2.h>
#include <intrins.h>
#include "onewire.h"
#include "iic.h"
void xianshi();
void Timer0Init();
void Delay10ms();
void anjian();
void LEDdeng();
sbit s7=P3^0;
sbit s6=P3^1;
sbit s5=P3^2;
sbit s4=P3^3;
unsigned char flag;
unsigned char jiemian=0;//界面调节参数,界面0=数据,界面1=参数
unsigned char display[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned char shuzu[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int wendu;
extern unsigned int temp;
unsigned char high=30,low=20;//温度上下线
unsigned char qie;//切换选择参数
unsigned char chigh=30,clow=20;
void main()
{
Timer0Init();EA=1;ET0=1;
P2=(P2&0X1F)|0XA0;P0=0X00;P2&=0X1F;
P2=(P2&0X1F)|0X80;P0=0XFF;P2&=0X1F;
while(1)
{
// if(wendu>high)SetDAC(4);
// if((wendu<=high)&(wendu>low))SetDAC(3);
// if(wendu<low)SetDAC(2);
if(high==100)high=0;
if(low==100)low=0;
anjian();
wendu=readtemp();
xianshi();
LEDdeng();
}
}
void LEDdeng()
{
unsigned char led=0xff;
if(wendu>high)
{
P2=(P2&0X1F)|0X80;
P0=0XFE&led;
P2&=0X1F;
SetDAC(4);
Delay10ms();
}
if((wendu<=high)&(wendu>low))
{
P2=(P2&0X1F)|0X80;
P0=0XFD&led;
P2&=0X1F;
SetDAC(3);
Delay10ms();
}
if(wendu<low)
{