English
Language : 

HT46RB70_17 Datasheet, PDF (25/49 Pages) Holtek Semiconductor Inc – 48-pin SSOP
HT46RB70
例 2:用中断方法判断 A/D 转换是否完成。
clr
EADI
; 禁止A/D中断
mov a,00000001B
mov ACSR,a
; 设置ACSR寄存器,选择fSYS/8做为A/D转换时钟
mov a,00100000B
; 在ADCR寄存器中设置Port PB0~PB3做为A/D输入
mov ADCR,a
; 设置AN0进行A/D转换
:
:
:
; 当模拟通道选择位改变后,START信号(0-1-0)必须在10个
:
; 指令周期内发出
start_conversion:
clr
START
set
START
; A/D转换复位
clr
START
; 开始A/D转换
clr
ADF
; 清除AD中断请求标志
set
EADI
; 打开 A/D 中断
set
EMI
; 打开总中断
:
:
; 中断服务子程序
ADC_ISR:
mov acc_stack,a
; 将ACC保存到用户定义的寄存器中
mov a,STATUS
mov status_stack,a ; 将STATUS保存到用户定义的寄存器中
:
:
mov a,ADRH
; 从ADRH寄存器读取A/D转换结果的高位字节
mov adrh_buffer,a
; 将结果放入用户定义的寄存器中
mov a,ADRL
; 从ADRL寄存器读取A/D转换结果的低位字节
mov adrl_buffer,a
; 将结果放入用户定义的寄存器中
clr
START
set
START
; A/D转换复位
clr
START
; 开始A/D转换
:
:
EXIT_INT_ISR:
mov a,status_stack
mov STATUS,a
; 将STATUS从暂存器中读出
mov a,acc_stack
; 将ACC从暂存器中读出
reti
Rev. 1.40
25
2017-04-05