
HT66F0172/HT66F0174
增强的A / D闪存的8位MCU
A / D编程实例
下面举两个例子说明如何启动和实现A / D转换。
In the first example, the method of polling the EOCB bit in the ADCR0 register is used to detect
当转换周期已结束,而在第二个例子中,在A / D中断用于
确定何时转换完成。
例如:使用EOCB轮询方法侦测转换的结束
CLR ADE
;禁止ADC中断
MOV A , 03H
MOV ADCR1 ,一
; ,选择F
SYS
/ 8作为A / D时钟和关闭1.25V
CLR ADOFF
MOV A , FFH
;设置ACERL配置引脚AN0 AN7
MOV ACERL ,一
MOV A , 00H
MOV ADCR0 ,一
;启用和AN0通道连接到A / D转换器
:
:
Start_conversion :
CLR启动
设置开始
;复位A / D
CLR启动
;启动A / D
转换Polling_EOC :
SZ EOCB
;轮询ADCR0寄存器的EOC位来检测结束
;的A / D转换
JMP转换Polling_EOC
;继续投票
MOV A , ADRL
;读低字节转换结果值
MOV adrl_buffer ,一
;将结果放入用户定义的寄存器
MOV A , ADRH
;读高字节转换结果值
MOV adrh_buffer ,一
;将结果放入用户定义的寄存器
:
JMP start_conversion
;启动下一次A / D转换
注意:要关闭了ADC ,有必要设置ADOFF为"1" 。
1.00版
81
& frac12 ;& frac12 ;& frac12 ;& frac12 ; 11 & frac12 ; & frac12 ; 01 & frac12 ;