全球旧事资料 分类
1Wire总线与DS18B20应用仿真应用仿真
dzsccom文章出处:发布时间:200808151527次阅读0次推荐0条留言Samtec连接器完整的信号来源开关,电源限时折扣最低45折每天新产品时刻新体验ARMCortexM3内核微控制器最新电子元器件资料免费下载完整的15A开关模式电源首款面向小型化定向照明应用代替总线的基本通信协议1Wire总线的基本通信协议作为一种单主机多从机的总线系统,在一条1Wire总线上可挂接的从器件数量几乎不受限制。为了不引起逻辑上的冲突,所有从器件的1Wire总线接口都是漏极开路的,因此在使用时必须对总线外加上拉电阻(一般取5k左右)主机对1Wire总线的基本操作分为复位、。读和写三种,其中所有的读写操作均为低位在前高位在后。复位、读和写是1Wire总线通信的基础,下面通过具体程序详细介绍这3种操作的时序要求。(程序中DQ代表1Wire总线,定义为P10,uchar定义为u
sig
edchar)11Wire总线的复位复位是1Wire总线通信中最为重要的一种操作,在每次总线通信之前主机必须首先发送复位信号。如程序11所示,产生复位信号时主机首先将总线拉低480~960s然后释放,由于上拉电阻的存在,此时总线变为高电平。1Wire总线器件在接收到有效跳变的15~60s内会将总线拉低60~240s,在此期间主机可以通过对DQ采样来判断是否有从器件挂接在当前总线上。函数Reset()的返回值为0表示有器件挂接在总线上,返回值为1表示没有器件挂接在总线上。程序11总线复位ucharResetvoiduchartdqDQ0主机拉低总线delay480s等待480sDQ1主机释放总线delay60s等待60stdqDQ主机对总线采样delay480s等待复位结束retur
tdq返回采样值21Wire总线的写操作由于只有一条IO线,主机1Wire总线的写操作只能逐位进行,连续写8次即可写入总线一个字节。如程序12所示,当MCS51单片机的时钟频率为12MHz时,程序中的语句_
op_可以产生1s的延时,调用此函数时需包含头文件“i
tri
sh”。向1Wire总线写1bit至少需要60s,同时还要保证两次连续的写操作有1s以上的间隔。若待写位wbit为0则主机拉低总线60s然后释放,写0操作完成。若待写位wbit为1,则主机拉低总线并在1~15s内释放,然后等待60s,写1操作完成。程序12向总线写1bitvoidWritebitucharwbit_
op_
f保证两次写操作间隔1s以上DQ0_
op_保证主机拉低总线1s以上ifwbit向总线写1DQ1delay60selse向总线写0delay60sDQ131Wire总线的读操作与写操作类似,主机对1Wire总线的读操作r
好听全球资料 返回顶部