正在加载图片...
MOV R4.#8 RRCA ,把一个字节data(A)分成8个bit环移给C CLRP1.6 WR2.DJNzR4.WR2 开始写入ds1820总线要处于复位(低)状态 ds1820总线复位保持16u MOV P1.6,C ,写入一个bit MOV R4#20 WR3:DJNZ.R4.WR3 :等待40us DJNZ R3,WR1 写入下一个bi SETBP1.6 重新释放ds1820总线 RET READ: CLrEa MOV R6,#8 连续读8个bi RE1:CLR P1.6 读前总线保持为低 MOV R4.#4 NOP SETB PL6 :开始读,总线释放 持续8 从ds1820总线读得一个bi RRC A :把读得的位值环移给A MOV R5 #30 RE3:DJNZ R5.RE3 :持续60us DINZ R6 REL 读下一个bi SETB P1.6 重新释放ds1820总线 RET END Skyle整理-skyle@163com-有不对之处请来信指正 MOV R4,#8 RRC A ;把一个字节 data(A)分成 8 个 bit 环移给 C CLR P1.6 ;开始写入 ds1820 总线要处于复位(低)状态 WR2:DJNZ R4,WR2 ;ds1820 总线复位保持 16us MOV P1.6,C ;写入一个 bit MOV R4,#20 WR3:DJNZ R4,WR3 ;等待 40us DJNZ R3,WR1 ;写入下一个 bit SETB P1.6 ;重新释放 ds1820 总线 RET READ: CLR EA MOV R6,#8 ;连续读 8 个 bit RE1:CLR P1.6 ;读前总线保持为低 MOV R4,#4 NOP SETB P1.6 ;开始读 总线释放 RE2:DJNZ R4,RE2 ;持续 8us MOV C,P1.6 ;从 ds1820 总线读得一个 bit RRC A ;把读得的位值环移给 A MOV R5,#30 RE3:DJNZ R5,RE3 ;持续 60us DJNZ R6,RE1 ;读下一个 bit SETB P1.6 ;重新释放 ds1820 总线 RET END Skyle 整理-skyle@163.com-有不对之处请来信指正
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有