在这里插入图片描述
这个警告怎么解决啊 怎么回事不能执行到的程序呢?
这是我的程序
#include “stc15f2k60s2.h”
#include “absacc.h”
#include “onewire.h”
#include “iic.h”
typedef unsigned char u8;
typedef unsigned int u16;
sbit S7=P3^0;
sbit S6=P3^1;
sbit S5=P3^2;
sbit S4=P3^3;
u8 Temper_Low;
u8 Temper_High;
u16 Temper_Now;
u8 shumaguan_duan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void E2PROM_Write(u8 address,u8 dat);
u8 E2PROM_Read(u8 address);
void Delay(u16 t);
void Delay1(u16 t);
void SMG_Init(u8 pos,u8 dat);
void SMG_Show();
void System_Init();
void Key_Scan();
void rd_temperature();
void main()
{
System_Init();
Temper_High=E2PROM_Read(0x00);
Delay1(200);
Temper_Low=E2PROM_Read(0x01);
Delay1(200);
while(1)
{
rd_temperature();
Key_Scan();
}
}
void E2PROM_Write(u8 address,u8 dat)
{
IIC_Start();
IIC_SendByte(0xa0);
IIC_WaitAck();
IIC_SendByte(address);
IIC_WaitAck();
IIC_SendByte(dat);
IIC_WaitAck();
IIC_Stop();
}
u8 E2PROM_Read(u8 address)
{
u8 dat;
IIC_Start();
IIC_SendByte(0xa0);
IIC_WaitAck();
IIC_SendByte(address);
IIC_WaitAck();
IIC_Start();
IIC_SendByte(0xa1);
IIC_WaitAck();
dat=IIC_RecByte();
IIC_SendAck(0);
IIC_Stop();
return dat;
}
void rd_temperature()
{
u8 LSB;
u8 MSB;
init_ds18b20();
Write_DS18B20(0xcc);
Write_DS18B20(0x44);
Delay(900);
init_ds18b20();
Write_DS18B20(0xcc);
Write_DS18B20(0xbe);
LSB=Read_DS18B20();
MSB=Read_DS18B20();
init_ds18b20();
Temper_Now=0x0000;
Temper_Now=MSB;
Temper_Now<<=8;
Temper_Now|=LSB;
if(Temper_Now&0xf800==0)
{
Temper_Now=Temper_Now*0.0625;
}
}
void SMG_Show()
{
SMG_Init(0,shumaguan_duan[Temper_High/10]);
SMG_Init(1,shumaguan_duan[Temper_High%10]);
SMG_Init(2,shumaguan_duan[Temper_Low/10]);
SMG_Init(3,shumaguan_duan[Temper_Low%10]);
SMG_Init(6,shumaguan_duan[Temper_Now/10]);
SMG_Init(7,shumaguan_duan[Temper_Now%10]);
}
void SMG_Init(u8 pos,u8 dat)
{
XBYTE[0xe000]=0xff;
XBYTE[0xc000]=0x01<<pos;
XBYTE[0xe000]=dat;
Delay1(400);
}
void Key_Scan()
{
if(S40)
{
while(!S4)
SMG_Show();
if(Temper_High<100)
{
Temper_High++;
E2PROM_Write(0x00,Temper_High);
Delay(300);
}
}
if(S50)
{
while(!S5)
SMG_Show();
if((Temper_High>Temper_Low)&&(Temper_Low>0))
{
Temper_Low++;
E2PROM_Write(0x01,Temper_Low);
Delay(300);
}
}
if(S60)
{
while(!S6)
SMG_Show();
if(Temper_High>Temper_Low)
{
Temper_High–;
E2PROM_Write(0x00,Temper_High);
Delay(300);
}
}
if(S70)
{
while(!S5)
SMG_Show();
if(Temper_Low>0)
{
Temper_Low–;
E2PROM_Write(0x01,Temper_Low);
Delay(300);
}
}
}
void System_Init()
{
XBYTE[0xa000]=0x00;
XBYTE[0x8000]=0xff;
}
void Delay(unsigned int t)
{
while(t–)
{
SMG_Show();
}
}
void Delay1(u16 t)
{
while(t–);
}
求大佬解决 万分感谢