EasyManua.ls Logo

STC micro STC8A8K64D4 Series - Page 525

Default Icon
901 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
STC8A8K64D4 Series Manual
- 509 -
F_Get_ADC10bitResult:
MOV ADC_RES,#0
MOV ADC_RESL,#0
MOV A,R7
ORL A,#0E8H ;Trigger ADC
MOV ADC_CONTR,A
NOP
NOP
NOP
NOP
L_10bitADC_Loop1:
MOV A,ADC_CONTR
JNB ACC.4,L_10bitADC_Loop1 ;Wait for the ADC conversion complement
MOV ADC_CONTR,#080H ;Clear flag
MOV A,ADC_RES
MOV B,#04H
MUL AB
MOV R7,A
MOV R6,B
MOV A,ADC_RESL
ANL A,#03H
ORL A,R7
MOV R7,A
RET
F_AutoZero: ; Call once every 250ms
; This is detected using the sum of the absolute values of the differences between two adjacent samples.
CLR A
MOV R5,A
L_AutoZero_Loop:
MOV A,R5
ADD A,ACC
ADD A,#LOW (adc)
MOV R0,A
MOV A,@R0
MOV R6,A
INC R0
MOV A,@R0
MOV R7,A
MOV A,R5
ADD A,ACC
ADD A,#LOW (adc_prev+01H)
MOV R0,A
CLR C
MOV A,R7
SUBB A,@R0
MOV R3,A
MOV A,R6
DEC R0
SUBB A,@R0
MOV R2,A
CLR F0 ;Push down
JNB ACC.7,L_AutoZero_1
SETB F0
CLR C
CLR A
SUBB A,R3
MOV R3,A

Table of Contents

Related product manuals