/* Temperature data convert * void TEMCONV() { if(TEM_DATA[1]>127) { TEM_DATA[0] = (~TEM_DATA[0])+1; if((~TEM_DATA[0]) >= 0XFF) TEM_DATA[1] = (~TEM_DATA[1])+1; else TEM_DATA[1] = ~TEM_DATA[1]; TEM_SIGN = 1; } TEMP = TEM_DATA[0]&0X0F; TEM_DIS[0] = (TEMP * 10/16); TEMP = ((TEM_DATA[0]&0XF0 >> 4) | (TEM_DATA[1]&0X0F) << 4); TEM_DIS[3] = TEMP/100; TEMP = TEMP%100; TEM_DIS[2] = TEMP/10; TEM_DIS[1] = TEMP%10; if(!TEM_DIS[3]) { TEM_DIS[3] = 10; if(!TEM_DIS[2]) { TEM_DIS[2] = 10; } } } /* Display function * void DISPLAY() { P2 = SEG_DATA[TEM_DIS[0]]; P0 = 0X0D; //小數點位 MSDELAY(10); P2 = 0XFF; P0 = 0X0F; P2 = SEG_DATA[TEM_DIS[2]]; P0 = 0X0B; //十位 MSDELAY(10); P2 = 0XFF; P0 = 0X0F; P2 = SEG_DATA[TEM_DIS[1]]; P0 = 0X0E; //個位 MSDELAY(10); P2 = 0XFF; P0 = 0X0F; P2 = 0X7F; P0 = 0X0E; //小數點 MSDELAY(10); P2 = 0XFF; P0 = 0X0F; P2 = SEG_DATA[TEM_DIS[3]]; P0 = 0X07; //百位 MSDELAY(10); P2 = 0XFF; P0 = 0X0F; } 這是我的溫度數值轉換,你看看 |