






CALLINIT;发复位脉冲并接收存在脉冲MOVA,#0CCHLCALLWRITE;发“跳过ROM”命令;设置4个通道工作方式控制字,写入存储器地址从0008H开始FSKZ:MOVA,#55HLCALLWRITE;发“写存储器”命令MOVA,#08HLCALLWRITE;发低8位地址MOVA,#00HLCALLWRITE;发高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,#0CCHLCALLWRITE;发“跳过ROM”命令MOVA,#55HLCALLWRITE;发“写存储器”命令MOVA,#16HLCALLWRITE;发低8位地址MOVA,#00HLCALLWRITE;发高8位地址MOVA,#64H;低门限报警值2.0V(64H)LCALLWRITE;送D通道低门限存储器MOVA,#96H;高门限报警值3.0V(96H)LCALLWRITE;送转换控制字,启动A/D转换。QDZH
CALLINIT;发复位脉冲并接收存在脉冲MOVA,#0CCHLCALLWRITE;发“跳过ROM”命令MOVA,#3CHLCALLWRITE;发“转换控制”命令字MOVA,#08H ;仅D通道参与转换LCALLWRITE;发通道选择控制字MOVA,#40H ;D通道转换前预置为全0LCALLWRITE;发预置数据控制字;读取D通道转换结果,放在31H、30HRDDT:LCALLINTI;发复位脉冲并接收存在脉冲MOVA,#0CCHLCALLWRITE;发“跳过ROM”命令MOVA,#0AAH LCALLWRITE;发“读存储器”命令字MOVA,#06HLCALLWRITE;发低8位地址MOVA,#00HLCALLWRITE;发高8位地址LCALLREADMOV30H,A ;低位转换结果放在30H LCALLREADMOV31H,A ;高位转换结果放在31HRET…… 如果一线上挂接多个DS2450和其他一线式接口芯片、采用寄生电源供电方式、工作在超速模式、通信中进行校验,则子程序CTLAD的编写就要复杂一些,限于篇幅,这一部分不再详述,请参阅文献[1][2]的相关内容。| 欢迎光临 DIY编程器网 (http://diybcq.com/) | Powered by Discuz! X3.2 |