📄 calcula_tetemperature.asm
字号:
;;****************************
; ROM 244
; RAM 7BYTE,1BIT, R_TEMP[0,1,2,4,5,6,7]
; STACK 1
; WDT ENABLE
; TIMER 0
; INTERRUPT 0
; PORT 1
; INPUT 1
; OUTPUT 0
;MAXRUNTIMER:1531CYCLE (4MHZ)
;;****************************
ORG 700H
TEMPERATURETABLE. SECTION PAGE 'CODE'
SBR_MAN_AVG:
CLR F2_500MS
MOV A,8
MOV R_TEMP[4],A
CLR R_TEMP[5]
CLR R_TEMP[6]
CLR R_TEMP[7]
L_MAN_AVG:
MOV A,01H
MOV ACSR,A
MOV A,08H ;;only ch1 a/d
MOV ADCR,A
CALL SBR_MAN
MOV A,R_TEMP[9]
ADDM A,R_TEMP[5]
MOV A,R_TEMP[8]
ADCM A,R_TEMP[6]
MOV A,0
ADCM A,R_TEMP[7]
SDZ R_TEMP[4]
JMP L_MAN_AVG
;-------------------
; 8 timers average
RRC R_TEMP[7]
RRC R_TEMP[6]
RRC R_TEMP[5]
RRC R_TEMP[7]
RRC R_TEMP[6]
RRC R_TEMP[5]
RRC R_TEMP[7]
RRC R_TEMP[6]
RRC R_TEMP[5]
;-----------------------
;;the result is follow:
MOV A,R_TEMP[6]
SUB A,0F0H
SZ C
JMP L_SENSER_OPEN_OR_SHORT ;;OPEN
MOV A,R_TEMP[6]
SUB A,010H
SNZ C
JMP L_SENSER_OPEN_OR_SHORT ;;SHORT
MOV A,R_TEMP[6]
SUB A,2AH
SNZ C
JMP L_OVER85C ;;>85C
MOV A,R_TEMP[6]
SUB A,2AH
ADD A,LOW T_RT_TABLE
MOV TBLP,A
TABRDC R_TEMP[2]
CLR F_OVER85C
CLR F_TEMPERATURE_EEOR
RET
L_SENSER_OPEN_OR_SHORT :
MOV A,0A4H
JMP L_DELDATA
L_OVER85C:
SET F_OVER85C
MOV A,0A5H
L_DELDATA:
MOV R_TEMP[2],A
SET F_TEMPERATURE_EEOR
RET
SBR_MAN:
NOP
NOP
CLR ADCR.7
SET ADCR.7 ; RESET ADC
CLR ADCR.7
SZ ADCR.6
JMP $-1
MOV A,ADRH
MOV R_TEMP[8],A
MOV A,ADRL
MOV R_TEMP[9],A ;;TEMP[8]=TEMP[0] TEMP[9]=TEMP[1]
MOV A,11000111B
ANDM A,ADCR ; DISABLE ADC
RET
T_RT_TABLE:
DC 2A84H,2B83H,2C82H,2D81H,2E80H,2F80H,3079H,3178H,3278H,3377H
DC 3476H,3575H,3675H,3774H,3873H,3973H,3A72H,3B71H,3C70H,3D70H
DC 3E69H,3F69H,4068H,4168H,4267H,4367H,4466H,4565H,4565H,4665H
DC 4764H,4864H,4963H,4A63H,4B62H,4C62H,4D61H,4E61H,4F60H,5060H
DC 5159H,5259H,5358H,5458H,5557H,5657H,5756H,5856H,5955H,5A55H
DC 5B54H,5C54H,5D53H,5E53H,5F53H,6052H,6152H,6351H,6451H,6550H
DC 6650H,6749H,6849H,6948H,6A48H,6B48H,6C47H,6D47H,6E46H,6F46H
DC 7045H,7145H,7245H,7344H,7444H,7543H,7643H,7743H,7842H,7942H
DC 7A42H,7B41H,7C41H,7D40H,7E40H,7F40H,8039H,8139H,8238H,8338H
DC 8438H,8537H,8637H,8736H,8836H,8936H,8A35H,8B35H,8C35H,8D34H
DC 8E34H,8F33H,9033H,9133H,9232H,9332H,9432H,9531H,9631H,9730H
DC 9830H,9930H,9A29H,9B29H,9C28H,9D28H,9E28H,9F27H,0A027H,0A126H
DC 0A226H,0A326H,0A425H,0A525H,0A624H,0A724H,0A824H,0A923H,0AA23H
DC 0AB23H,0AC22H,0AD22H,0AE21H,0AF21H,0B020H,0B120H,0B220H,0B319H
DC 0B419H,0B518H,08618H,0B717H,0B817H,0B917H,0BA16H,0BB16H,0BC15H
DC 0BD15H,0BE14H,0BF14H,0C013H,0C113H,0C213H,0C312H,0C412H,0C511H
DC 0C611H,0C710H,0C810H,0C909H,0CA09H,0CB08H,0CC08H,0CD07H,0CE07H
DC 0CF06H,0D006H,0D106H,0D205H,0D305H,0D404H,0D504H,0D603H,0D703H
DC 0D802H,0D902H,0DA01H,0DB01H,0DC01H,0DD00H,0DE00H,0DF00H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -