📄 idwracadc.asm
字号:
; NAME A_Dcvrt
;========================================================================
;************************************************************************
;* Module Name: EL001ADC *
;* Function: ad convert 3 channel *
;* Input: *
;* Output: D_TMPinP,D_TMProom *
;* Break: A,B,HL *
;* stack: *
;************************************************************************
; History:
;
;------------------------------------------------------------------------
; $include (LT0219sym.INC)
; $include (LT0219RAM.INC)
; CSEG
;========================================================================
; PUBLIC ADcvrt
;===================================
; A/D PROGRAM
;===================================
ADcvrt:
BT ADIF0 , $ADCON00
RET
ADCON00:
CLR1 ADIF0
CLR1 ADCS0
MOVW AX,ADCR0
CP D_ADtimes,#6
JRNE ADcvtr1
DEC D_ADtimes
LD D_ADmin,A
CLR D_ADbuf
CLR D_ADbuf+1
JP ADCONRT
ADcvtr1:
CP D_ADtimes,#5
JRNE ADcvtr2
DEC D_ADtimes
CP A,D_ADmin
JRUGE ADcvrt11
LD X,A
LD A,D_ADmin
XCH A,X
LD D_ADmin,A
XCH A,X
ADcvrt11:
LD D_ADmax,A
JP ADCONRT
ADcvtr2:
CP A,D_ADmin
JRUGE ADcvrt21
LD X,A
LD A,D_ADmin
XCH A,X
LD D_ADmin,A
XCH A,X
ADcvrt21:
CP A,D_ADmax
JRULT ADcvrt22
LD X,A
LD A,D_ADmin
XCH A,X
LD D_ADmin,A
XCH A,X
ADcvrt22:
ADD A,D_ADbuf
LD D_ADbuf,A
LD A,#0
ADC A,D_ADbuf+1
LD D_ADbuf+1,A
;------------------------------------------------------------------------
DEC D_ADtimes
CP D_ADtimes,#0
JREQ $+2+3
JP ADCONRT
LD D_ADtimes,#6
;------------------------------------------------------------------------
RCF
LD A,D_ADbuf+1
RRC A
LD D_ADbuf+1,A
LD A,D_ADbuf
RRC A
LD D_ADbuf,A
LD A,D_ADbuf+1
RRC A
LD D_ADbuf+1,A
LD A,D_ADbuf
RRC A
LD D_ADbuf,A
;========================================================================
ADCON101:
CMP D_ADch , #00H
BZ $ADCON10R
CMP D_ADch , #01H
BZ $ADCON20
CMP D_ADch , #02H
BZ $ADCON30
BR ADCON40
ADCON10R:
MOV A , D_ADbuf
MOV D_ADroom , A
CMP A , #0BH
BC $ADCON12
CMP A,#0F0H
BNC $ADCON12
CLR1 f_ERRTrm
BR ADCON13
ADCON12:
SET1 f_ERRTrm
MOV A,#n_TMPdsp+120
MOV D_ADroom,A
ADCON13:
CLR1 ADIF0
MOV D_ADch , #01H
MOV ADS0 , #01H
SET1 ADCS0 ;start ad convert
BR ADCONRT
ADCON20:
MOV A , D_ADbuf
MOV D_ADinP , A
CMP A , #0BH
BC $ADCON200
CMP A,#0F0H
BNC $ADCON200
CLR1 f_ERRTinP
BR ADCON201
ADCON200:
SET1 f_ERRTinP ;temp error ->f_ERR0
MOV A,#n_TMPdsp+120
MOV D_ADinP,A
ADCON201:
CLR1 ADIF0
MOV D_ADch , #02H
MOV ADS0 , #02H
SET1 ADCS0 ;start ad convert
BR ADCONRT
ADCON30:
MOV A , D_ADbuf
MOV D_ADoutR , A
CMP A , #0BH
BC $ADCON300
CMP A,#0F0H
BNC $ADCON300
CLR1 f_ERRoutR
BR ADCON301
ADCON300:
SET1 f_ERRoutR
MOV A,#n_TMPdsp+120
MOV D_ADoutR,A
ADCON301:
CLR1 ADIF0
MOV D_ADch , #03H
MOV ADS0 , #03H
SET1 ADCS0 ;start ad convert
BR ADCONRT
ADCON40:
MOV A , D_ADbuf
MOV D_ADoutP , A
CMP A , #0BH
BC $ADCON400
CMP A,#0F0H
BNC $ADCON400
CLR1 f_ERRTdef
BR ADCON401
ADCON400:
SET1 f_ERRTdef
MOV A,#n_TMPdsp+120
MOV D_ADoutP,A
ADCON401:
CLR1 ADIF0
MOV D_ADch , #00H
MOV ADS0 , #00H
SET1 ADCS0 ;start ad convert
BR ADCONRT
ADCONRT:
SET1 ADCS0
CALL !ADSTAB
RET
;========================================================================
ADintit0:
CLR1 ADIF0
MOV D_ADch , #00H
MOV ADS0 , #00H
SET1 ADCS0 ;start ad convert
RET
;================================
; A/D convert control
;================================
ADSTAB:
BF f_AD1s,$SKIPadROOM
CLR1 f_AD1s
MOV A , D_ADroom
CALL !TEMPTAB
MOV D_TMPrm , A
SKIPadROOM:
MOV A , D_ADinP
CALL !TEMPTAB
MOV D_TMPinP , A
MOV A , D_ADoutP
CALL !TEMPTAB
MOV D_TMPdef , A
MOV A , D_ADoutR
CALL !TEMPTAB
MOV D_TMPor , A
RET
;************************************************************************
;************************************************************************
TEMPTAB:
XCH A,X
XOR A,A
ADDW AX,#Temp_Tab
MOVW HL,AX
MOV A,[HL]
RET
;温度 A/D
;========================================================================
; degree F table 20k
;========================================================================
; 采样值
;格力15k/15k A/D
Temp_Tab:
; db 温度-f ;tab
db n_TMPdsp+0 ;0
db n_TMPdsp+0 ;1
db n_TMPdsp+0 ;2
db n_TMPdsp+0 ;3
db n_TMPdsp+0 ;4
db n_TMPdsp+0 ;5
db n_TMPdsp+0 ;6
db n_TMPdsp+0 ;7
db n_TMPdsp+0 ;8
db n_TMPdsp+0 ;9
db n_TMPdsp+0 ;10
db n_TMPdsp+0 ;11
db n_TMPdsp+0 ;12
db n_TMPdsp+0 ;13
db n_TMPdsp+0 ;14
db n_TMPdsp+0 ;15
db n_TMPdsp+0 ;16
db n_TMPdsp+0 ;17
db n_TMPdsp+0 ;18
db n_TMPdsp+0 ;19
db n_TMPdsp+0 ;20
db n_TMPdsp+0 ;21
db n_TMPdsp+0 ;22
db n_TMPdsp+0 ;23
db n_TMPdsp+0 ;24
db n_TMPdsp+0 ; 25
db n_TMPdsp+0 ; 26
db n_TMPdsp+1 ; 27
db n_TMPdsp+1 ; 28
db n_TMPdsp+3 ; 29
db n_TMPdsp+5 ; 30
db n_TMPdsp+5 ; 31
db n_TMPdsp+7 ; 32
db n_TMPdsp+9 ; 33
db n_TMPdsp+9 ; 34
db n_TMPdsp+10 ; 35
db n_TMPdsp+10 ; 36
db n_TMPdsp+12 ; 37
db n_TMPdsp+14 ; 38
db n_TMPdsp+14 ; 39
db n_TMPdsp+16 ; 40
db n_TMPdsp+16 ; 41
db n_TMPdsp+18 ; 42
db n_TMPdsp+18 ; 43
db n_TMPdsp+19 ; 44
db n_TMPdsp+19 ; 45
db n_TMPdsp+21 ; 46
db n_TMPdsp+21 ; 47
db n_TMPdsp+23 ; 48
db n_TMPdsp+23 ; 49
db n_TMPdsp+25 ; 50
db n_TMPdsp+25 ; 51
db n_TMPdsp+27 ; 52
db n_TMPdsp+27 ; 53
db n_TMPdsp+28 ; 54
db n_TMPdsp+28 ; 55
db n_TMPdsp+28 ; 56
db n_TMPdsp+30 ; 57
db n_TMPdsp+30 ; 58
db n_TMPdsp+32 ; 59
db n_TMPdsp+32 ; 60
db n_TMPdsp+34 ; 61
db n_TMPdsp+34 ; 62
db n_TMPdsp+34 ; 63
db n_TMPdsp+36 ; 64
db n_TMPdsp+36 ; 65
db n_TMPdsp+37 ; 66
db n_TMPdsp+37 ; 67
db n_TMPdsp+37 ; 68
db n_TMPdsp+39 ; 69
db n_TMPdsp+39 ; 70
db n_TMPdsp+41 ; 71
db n_TMPdsp+41 ; 72
db n_TMPdsp+41 ; 73
db n_TMPdsp+43 ; 74
db n_TMPdsp+43 ; 75
db n_TMPdsp+45 ; 76
db n_TMPdsp+45 ; 77
db n_TMPdsp+45 ; 78
db n_TMPdsp+46 ; 79
db n_TMPdsp+46 ; 80
db n_TMPdsp+46 ; 81
db n_TMPdsp+48 ; 82
db n_TMPdsp+48 ; 83
db n_TMPdsp+48 ; 84
db n_TMPdsp+50 ; 85
db n_TMPdsp+50 ; 86
db n_TMPdsp+52 ; 87
db n_TMPdsp+52 ; 88
db n_TMPdsp+52 ; 89
db n_TMPdsp+54 ; 90
db n_TMPdsp+54 ; 91
db n_TMPdsp+54 ; 92
db n_TMPdsp+55 ; 93
db n_TMPdsp+55 ; 94
db n_TMPdsp+55 ; 95
db n_TMPdsp+57 ; 96
db n_TMPdsp+57 ; 97
db n_TMPdsp+59 ; 98
db n_TMPdsp+59 ; 99
db n_TMPdsp+59 ; 100
db n_TMPdsp+61 ; 101
db n_TMPdsp+61 ; 102
db n_TMPdsp+61 ; 103
db n_TMPdsp+63 ; 104
db n_TMPdsp+63 ; 105
db n_TMPdsp+63 ; 106
db n_TMPdsp+64 ; 107
db n_TMPdsp+64 ; 108
db n_TMPdsp+64 ; 109
db n_TMPdsp+66 ; 110
db n_TMPdsp+66 ; 111
db n_TMPdsp+66 ; 112
db n_TMPdsp+68 ; 113
db n_TMPdsp+68 ; 114
db n_TMPdsp+68 ; 115
db n_TMPdsp+70 ; 116
db n_TMPdsp+70 ; 117
db n_TMPdsp+72 ; 118
db n_TMPdsp+72 ; 119
db n_TMPdsp+72 ; 120
db n_TMPdsp+73 ; 121
db n_TMPdsp+73 ; 122
db n_TMPdsp+73 ; 123
db n_TMPdsp+75 ; 124
db n_TMPdsp+75 ; 125
db n_TMPdsp+75 ; 126
db n_TMPdsp+77 ; 127
db n_TMPdsp+77 ; 128
db n_TMPdsp+77 ; 129
db n_TMPdsp+79 ; 130
db n_TMPdsp+79 ; 131
db n_TMPdsp+79 ; 132
db n_TMPdsp+81 ; 133
db n_TMPdsp+81 ; 134
db n_TMPdsp+82 ; 135
db n_TMPdsp+82 ; 136
db n_TMPdsp+82 ; 137
db n_TMPdsp+84 ; 138
db n_TMPdsp+84 ; 139
db n_TMPdsp+84 ; 140
db n_TMPdsp+86 ; 141
db n_TMPdsp+86 ; 142
db n_TMPdsp+86 ; 143
db n_TMPdsp+88 ; 144
db n_TMPdsp+88 ; 145
db n_TMPdsp+90 ; 146
db n_TMPdsp+90 ; 147
db n_TMPdsp+90 ; 148
db n_TMPdsp+91 ; 149
db n_TMPdsp+91 ; 150
db n_TMPdsp+93 ; 151
db n_TMPdsp+93 ; 152
db n_TMPdsp+93 ; 153
db n_TMPdsp+95 ; 154
db n_TMPdsp+95 ; 155
db n_TMPdsp+97 ; 156
db n_TMPdsp+97 ; 157
db n_TMPdsp+97 ; 158
db n_TMPdsp+99 ; 159
db n_TMPdsp+99 ; 160
db n_TMPdsp+100 ; 161
db n_TMPdsp+100 ; 162
db n_TMPdsp+100 ; 163
db n_TMPdsp+102 ; 164
db n_TMPdsp+102 ; 165
db n_TMPdsp+104 ; 166
db n_TMPdsp+104 ; 167
db n_TMPdsp+104 ; 168
db n_TMPdsp+106 ; 169
db n_TMPdsp+106 ; 170
db n_TMPdsp+108 ; 171
db n_TMPdsp+108 ; 172
db n_TMPdsp+109 ; 173
db n_TMPdsp+109 ; 174
db n_TMPdsp+111 ; 175
db n_TMPdsp+111 ; 176
db n_TMPdsp+113 ; 177
db n_TMPdsp+113 ; 178
db n_TMPdsp+115 ; 179
db n_TMPdsp+115 ; 180
db n_TMPdsp+115 ; 181
db n_TMPdsp+117 ; 182
db n_TMPdsp+117 ; 183
db n_TMPdsp+118 ; 184
db n_TMPdsp+118 ; 185
db n_TMPdsp+120 ; 186
db n_TMPdsp+122 ; 187
db n_TMPdsp+122 ; 188
db n_TMPdsp+124 ; 189
db n_TMPdsp+124 ; 190
db n_TMPdsp+126 ; 191
db n_TMPdsp+126 ; 192
db n_TMPdsp+127 ; 193
db n_TMPdsp+127 ; 194
db n_TMPdsp+129 ; 195
db n_TMPdsp+131 ; 196
db n_TMPdsp+131 ; 197
db n_TMPdsp+133 ; 198
db n_TMPdsp+133 ; 199
db n_TMPdsp+135 ; 200
db n_TMPdsp+136 ; 201
db n_TMPdsp+136 ; 202
db n_TMPdsp+138 ; 203
db n_TMPdsp+140 ; 204
db n_TMPdsp+140 ; 205
db n_TMPdsp+142 ; 206
db n_TMPdsp+144 ; 207
db n_TMPdsp+145 ; 208
db n_TMPdsp+145 ; 209
db n_TMPdsp+147 ; 210
db n_TMPdsp+149 ; 211
db n_TMPdsp+151 ; 212
db n_TMPdsp+151 ; 213
db n_TMPdsp+153 ; 214
db n_TMPdsp+154 ; 215
db n_TMPdsp+156 ; 216
db n_TMPdsp+158 ; 217
db n_TMPdsp+160 ; 218
db n_TMPdsp+162 ; 219
db n_TMPdsp+163 ; 220
db n_TMPdsp+165 ; 221
db n_TMPdsp+167 ; 222
db n_TMPdsp+169 ; 223
db n_TMPdsp+171 ; 224
db n_TMPdsp+172 ; 225
db n_TMPdsp+174 ; 226
db n_TMPdsp+178 ; 227
db n_TMPdsp+180 ; 228
db n_TMPdsp+181 ; 229
db n_TMPdsp+185 ; 230
db n_TMPdsp+187 ; 231
db n_TMPdsp+190 ; 232
db n_TMPdsp+192 ; 233
db n_TMPdsp+196 ; 234
db n_TMPdsp+199 ; 235
db n_TMPdsp+203 ; 236
db n_TMPdsp+207 ; 237
db n_TMPdsp+208 ; 238
db n_TMPdsp+208 ; 239
db n_TMPdsp+208 ; 240
db n_TMPdsp+208 ; 241
db n_TMPdsp+208 ; 242
db n_TMPdsp+208 ; 243
db n_TMPdsp+208 ; 244
db n_TMPdsp+208 ; 245
db n_TMPdsp+208 ; 246
db n_TMPdsp+208 ; 247
db n_TMPdsp+208 ; 248
db n_TMPdsp+208 ; 249
db n_TMPdsp+208 ; 250
db n_TMPdsp+208 ; 251
db n_TMPdsp+208 ; 252
db n_TMPdsp+208 ; 253
db n_TMPdsp+208 ; 254
db n_TMPdsp+208 ; 255
;************************************************************************
; ad 值 0:自动测试 192:单冷 170:电热 127:热泵
;************************************************************************
TYPEsel:
cmp C_RES2s,#0
BEQ noSELtime
; call !SCAN164
MOV A,D_KEYin1
ROLC A,1
BC $$+2+3
SET1 f_SPD60
ROLC A,1
BC $$+2+3
SET1 f_DEGREEf
ROLC A,1
BC $$+2+3
SET1 f_GOODman
noSELtime:
RET
;f_GOODman equ D_TYPEsel.0 ;0- indea type 1- good man
;f_DEGREEf EQU D_TYPEsel.1 ;0- C degree 1- F degree
;f_SPD60 EQU D_TYPEsel.2 ;0- NO FAST 1- FAST TEST
;f_COOLonly equ D_TYPEsel.3 ;0- heat pump 1- cool only
;========================================================================
;========================================================================
; end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -