主机控制DS2450完成A/D转换一般必须经过以下几个步骤:初始化使DS2450准备好、发ROM功能命令和相应的64位光刻ROM数据选中特定芯片、写入工作方式控制字和高/低限值、发转换控制命令、读取转换值及状态。

例如,将D通道设定为5.1V输入范围、转换精度为12位、高报警门限为3.0V(96H)、低报警门限为2.0V(64H)、通道A和B作为报警输出、转换结果放在如下30H和31H的子程序CTLAD中。

;--------------------------

CTLAD:LCALLINIT;发复位脉冲并接收存在脉冲

MOVA,#0CCH

LCALLWRITE;发“跳过ROM”命令

;设置4个通道工作方式控制字,写入存储器地址从0008H开始

FSKZ:MOVA,#55H

LCALLWRITE;发“写存储器”命令

MOVA,#08H

LCALLWRITE;发低8位地址

MOVA,#00H

LCALLWRITE;发高8位地址

MOVA,#0C0H

;A通道漏极开路数字输出方式

LCALLWRITE;发A通道工作方式低字节

MOVA,#00H

;与报警、输入范围等设置无关

LCALLWRITE;发A通道工作方式高字节

MOVA,#0C0H

;B通道漏极开路数字输出方式

LCALLWRITE;发B通道工作方式低字节

MOVA,#00H

;与报警、输入范围等设置无关

LCALLWRITE;发B通道工作方式高字节

MOVA,#01H

;C通道不用,可随意设置

LCALLWRITE;发C通道工作方式低字节

MOVA,#00H

;C通道不用,可随意设置

LCALLWRITE;发C通道工作方式高字节

MOVA,#0CH

;D通道12位A/D转换方式

LCALLWRITE;发D通道工作方式低字节

MOVA,#0DH

;5.1V输入范围,允许高低限报警

LCALLWRITE;发D通道工作方式高字节

;设置D通道高/低限值报警值,写入存储器地址从0016H开始

BJSZ:LCALLINIT;发复位脉冲并接收存在脉冲

MOVA,#0CCH

LCALLWRITE;发“跳过ROM”命令

MOVA,#55H

LCALLWRITE;发“写存储器”命令

MOVA,#16H

LCALLWRITE;发低8位地址

MOVA,#00H

LCALLWRITE;发高8位地址

MOVA,#64H

;低门限报警值2.0V(64H)

LCALLWRITE;送D通道低门限存储器

MOVA,#96H

;高门限报警值3.0V(96H)

LCALLWRITE

;送转换控制字,启动A/D转换。

QDZH:LCALLINIT;发复位脉冲并接收存在脉冲

MOVA,#0CCH

LCALLWRITE;发“跳过ROM”命令

MOVA,#3CH

LCALLWRITE;发“转换控制”命令字

MOVA,#08H

;仅D通道参与转换

LCALLWRITE;发通道选择控制字

MOVA,#40H

;D通道转换前预置为全0

LCALLWRITE;发预置数据控制字

;读取D通道转换结果,放在31H、30H