📄 adcon1.inc
字号:
;*********************************************************
; Rewriter in 2000,5,20
; AD Converter Program
; Room Pipe Temp AN1
; Room_Temp AN0
; overcurrent AN2
; choose1 26/35---autokey AN3
; choose2 fast----cool/heat AN4
;---------------------------------------------------------
AD_Convert:
over_current:
[p3dir] = Initp3dir
LDM #00H,AD1
LDM #00H,AD2 ; bit7=0 10bit A_D
; bit7=1 8bit A_D
[ADCON] = COMPCurrentcon ; 2000.5.12
do
NOP
NOP
NOP
NOP
while [ADcomp] == 0
nop ;[AD2_buffer] =[AD2] & 00000011B
;CLC
[mCompILow] = [AD1] ;[mCompILow] = [mCompILow] + [AD1]
jsr Fun_CheckLowVoltage ;[mCompIhigh] = [mCompIhigh]+ [AD2_buffer] with_C;add zht 20070115
[ADcomp] = 0
choose1_temp:
LDM #00H,AD1
LDM #00H,AD2 ; bit7=0 10bit A_D
; bit7=1 8bit A_D
[ADCON] = choose1Con
do
NOP
NOP
NOP
NOP
while [ADcomp] == 0
[AD2_buffer] =[AD2] & 00000011B
CLC
[mchoose1Low] = [mchoose1Low] + [AD1]
[mchoose1high] = [mchoose1high]+ [AD2_buffer] with_C
[ADcomp] = 0
choose2_temp:
LDM #00H,AD1
LDM #00H,AD2 ; bit7=0 10bit A_D
; bit7=1 8bit A_D
[ADCON] = choose2Con
do
NOP
NOP
NOP
NOP
while [ADcomp] == 0
[AD2_buffer] =[AD2] & 00000011B
CLC
[mchoose2Low] = [mchoose2Low] + [AD1]
[mchoose2high] = [mchoose2high]+ [AD2_buffer] with_C
[ADcomp] = 0
room_temp:
LDM #00H,AD1
LDM #00H,AD2 ; bit7=0 10bit A_D
; bit7=1 8bit A_D
[ADCON] = RoomADCon ; 2000.5.12
do
NOP
NOP
NOP
NOP
while [ADcomp] == 0
[AD2_buffer] =[AD2] & 00000011B
CLC
[mRoomLow] =[mRoomLow] + [AD1]
[mRoomHigh] =[mRoomHigh] + [AD2_buffer] with_C
[ADcomp] = 0
;OPipe_Temp:
;LDM #00H,AD1
;LDM #00H,AD2
;[ADCON] = OPipeADCon
;do
;NOP
; NOP
; NOP
; NOP
; while [ADcomp] == 0
;[AD2_buffer] =[AD2] & 00000011B
;CLC
;[OmPipeLow] =[OmPipeLow] + [AD1]
;[OmPipeHigh]=[OmPipeHigh] + [AD2_buffer] with_C
;[ADcomp] = 0
Pipe_Temp:
LDM #00H,AD1
LDM #00H,AD2
[ADCON] = PipeADCon
do
NOP
NOP
NOP
NOP
while [ADcomp] == 0
[AD2_buffer] =[AD2] & 00000011B
CLC
[mPipeLow] =[mPipeLow] + [AD1]
[mPipeHigh]=[mPipeHigh] + [AD2_buffer] with_C
[ADcomp] = 0
INC AD_Count
ADCon_End:
if [AD_Count] >= 64
[m_RoomADval] = [mRoomHigh]
if [m_RoomADval] <= 254
if [mRoomLow] >= 80H
[m_RoomADval] = [m_RoomADval] + 1
endif
endif
[M_PipeTemp] = [mPipeHigh]
if [M_PipeTemp] <= 254
if [mPipeLow] >= 80H
INC M_PipeTemp
endif
endif
JSR ADCon_End1
[mCompCurr] = [mCompIhigh]
;LDM #00h,OmPipeHigh
;LDM #00h,OmPipeLow
LDM #00h,AD_Count
;****************************************
LDM #00h,mCompIhigh ;20050716
LDM #00h,mCompILow
;*****************************************
LDM #00h,mRoomHigh
ldm #00h,mRoomLow
Ldm #00h,mPipeHigh
Ldm #00h,mPipeLow
jsr AD_RoomTemp
jsr AD_PipeTemp
;jsr AD_OPipeTemp
SEB ADconend_flag
if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
if [b_sencerErrorGUAN] == 0 && [b_sencerErrorHUAN] == 0 ;20050913
jsr IntoDefrostCheck
endif
endif
endif
RTS
ADCon_End1:
[M_choose1Temp] = [mchoose1high]
[M_choose2Temp] = [mchoose2high]
if [M_choose2Temp]>=64H; 100
if [M_choose2Temp] <= 8CH; 140
[Fast_test] = 0
else
if [M_choose2Temp]>=0BEH; 190
[Fast_test] = 0 ;fast
else
[Fast_test] = 1
endif
endif
else
[Fast_test] = 1
endif
if [M_choose2Temp]>=8CH ;140
[sigercool] = 1 ;heat
else
[sigercool] = 0
endif
if [M_choose1Temp]>=64H ;100
if [M_choose1Temp] <= 8CH ;140
[Auto_keytemp] = 1
else
if [M_choose1Temp]>=0BEH ;190
[Auto_keytemp] = 1
else
[Auto_keytemp] = 0
endif
endif
else
[Auto_keytemp] = 0
endif
if [M_choose1Temp] >= 8CH ;140
[Type_electtemp] = 0
else
[Type_electtemp] = 1
endif
;[M_OPipeTemp] = [OmPipeHigh]
;if [OmPipeLow] >= 80H
;[M_OPipeTemp] = [M_OPipeTemp] + 1
;endif
LDM #00h,AD_Count
LDM #00h,mchoose1Low
LDM #00h,mchoose1high
LDM #00h,mchoose2Low
LDM #00h,mchoose2high
RTS
;****************************************************
; AD_RoomTemp Program For tempture M_RoomTemp
; For Display roomtem
;
;****************************************************
AD_RoomTemp:
if [m_RoomADval] < 3bh
[M_RoomTemp] = 0
jmp outroom
endif
if [m_RoomADval] > 0efH
[M_RoomTemp] = 99
jmp outroom
endif
ldx #00h
macher:
if [TempAD_Tab,x] < [m_RoomADval]
[A_D]=[m_RoomADval]-[TempAD_Tab,x]
inx
jmp macher
endif
[A_D]= [A_D] + [m_RoomADval]
if [TempAD_Tab,x] >= [A_D] && x >= 1
dex
endif
stx M_RoomTemp
[A_D] = [M_RoomTempsel] & 0F0h ;chen
LDA A_D
LSR A
LSR A
LSR A
LSR A
X = A
if A <= 6
[M_RoomHigh]=[HexToDEC_Tab,X]
[A_D] = [M_RoomTempsel] & 0Fh
SED
LDA A_D
CLC
ADC #00h
ADC M_RoomHigh
CLC
ADC #00h
STA M_DispRoomTemp
CLD
endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -