
Rev. 1.00
112
October 26, 2018
Rev. 1.00
113
October 26, 2018
BS86DH12C
High Voltage Touch A/D Flash MCU with HVIO
BS86DH12C
High Voltage Touch A/D Flash MCU with HVIO
Example: using the interrupt method to detect the end of conversion
clr
ADE
;
disable
ADC
interrupt
mov
a,03H ;
select
f
SYS
/8 as A/D clock
mov SADC1,a ; A/D input signal comes from external channel
; select VREF pin as A/D reference voltage source
mov a,80h
mov PAS0,a ; set PAS0 to configure pin VREF
mov a,02h
mov PAS1,a ; set PAS1 to configure pin AN0
mov a,20h
mov SADC0,a ; enable the A/D converter and connect AN0 channel to A/D converter
:
start_conversion:
clr START ; high pulse on START bit to initiate conversion
set START ; reset A/D
clr START ; start A/D
clr ADF ; clear ADC interrupt request flag
set
ADE
;
enable
ADC
interrupt
set EMI ; enable global interrupt
:
:
; ADC interrupt service routine
ADC_ISR:
mov acc_stack,a ; save ACC to user defined memory
mov a,STATUS
mov status_stack,a ; save STATUS to user defined memory
:
:
mov a,SADOL ; read low byte conversion result value
mov SADOL_buffer,a ; save result to user defined register
mov a,SADOH ; read high byte conversion result value
mov SADOH_buffer,a ; save result to user defined register
:
:
EXIT_INT_ISR:
mov a,status_stack
mov STATUS,a ; restore STATUS from user defined memory
mov a,acc_stack ; restore ACC from user defined memory
reti