正在加载图片...
PUSH B ,保存B寄存器 PUSH A 保存A寄存器 MOVA#料 CLR P1. MOV B.#250 :计数250次 DInZ B ,保持低电平500us SETR PIO :释放总线 MOV B.#6 设置时间常数 CLRC 清存在信号标志 WAITL:JB PI.O.WH ,若总线释放,跳出循环 DINZ B.WAITL :总线低,等待 DJNZ ACC,WAITL,释放总线等特一段时间 SJMP SHORT MOV B.#111 ORLC.P1.0 DJNZ B.WHI :存在时间等待 SHORT:POP A POP B RET (2)写时间隙 当主机总线t0时刻从高拉至低电平时,就产生写时间隙,见图2.25一3、图2.25一 4,从to时刻开始15us之内应将所需写的位送到总线上,DS1820在t。后15-60us间对总线 采样。若低电平,写入的位是0,见图2.25一3:若高电平,写入的位是1,见图2.254。 连续写2位间的间隙应大于1us。 ->60 15十i5-60p >I 图2.253写0时序 图2.25-4写1时序 写位子程序(待写位的内容在C中): WRBIT: PUSH B :保存B MOV B#28 :设置时间常数 :写开 NO :lus NOP Tus NOP :lus NOP MOVPL.O.C C内容到总线 WDLT:DNZB,WDLT,等待56Us POP B PUSH B ;保存 B 寄存器 PUSH A 保存 A 寄存器 MOV A,#4 ;设置循环次数 CLR P1.0 ;发出复位脉冲 MOV B,#250 ;计数 250 次 DJNZ B,$ ;保持低电平 500us SETB Pl.0 ;释放总线 MOV B,#6 ;设置时间常数 CLR C ;清存在信号标志 WAITL: JB Pl.0,WH ;若总线释放 跳出循环 DJNZ B,WAITL ;总线低 等待 DJNZ ACC,WAITL;释放总线等待一段时间 SJMP SHORT WH: MOV B,#111 WH1: ORL C,P1.0 DJNZ B,WH1 ;存在时间等待 SHORT: POP A POP B RET (2)写时间隙 当主机总线 t o 时刻从高拉至低电平时 就产生写时间隙 见图 2 25 3 图 2 25 4 从 to 时刻开始 15us 之内应将所需写的位送到总线上 DSl820 在 t 后 15-60us 间对总线 采样 若低电平 写入的位是 0 见图 2 25 3 若高电平 写入的位是 1 见图 2 25 4 连续写 2 位间的间隙应大于 1us 写位子程序(待写位的内容在 C 中) WRBIT: PUSH B ;保存 B MOV B,#28 ;设置时间常数 CLR P1.0 ;写开始 NOP ;1us NOP ;1us NOP ;1us NOP ;1us N0P ;1us MOVPl.0,C ;C 内容到总线 WDLT: DJNZ B,WDLT;等待 56Us POP B
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有