1-Wire器件与8051系列单片机的软件接口
中。设TEMP的初值为00H,8次循环调用CRC函数,即可得64位ROM号的CRC校验结果,读数正确时,前7个字节(Family Code+Serial Code)的CRC校验计算结果TEMP应与ROM号最后一个字节(8BIT CRC)的值相同,最后的校验值TEMP应为00H。
上述的总线初始化函数START、字节读写函数RDBYTE、WRBYTE和CRC校验函数就构成了8051系列单片机与1-Wire器件通信的软件平台,在设计时只需按规程调用这4个函数,就可轻松构建起一个1-Wire总线扩展的单片机应用系统。
4 软件接口应用
数片DS1822按图1连接到AT89C51的P1.0脚,按图3的1-Wire总线通信规程,调用上述软件接口,即可构成一个简单实用的温度测控系统DS1822是一种精度可调的(9至12比特)的1-Wire数字温度传感器,其RAM结构如图6所示,最低两字节只读,用于保存每次采集温度值;Th寄存器和T1寄存器分别用于设定温度传感器告警的最高和最低温度;设置寄存器用于设定温度传感器的采和最低温度;设置寄存器用于设定温度传感器的采样精度;对应的EEPROM用于掉电时保存用户设置。
DS1822的指令字及其功能如表1所示。
系统从主控器片内RAM30H至37H单元中读取事先存储的ROM号,从总线上选择该器件,启动温度变换,再读取温度于70H、71H中的程序如下:
5 结束语
1-Wire总线连线简捷,1-Wire器件种类多样,功能丰富,必将得到日益广泛的应用。本文详细阐述了目前普遍使用的8051单片机与1-Wire总线的软件接口,为单片机应用系统的串行扩展提供了一种行之有效的参考方案,它还可以方便地移植到其它系统中。
参考文献
1 何立民.按平台模式设计的虚拟I2C总线软件包VIIC.单片机与嵌入式系统应用,2001(2)
2 丁元杰.单片微机原理及应用.北京:机械工业出版社,1999
- 1-Wire扩展网络标准(02-20)
- 基于DS2770的非稳压电源脉冲充电器设计(03-15)
- DS2433 4K位1-Wire? EEPROM(04-03)
- 1-Wire双向电平转换器应用(10-19)
- C8051F320在USB设计中的应用(01-18)
- Silicon Labs扩充多脚数、触摸感应装置单片机产品线(02-05)