添加收藏夹  设为首页  深圳服务热线:13751165337  13692101218
51电子网联系电话:13751165337
位置:首页 > IC型号导航 > 首字符H型号页 > 首字符H的型号第308页 > HT46R232 > HT46R232 PDF资料 > HT46R232 PDF资料1第21页
HT46R232/HT46C232
下面举两个例子说明如何启动和实现A / D转换。第一个例子
PLE ,轮询的方法ADCR寄存器EOC位会被用来检测当转换完成,
而在第二实施例中,A / D中断被用于确定当转换完成。
例如:使用EOCB轮询方法侦测转换的结束
CLR
EADI
;禁止ADC中断
MOV
a,00000001B
MOV
钢芯铝绞线,一
;设置ACSR寄存器,选择F
SYS
/ 8作为A / D转换时钟
MOV
a,00100000B
;在ADCR寄存器中设置Port PB0 PB3作为A / D输入
MOV
ADCR ,一
;并选择AN0连接到A / D转换器
:
:
;当模拟通道选择位改变后, START
;信号( 0-1-0 )必须在10个指令周期发出
:
Start_conversion :
CLR
开始
SET
开始
;复位A / D
CLR
开始
;启动A / D
转换Polling_EOC :
sz
EOCB
; ADCR寄存器的EOC位判断A / D转换结束
JMP
转换Polling_EOC
;继续投票
MOV
一, ADRH
;从ADRH寄存器读取转换结果的高字节值
MOV
adrh_buffer ,一
;将结果放入用户定义的存储
MOV
一, ADRL
;从ADRL寄存器读取转换结果的低字节值
MOV
adrl_buffer ,一
;将结果放入用户定义的存储
:
:
JMP
start_conversion
;启动下一次A / D转换
例如:使用中断的方法来检测转换结束
CLR
EADI
;禁止ADC中断
MOV
a,00000001B
MOV
钢芯铝绞线,一
;设置ACSR寄存器,选择F
SYS
/ 8作为A / D转换时钟
MOV
MOV
a,00100000B
ADCR ,一
:
;在ADCR寄存器中设置Port PB0 PB3作为A / D输入
;并选择AN0连接到A / D转换器
;当模拟通道选择位改变后, START
;信号( 0-1-0 )必须在10个指令周期发出
:
Start_conversion :
CLR
开始
SET
开始
CLR
开始
CLR
ADF
SET
EADI
SET
EMI
:
:
:
; ADC中断服务程序
ADC_ISR :
MOV
acc_stack ,一
MOV
一, STATUS
MOV
status_stack ,一
:
:
MOV
一, ADRH
MOV
adrh_buffer ,一
MOV
一, ADRL
MOV
adrl_buffer ,一
CLR
开始
SET
开始
CLR
开始
:
:
EXIT_INT_ISR :
MOV
一, status_stack
MOV
状态,一
MOV
一, acc_stack
RETI
;复位A / D
;启动A / D
;清晰的ADC中断请求标志
;允许ADC中断
;启用全局中断
; ACC保存到用户定义的存储
;保存状态到用户定义的存储
;从ADRH寄存器读取转换结果的高字节值
;将结果放入用户定义的寄存器
;从ADRL寄存器读取转换结果的低字节值
;将结果放入用户定义的寄存器
;复位A / D
;启动A / D
;从用户定义的存储恢复状态
;从用户定义的存储恢复ACC
修订版1.40
21
2005年11月23日

深圳市碧威特网络技术有限公司