clee 发表于 2013-7-1 09:33:40

关于PIC1824 读18b20温度程序

最近在做一个实验,由PIC1824读出18B20温度后传给主单片机STM32F,程序里已做了温度上限90的限制,但仍然会有大于90的数据出现在STM32里面,将程序发上,大侠们帮忙看看是不是程序上有什么不妥。

unsigned int wendu()            //处理温度数据赋值
{
U8 n,i;
int temp_Data,temp_Data_2=0;
DS1820_Reset();
DS1820_WriteData(0xcc);
DS1820_WriteData(0x44);
__delay_ms(100);
DS1820_Reset();
DS1820_WriteData(0xcc);
DS1820_WriteData(0xbe);
for(n=0;n<2;n++)
{
temperature=DS1820_ReadData();
}
DS1820_Reset();
temp_Data=temperature;
temp_Data&=0xf0;
temp_Data=temperature<<4;
temp_Data_2=temperature>>4;
temp_Data=temp_Data|temp_Data_2;
if(temp_Data<90)
{
TEME=temp_Data;
}
DS1820_Reset();
DS1820_WriteData(0xcc);
DS1820_WriteData(0x44);
__delay_ms(100);
DS1820_Reset();
DS1820_WriteData(0xcc);
DS1820_WriteData(0xbe);
for(n=0;n<2;n++)
{
temperature=DS1820_ReadData();
}
DS1820_Reset();
temp_Data=temperature;
temp_Data&=0xf0;
temp_Data=temperature<<4;
temp_Data_2=temperature>>4;
temp_Data=temp_Data|temp_Data_2;


if(temp_Data<90)
{
TEMD=temp_Data;
}
if(TEMD==TEME)
{
TEMP=TEMD;
}
}

温度是读了两次后都相同再传的,现正郁闷中...................


        1.03926E+13        10392556500000        10:39        25        56        50        0       
        1.03926E+13        10392556500000        10:39        25        56        50        0       
        1.03926E+13        10392556500000        10:39        25        56        50        0       
        1.03926E+13        10392556500000        10:39        25        56        50        0       
        1.03926E+13        10392556500000        10:39        25        56        50        0       
        1.04027E+13        10402656500000        10:40        26        56        50        0       
        1.04026E+13        10402556500000        10:40        25        56        50        0       
        1.04027E+13        10402656500000        10:40        26        56        50        0       
        1.04027E+13        10402656960008        10:40        26        56        96        8       
        1.04021E+13        10402055960000        10:40        20        55        96        0       
        1.04021E+13        10402055960000        10:40        20        55        96        0
        1.04021E+13        10402055960000        10:40        20        55        96        0       
        1.04021E+13        10402055960000        10:40        20        55        96        0       
        1.04021E+13        10402055960000        10:40        20        55        96        0       
        1.04021E+13        10402055500000        10:40        20        55        50        0       
        1.04021E+13        10402055500000        10:40        20        55        50        0       
        1.04021E+13        10402055500000        10:40        20        55        50        0       
        1.04021E+13        10402055500000        10:40        20        55        50        0       
        1.04021E+13        10402055500000        10:40        20        55        50        0       
        1.04121E+13        10412055500000        10:41        20        55        50        0       
        1.04121E+13        10412055490000        10:41        20        55        49        0       
        1.04121E+13        10412055490000        10:41        20        55        49        0       
        1.04121E+13        10412055490000        10:41        20        55        49        0       
        1.04121E+13        10412055490000        10:41        20        55        49        0       

clee 发表于 2013-7-1 09:37:00

        1.04129E+13        10412859530000        10:41        28        59        53        0       
        1.04129E+13        10412859530000        10:41        28        59        53        0       
        1.04129E+13        10412859530000        10:41        28        59        53        0       
        1.04129E+13        10412859530000        10:41        28        59        53        0       
        10412859:20008        10412859:20008        10:41        28        59        #VALUE!        8       
        10412658:20000        10412658:20000        10:41        26        58        #VALUE!        0       
        10412558:20000        10412558:20000        10:41        25        58        #VALUE!        0       
        10422558:20000        10422558:20000        10:42        25        58        #VALUE!        0       
        10422558:20000        10422558:20000        10:42        25        58        #VALUE!        0       
        10422558:20000        10422558:20000        10:42        25        58        #VALUE!        0       
        10422558:20000        10422558:20000        10:42        25        58        #VALUE!        0       
        1.04226E+13        10422558520000        10:42        25        58        52        0       
        1.04226E+13        10422558520000        10:42        25        58        52        0


        1.05128E+13        10512759500000        10:51        27        59        50        0       
        1.05128E+13        10512759500000        10:51        27        59        50        0       
        1.05128E+13        10512759500000        10:51        27        59        50        0       
        1.05127E+13        10512659500000        10:51        26        59        50        0       
        10512659:50008        10512659:50008        10:51        26        59        #VALUE!        8       
        10512258:50000        10512258:50000        10:51        22        58        #VALUE!        0       
        10512258:50000        10512258:50000        10:51        22        58        #VALUE!        0       
        10522258:50000        10522258:50000        10:52        22        58        #VALUE!        0       
        10522257:50000        10522257:50000        10:52        22        57        #VALUE!        0       
        10522257:50000        10522257:50000        10:52        22        57        #VALUE!        0       
        1.05223E+13        10522258520000        10:52        22        58        52        0       
        1.05223E+13        10522257520000        10:52        22        57        52        0       
        1.05223E+13        10522258520000        10:52        22        58        52        0       
        1.05223E+13        10522257520000        10:52        22        57        52        0       
        1.05223E+13        10522257520000        10:52        22        57        52        0       

       


这里的是已超过两位数温度值了,这是为什么呢?

clee 发表于 2013-7-3 10:33:33

人工顶起,寻求帮助!
页: [1]
查看完整版本: 关于PIC1824 读18b20温度程序