Rev. 2.50 180 June 22, 2017 Rev. 2.50 181 June 22, 2017
HT66F20/HT66F30/HT66F40/HT66F50/HT66F60
HT66FU30/HT66FU40/HT66FU50/HT66FU60
A/D Flash MCU with EEPROM
HT66F20/HT66F30/HT66F40/HT66F50/HT66F60
HT66FU30/HT66FU40/HT66FU50/HT66FU60
A/D Flash MCU with EEPROM
Example: using the interrupt method to detect the end of conversion
clr ADE ; disable ADC interrupt
mov a,03H
movADCR1,a ;selectf
SYS/
8asA/Dclockandswitchoff1.25V
ClrADOFF
mova,0Fh ;setupACERLandACERHtocongurepinsAN0~AN3
movACERL,a
mov a,00h
movACERH,00h ;ACERHisonlyforHT66F60
mov a,00h
movADCR0,a ;enableandconnectAN0channeltoA/Dconverter
Start_conversion:
clrSTART ;highpulseonSTARTbittoinitiateconversion
setSTART ;resetA/D
clrSTART ;startA/D
clrADF ;clearADCinterruptrequestag
set ADE ; enable ADC interrupt
setEMI ;enableglobalinterrupt
:
:
; ADC interrupt service routine
ADC_ISR:
movacc_stack,a ;saveACCtouserdenedmemory
mova,STATUS
movstatus_stack,a ;saveSTATUStouserdenedmemory
:
:
mova,ADRL ;readlowbyteconversionresultvalue
movadrl_buffer,a ;saveresulttouserdenedregister
mova,ADRH ;readhighbyteconversionresultvalue
movadrh_buffer,a ;saveresulttouserdenedregister
:
:
EXIT_INT_ISR:
mova,status_stack
movSTATUS,a ;restoreSTATUSfromuserdenedmemory
mova,acc_stack ;restoreACCfromuserdenedmemory
reti