Вс сен 24, 2023 11:45:17
Вс сен 24, 2023 12:59:39
Пн сен 25, 2023 09:29:44
Чт сен 28, 2023 22:10:38
Пт сен 29, 2023 00:33:49
Пт сен 29, 2023 01:05:51
Пт сен 29, 2023 04:33:33
Пт сен 29, 2023 09:58:11
Пт сен 29, 2023 12:09:54
Пт сен 29, 2023 12:16:40
Пт сен 29, 2023 12:20:40
Пт сен 29, 2023 12:25:37
Пт сен 29, 2023 13:03:42
void CalcTemperature(void) {
uint16_t resADC;
uint8_t i;
uint8_t tempCurr;
int16_t tempFIR=0;
static uint8_t index=0;
if(!flag.tempSensReady) return;
flag.tempSensReady=0;
resADC=(uint16_t)ADRESL+((uint16_t)ADRESH<<8);
tempCurr=(int8_t)((((((__int24)resADC*gainTempSens)/256)+offsetTempSens)/10)-8);
arrayTemp[index]=tempCurr;
index=(index+1)&0x7F;
for(i=0;i<128;i++) tempFIR+=(int16_t)arrayTemp[i];
temperature=(int8_t)(tempFIR>>7);
ADCON0bits.GO=1;
}
199: void CalcTemperature(void) {
200:
201: uint16_t resADC;
202: uint8_t i;
203: uint8_t tempCurr;
204: int16_t tempFIR=0;
5844 0E00 MOVLW 0x0
5846 0105 MOVLB 0x5
5848 6FD5 MOVWF CLCSELECT, BANKED
584A 0E00 MOVLW 0x0
584C 6FD4 MOVWF CLCDATA, BANKED
205: static uint8_t index=0;
206:
207: if(!flag.tempSensReady) return;
584E BA19 BTFSC 0x19, 5, ACCESS
5850 EF2C GOTO 0x5858
5852 F02C NOP
5854 EF2E GOTO 0x585C
5856 F02C NOP
5858 EF30 GOTO 0x5860
585A F02C NOP
585C EFC4 GOTO 0x5988
585E F02C NOP
208: flag.tempSensReady=0;
5860 9A19 BCF 0x19, 5, ACCESS
209: resADC=(uint16_t)ADRESL+((uint16_t)ADRESH<<8);
5862 0103 MOVLB 0x3
5864 51EB MOVF DMAnDCNTH, W, BANKED
5866 6E4B MOVWF HLVDCON1, ACCESS
5868 51EA MOVF DMAnDCNT, W, BANKED
586A 0105 MOVLB 0x5
586C 6FD1 MOVWF 0xD1, BANKED
586E C54B MOVFF 0x54B, 0x5D2
5870 F5D2 NOP
210: tempCurr=(int8_t)((((((__int24)resADC*gainTempSens)/256)+offsetTempSens)/10)-8);
5872 0E2E MOVLW 0x2E
5874 6EF6 MOVWF 0xFF6, ACCESS
5876 0E00 MOVLW 0x0
5878 6EF7 MOVWF 0xFF7, ACCESS
587A 0E2C MOVLW 0x2C
587C 6EF8 MOVWF 0xFF8, ACCESS
587E 0009 TBLRD*+
5882 F3D4 NOP
5884 F54B NOP
5886 0009 TBLRD*+
588A F3D4 NOP
588C F54C NOP
588E 0E00 MOVLW 0x0
5890 6E43 MOVWF NVMADR, ACCESS
5892 0E01 MOVLW 0x1
5894 6E44 MOVWF NVMADRH, ACCESS
5896 0E00 MOVLW 0x0
5898 6E45 MOVWF NVMADRU, ACCESS
589A 0E2A MOVLW 0x2A
589C 6EF6 MOVWF 0xFF6, ACCESS
589E 0E00 MOVLW 0x0
58A0 6EF7 MOVWF 0xFF7, ACCESS
58A2 0E2C MOVLW 0x2C
58A4 6EF8 MOVWF 0xFF8, ACCESS
58A6 0009 TBLRD*+
58AA F3D4 NOP
58AC F54D NOP
58AE 0009 TBLRD*+
58B2 F3D4 NOP
58B4 F54E NOP
58B6 C54D MOVFF 0x54D, multiplicand
58B8 F53A NOP
58BA C54E MOVFF 0x54E, counter
58BC F53B NOP
58BE 6A3C CLRF 0x3C, ACCESS
58C0 BE3B BTFSC 0x3B, 7, ACCESS
58C2 063C DECF 0x3C, F, ACCESS
58C4 C5D1 MOVFF resADC, dividend
58C6 F537 NOP
58C8 C5D2 MOVFF 0x5D2, key
58CA F538 NOP
58CC 6A39 CLRF CLKRCON, ACCESS
58CE EC08 CALL 0x6810, 0
58D0 F034 NOP
58D2 C537 MOVFF dividend, dividend
58D4 F540 NOP
58D6 C538 MOVFF key, 0x541
58D8 F541 NOP
58DA C539 MOVFF divisor, 0x542
58DC F542 NOP
58DE EC3A CALL 0x5C74, 0
58E0 F02E NOP
58E2 504B MOVF HLVDCON1, W, ACCESS
58E4 2440 ADDWF NVMCON0, W, ACCESS
58E6 0105 MOVLB 0x5
58E8 6FCE MOVWF 0xCE, BANKED
58EA 504C MOVF ZCDCON, W, ACCESS
58EC 2041 ADDWFC NVMCON1, W, ACCESS
58EE 6FCF MOVWF 0xCF, BANKED
58F0 0E00 MOVLW 0x0
58F2 BE4C BTFSC ZCDCON, 7, ACCESS
58F4 0EFF MOVLW 0xFF
58F6 2042 ADDWFC NVMLOCK, W, ACCESS
58F8 6FD0 MOVWF 0xD0, BANKED
58FA C5CE MOVFF __pcstackBANK5, dividend
58FC F540 NOP
58FE C5CF MOVFF 0x5CF, 0x541
5900 F541 NOP
5902 C5D0 MOVFF tempFreqMode, 0x542
5904 F542 NOP
5906 0E0A MOVLW 0xA
5908 6E43 MOVWF NVMADR, ACCESS
590A 0E00 MOVLW 0x0
590C 6E44 MOVWF NVMADRH, ACCESS
590E 0E00 MOVLW 0x0
5910 6E45 MOVWF NVMADRU, ACCESS
5912 EC3A CALL 0x5C74, 0
5914 F02E NOP
5916 5040 MOVF NVMCON0, W, ACCESS
5918 0FF8 ADDLW 0xF8
591A 0105 MOVLB 0x5
591C 6FD3 MOVWF 0xD3, BANKED
213: arrayTemp[index]=tempCurr;
591E 0E00 MOVLW 0x0
5920 2412 ADDWF 0x12, W, ACCESS
5922 6ED9 MOVWF 0xFD9, ACCESS
5924 6ADA CLRF 0xFDA, ACCESS
5926 0E08 MOVLW 0x8
5928 22DA ADDWFC 0xFDA, F, ACCESS
592C F74C NOP
592E F4DF NOP
214: index=(index+1)&0x7F;
5930 2812 INCF 0x12, W, ACCESS
5932 0B7F ANDLW 0x7F
5934 6E12 MOVWF 0x12, ACCESS
215: for(i=0;i<128;i++) tempFIR+=(int16_t)arrayTemp[i];
5936 0E00 MOVLW 0x0
5938 6FD6 MOVWF CLCnCON, BANKED
593A 0E00 MOVLW 0x0
593C 25D6 ADDWF CLCnCON, W, BANKED
593E 6ED9 MOVWF 0xFD9, ACCESS
5940 6ADA CLRF 0xFDA, ACCESS
5942 0E08 MOVLW 0x8
5944 22DA ADDWFC 0xFDA, F, ACCESS
5946 50DF MOVF 0xFDF, W, ACCESS
5948 6E4B MOVWF HLVDCON1, ACCESS
594A 504B MOVF HLVDCON1, W, ACCESS
594C 27D4 ADDWF CLCDATA, F, BANKED
594E 0E00 MOVLW 0x0
5950 BE4B BTFSC HLVDCON1, 7, ACCESS
5952 0EFF MOVLW 0xFF
5954 23D5 ADDWFC CLCSELECT, F, BANKED
5956 2BD6 INCF CLCnCON, F, BANKED
5958 0E7F MOVLW 0x7F
595A 65D6 CPFSGT CLCnCON, BANKED
595C EFB2 GOTO 0x5964
595E F02C NOP
5960 EFB4 GOTO 0x5968
5962 F02C NOP
5964 EF9D GOTO 0x593A
5966 F02C NOP
216: temperature=(int8_t)(tempFIR>>7);
5968 C5D4 MOVFF tempFIR, 0x54B
596A F54B NOP
596C C5D5 MOVFF 0x5D5, 0x54C
596E F54C NOP
5970 0E07 MOVLW 0x7
5972 6E4D MOVWF 0x4D, ACCESS
5974 344C RLCF ZCDCON, W, ACCESS
5976 324C RRCF ZCDCON, F, ACCESS
5978 324B RRCF HLVDCON1, F, ACCESS
597A 2E4D DECFSZ 0x4D, F, ACCESS
597C EFBA GOTO 0x5974
597E F02C NOP
5980 504B MOVF HLVDCON1, W, ACCESS
5982 6E2A MOVWF 0x2A, ACCESS
217:
218: ADCON0bits.GO=1;
5984 0103 MOVLB 0x3
5986 81F3 BSF DMAnSCNTH, 0, BANKED
219: }
5988 0012 RETURN 0
Пт сен 29, 2023 13:39:19
Пт окт 06, 2023 08:43:07
Пт окт 06, 2023 22:57:53
void CalcTemperature(void) {
uint16_t resADC;
uint8_t i;
uint8_t tempCurr;
int16_t tempFIR=0;
static uint8_t index=0;
if(!flag.tempSensReady) return;
flag.tempSensReady=0;
resADC=(uint16_t)ADRESL+((uint16_t)ADRESH<<8);
tempCurr=(int8_t)((((((__int24)resADC*gainTempSens)/256)+offsetTempSens)/10)-8);
arrayTemp[index]=tempCurr;
index=(index+1)&0x7F;
for(i=0;i<128;i++) tempFIR+=(int16_t)arrayTemp[i];
temperature=(int8_t)(tempFIR>>7);
ADCON0bits.GO=1;
}
199: void CalcTemperature(void) {
200:
201: uint16_t resADC;
202: uint8_t i;
203: uint8_t tempCurr;
204: int16_t tempFIR=0;
5844 0E00 MOVLW 0x0
5846 0105 MOVLB 0x5
5848 6FD5 MOVWF CLCSELECT, BANKED
584A 0E00 MOVLW 0x0
584C 6FD4 MOVWF CLCDATA, BANKED
205: static uint8_t index=0;
206:
207: if(!flag.tempSensReady) return;
584E BA19 BTFSC 0x19, 5, ACCESS
5850 EF2C GOTO 0x5858
5852 F02C NOP
5854 EF2E GOTO 0x585C
5856 F02C NOP
5858 EF30 GOTO 0x5860
585A F02C NOP
585C EFC4 GOTO 0x5988
585E F02C NOP
208: flag.tempSensReady=0;
5860 9A19 BCF 0x19, 5, ACCESS
209: resADC=(uint16_t)ADRESL+((uint16_t)ADRESH<<8);
5862 0103 MOVLB 0x3
5864 51EB MOVF DMAnDCNTH, W, BANKED
5866 6E4B MOVWF HLVDCON1, ACCESS
5868 51EA MOVF DMAnDCNT, W, BANKED
586A 0105 MOVLB 0x5
586C 6FD1 MOVWF 0xD1, BANKED
586E C54B MOVFF 0x54B, 0x5D2
5870 F5D2 NOP
210: tempCurr=(int8_t)((((((__int24)resADC*gainTempSens)/256)+offsetTempSens)/10)-8);
5872 0E2E MOVLW 0x2E
5874 6EF6 MOVWF 0xFF6, ACCESS
5876 0E00 MOVLW 0x0
5878 6EF7 MOVWF 0xFF7, ACCESS
587A 0E2C MOVLW 0x2C
587C 6EF8 MOVWF 0xFF8, ACCESS
587E 0009 TBLRD*+
5882 F3D4 NOP
5884 F54B NOP
5886 0009 TBLRD*+
588A F3D4 NOP
588C F54C NOP
588E 0E00 MOVLW 0x0
5890 6E43 MOVWF NVMADR, ACCESS
5892 0E01 MOVLW 0x1
5894 6E44 MOVWF NVMADRH, ACCESS
5896 0E00 MOVLW 0x0
5898 6E45 MOVWF NVMADRU, ACCESS
589A 0E2A MOVLW 0x2A
589C 6EF6 MOVWF 0xFF6, ACCESS
589E 0E00 MOVLW 0x0
58A0 6EF7 MOVWF 0xFF7, ACCESS
58A2 0E2C MOVLW 0x2C
58A4 6EF8 MOVWF 0xFF8, ACCESS
58A6 0009 TBLRD*+
58AA F3D4 NOP
58AC F54D NOP
58AE 0009 TBLRD*+
58B2 F3D4 NOP
58B4 F54E NOP
58B6 C54D MOVFF 0x54D, multiplicand
58B8 F53A NOP
58BA C54E MOVFF 0x54E, counter
58BC F53B NOP
58BE 6A3C CLRF 0x3C, ACCESS
58C0 BE3B BTFSC 0x3B, 7, ACCESS
58C2 063C DECF 0x3C, F, ACCESS
58C4 C5D1 MOVFF resADC, dividend
58C6 F537 NOP
58C8 C5D2 MOVFF 0x5D2, key
58CA F538 NOP
58CC 6A39 CLRF CLKRCON, ACCESS
58CE EC08 CALL 0x6810, 0
58D0 F034 NOP
58D2 C537 MOVFF dividend, dividend
58D4 F540 NOP
58D6 C538 MOVFF key, 0x541
58D8 F541 NOP
58DA C539 MOVFF divisor, 0x542
58DC F542 NOP
58DE EC3A CALL 0x5C74, 0
58E0 F02E NOP
58E2 504B MOVF HLVDCON1, W, ACCESS
58E4 2440 ADDWF NVMCON0, W, ACCESS
58E6 0105 MOVLB 0x5
58E8 6FCE MOVWF 0xCE, BANKED
58EA 504C MOVF ZCDCON, W, ACCESS
58EC 2041 ADDWFC NVMCON1, W, ACCESS
58EE 6FCF MOVWF 0xCF, BANKED
58F0 0E00 MOVLW 0x0
58F2 BE4C BTFSC ZCDCON, 7, ACCESS
58F4 0EFF MOVLW 0xFF
58F6 2042 ADDWFC NVMLOCK, W, ACCESS
58F8 6FD0 MOVWF 0xD0, BANKED
58FA C5CE MOVFF __pcstackBANK5, dividend
58FC F540 NOP
58FE C5CF MOVFF 0x5CF, 0x541
5900 F541 NOP
5902 C5D0 MOVFF tempFreqMode, 0x542
5904 F542 NOP
5906 0E0A MOVLW 0xA
5908 6E43 MOVWF NVMADR, ACCESS
590A 0E00 MOVLW 0x0
590C 6E44 MOVWF NVMADRH, ACCESS
590E 0E00 MOVLW 0x0
5910 6E45 MOVWF NVMADRU, ACCESS
5912 EC3A CALL 0x5C74, 0
5914 F02E NOP
5916 5040 MOVF NVMCON0, W, ACCESS
5918 0FF8 ADDLW 0xF8
591A 0105 MOVLB 0x5
591C 6FD3 MOVWF 0xD3, BANKED
213: arrayTemp[index]=tempCurr;
591E 0E00 MOVLW 0x0
5920 2412 ADDWF 0x12, W, ACCESS
5922 6ED9 MOVWF 0xFD9, ACCESS
5924 6ADA CLRF 0xFDA, ACCESS
5926 0E08 MOVLW 0x8
5928 22DA ADDWFC 0xFDA, F, ACCESS
592C F74C NOP
592E F4DF NOP
214: index=(index+1)&0x7F;
5930 2812 INCF 0x12, W, ACCESS
5932 0B7F ANDLW 0x7F
5934 6E12 MOVWF 0x12, ACCESS
215: for(i=0;i<128;i++) tempFIR+=(int16_t)arrayTemp[i];
5936 0E00 MOVLW 0x0
5938 6FD6 MOVWF CLCnCON, BANKED
593A 0E00 MOVLW 0x0
593C 25D6 ADDWF CLCnCON, W, BANKED
593E 6ED9 MOVWF 0xFD9, ACCESS
5940 6ADA CLRF 0xFDA, ACCESS
5942 0E08 MOVLW 0x8
5944 22DA ADDWFC 0xFDA, F, ACCESS
5946 50DF MOVF 0xFDF, W, ACCESS
5948 6E4B MOVWF HLVDCON1, ACCESS
594A 504B MOVF HLVDCON1, W, ACCESS
594C 27D4 ADDWF CLCDATA, F, BANKED
594E 0E00 MOVLW 0x0
5950 BE4B BTFSC HLVDCON1, 7, ACCESS
5952 0EFF MOVLW 0xFF
5954 23D5 ADDWFC CLCSELECT, F, BANKED
5956 2BD6 INCF CLCnCON, F, BANKED
5958 0E7F MOVLW 0x7F
595A 65D6 CPFSGT CLCnCON, BANKED
595C EFB2 GOTO 0x5964
595E F02C NOP
5960 EFB4 GOTO 0x5968
5962 F02C NOP
5964 EF9D GOTO 0x593A
5966 F02C NOP
216: temperature=(int8_t)(tempFIR>>7);
5968 C5D4 MOVFF tempFIR, 0x54B
596A F54B NOP
596C C5D5 MOVFF 0x5D5, 0x54C
596E F54C NOP
5970 0E07 MOVLW 0x7
5972 6E4D MOVWF 0x4D, ACCESS
5974 344C RLCF ZCDCON, W, ACCESS
5976 324C RRCF ZCDCON, F, ACCESS
5978 324B RRCF HLVDCON1, F, ACCESS
597A 2E4D DECFSZ 0x4D, F, ACCESS
597C EFBA GOTO 0x5974
597E F02C NOP
5980 504B MOVF HLVDCON1, W, ACCESS
5982 6E2A MOVWF 0x2A, ACCESS
217:
218: ADCON0bits.GO=1;
5984 0103 MOVLB 0x3
5986 81F3 BSF DMAnSCNTH, 0, BANKED
219: }
5988 0012 RETURN 0
Сб окт 07, 2023 01:10:47
Сб окт 07, 2023 02:06:52
Сб окт 07, 2023 05:25:56
resADC=(uint16_t)(ADRESL + ADRESH<<8);
Сб окт 07, 2023 07:54:37