#include <reg52.h>
#include <math.h>
#define uchar unsigned char
#define _18B20_work()
#define _18B20_read()
#define _18B20_init()
#define Adc0832()
void main()
{
uchar i,ad_data;
_18B20_init(); //
while(1)
{
_18B20_work(_18B20_read()); //
ad_data = Adc0832(0) ;
data_pro(); /
for (i=0;i<100;i++)
leddisp(); //
alarm(); //
keycontrol(); //
}
}
//LED???????:
uchar dispbuf[8],dispcount;
uchar code dispbitcode[]=
{
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f
}; //?????
uchar code dispcode[]=
{
0x3F,0x06,0x5B,0x4F,
0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x00,0x7C,
0x39,0x5E,0x79,0x71,
0x40,0x00,0x76
}; //?????
//0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F,-,NULL,H
void leddisp()
{
dispbuf[0]=display[2];
dispbuf[1]=display[1];
dispbuf[2]=display[0];
dispbuf[3]=12;
dispbuf[4]=temp1/100; dispbuf[5]=(temp1%100)/10; dispbuf[6]=temp1%10;
dispbuf[7]=18;
WEI=0xff; DUAN=dispcode[dispbuf[dispcount]]; if(dispcount==1)
DUAN |= 0X80;
WEI=dispbitcode[dispcount]; dispcount++;
if(dispcount==8)
dispcount=0;
}
//
_18B20_work(unsigned int tem)
{
unsigned char n=0;
if(tem>6348) // ???????
{
tem=65536-tem;
n=1;
}
display[4]=tem&0x0f;
display[0]=ditab[display[4]];
display[4]=tem>>4;
display[3]=display[4]/100;
display[1]=display[4]%100;
display[2]=display[1]/10;
display[1]=display[1]%10;
if(!display[3])
{
display[3]=0x0a;
if(!display[2])
display[2]=0x0a;
}
if(n)
display[3]=0x0b; //?????????"-"
}
//??????????
void alarm()
{
if(temp1<=100)
ALARM1=0;
else ALARM1=1;
if(display[4]<=59)
ALARM2=0;
else ALARM2=1;
}
keycontrol()
{
if (KEY==0)
{
conflag=~conflag;
while(!KEY);
}
if(conflag)
ALARM2=~ALARM2;
}
以下是目前的编译错误:
adx.c(15): error C141: syntax error near ';'
adx.c(15): warning C307: macro 'Adc0832': parameter count mismatch
adx.c(57): warning C307: macro '_18B20_work': parameter count mismatch
adx.c - 1 Error(s), 2 Warning(s).
|