正在加载图片...
LCALL WRITE :送入读ds1820的ROM命令 LCALL READ 开始读出当前ds1820序列号 MOV 40H. LCALL READ MOV 41H,A LCALL READ MOV 42HA LCALL READ MOV 43H.A LCALL READ MOV 44H.A LCALL READ MOV 45H A LCALLREAD MOV 46H.A LCALL READ MOV 47H.A SETB EA SJMPS INT: 初始化ds1820子程序 CLREA LOCLrPL6 ds1820总线为低复位电平 MOV R2.200 L1:CLRP1.6 DJNZ R2.LI :总线复位电平保持400us SETB PL6 释放ds1820总线 MOV R2 #30 L4DINZ R214 释放ds1820总线保持60us CLRC 清存在信号 ORLC.P1.6 JC LO 存在吗?不存在则重新来 MOV R6 #80 L5:ORL C,P1.6 DJNZR6.L5 SJMP LO L3:M0VR2,#240 L2:DINZ R2.L2 RET WRITE: ;向ds1820写操作命令子程序 clrea MOV R3.#8 :写入ds1820的bit数,一个字节8个bitLCALL WRITE ;送入读 ds1820 的 ROM 命令 LCALL READ ;开始读出当前 ds1820 序列号 MOV 40H,A LCALL READ MOV 41H,A LCALL READ MOV 42H,A LCALL READ MOV 43H,A LCALL READ MOV 44H,A LCALL READ MOV 45H,A LCALL READ MOV 46H,A LCALL READ MOV 47H,A SETB EA SJMP $ INT: ;初始化 ds1820 子程序 CLR EA L0:CLR P1.6 ;ds1820 总线为低复位电平 MOV R2,#200 L1:CLR P1.6 DJNZ R2,L1 ;总线复位电平保持 400us SETB P1.6 ;释放 ds1820 总线 MOV R2,#30 L4:DJNZ R2,L4 ;释放 ds1820 总线保持 60us CLR C ;清存在信号 ORL C,P1.6 JC L0 ;存在吗?不存在则重新来 MOV R6,#80 L5:ORL C,P1.6 JC L3 DJNZ R6,L5 SJMP L0 L3:MOV R2,#240 L2:DJNZ R2,L2 RET WRITE: ;向 ds1820 写操作命令子程序 CLR EA MOV R3,#8 ;写入 ds1820 的 bit 数,一个字节 8 个 bit
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有