AT89C52单片机和8个DS18B20构成的多点测温系统仿真

2017-12-21 14:15:17 来源:21IC
分享到:
标签:
1-Wire总线的基本通信协议
 
作为一种单主机多从机的总线系统,在一条1-Wire总线上可挂接的从器件数量几乎不受限制。为了不引起逻辑上的冲突,所有从器件的1-Wire总线接口都是漏极开路的,因此在使用时必须对总线外加上拉电阻(一般取5kΩ左右)。主机对1-Wire总线的基本操作分为复位、读和写三种,其中所有的读写操作均为低位在前高位在后。复位、读和写是1-Wire总线通信的基础,下面通过具体程序详细介绍这3种操作的时序要求。(程序中DQ代表1-Wire总线,定义为P1.0,uchar定义为unsigned char)
 
1 1-Wire总线的复位
 
复位是1-Wire总线通信中最为重要的一种操作,在每次总线通信之前主机必须首先发送复位信号。如程序1.1所示,产生复位信号时主机首先将总线拉低480~960μs然后释放,由于上拉电阻的存在,此时总线变为高电平。1-Wire总线器件在接收到有效跳变的15~60μs内会将总线拉低60~240μs,在此期间主机可以通过对DQ采样来判断是否有从器件挂接在当前总线上。函数Reset()的返回值为0表示有器件挂接在总线上,返回值为1表示没有器件挂接在总线上。
 
程序1.1 总线复位
 
uchar Reset(void)
 
{
 
uchar tdq;
 
DQ=0; //主机拉低总线
 
delay480μs(); //等待480μs
 
DQ=1; //主机释放总线
 
delay60μs(); //等待60μs
 
tdq=DQ; //主机对总线采样
 
delay480μs(); //等待复位结束
 
return tdq; //返回采样值
 
}
 
2 1-Wire总线的写操作
 
由于只有一条I/O线,主机1-Wire总线的写操作只能逐位进行,连续写8次即可写入总线一个字节。如程序1.2所示,当MCS-51单片机的时钟频率为12MHz时,程序中的语句_nop_();可以产生1μs的延时,调用此函数时需包含头文件“intrins.h”。向1-Wire总线写1bit至少需要60μs,同时还要保证两次连续的写操作有1μs以上的间隔。若待写位wbit为0则主机拉低总线60μs然后释放,写0操作完成。若待写位wbit为1,则主机拉低总线并在1~15μs内释放,然后等待60μs,写1操作完成。
 
程序1.2 向总线写1bit
 
void Writebit(uchar wbit)
 
{
 
_nop_();
 
//保证两次写操作间隔1μs以上
 
DQ=0;
 
_nop_();
 
//保证主机拉低总线1μs以上
 
if(wbit)
 
{
 
//向总线写1
 
DQ=1;
 
delay60μs();
 
}
 
else
 
{
 
//向总线写0
 
delay60μs();
 
DQ=1;
 
}
 
}
 
3 1-Wire总线的读操作
 
与写操作类似,主机对1-Wire总线的读操作也只能逐位进行,连续读8次,即可读入主机一个字节。从1-Wire总线读取1bit同样至少需要60μs,同时也要保证两次连续的读操作间隔1μs以上。如程序1.3所示,从总线读数据时,主机首先拉低总线1μs以上然后释放,在释放总线后的1~15μs内主机对总线的采样值即为读取到的数据。
 
程序1.3 从总线读1bit
 
uchar Readbit()
 
{
 
uchar tdq;
 
_nop_();
 
//保证两次连续写操作间隔1μs以上
 
DQ=0;
 
_nop_();
 
//保证拉低总线的时间不少于1μs
 
DQ=1;
 
_nop_();
 
tdq=DQ;
 
//主机对总线采样
 
delay60μs();
 
//等待读操作结束
 
return tdq;
 
//返回读取到的数据
 
}
 
数字温度传感器DS18B20
 
1 DS18B20的基本特性
 
● 采用1-Wire总线接口,可以方便实现多点测温。
● 与主机连接方便,除5kΩ的总线上拉电阻外无须其他额外器件。
● 电源电压范围为3.0~5.5V,与3.3V和5V数字系统均可很好地兼容。
● 测量范围为-55~+125℃,分辨率为9~12位可编程。
● 通过编程可设置温度报警上下限,设置值掉电不丢失。
● 内部集成了用于器件寻址的64bit光刻ROM编码。
 
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
DIY方案——自己动手来做一个数字温度计吧
DIY方案——自己动手来做一个数字温度计吧

DS18B20是一款单总线可编程分辨率的数字温度计,详细内容可见中英文datasheet,笔者不在赘述。

DS18B20驱动难?PT100拯救你,一个电路轻松搞定
DS18B20驱动难?PT100拯救你,一个电路轻松搞定

干货!PT100温度采集电路设计及分析。

温度测量应用广,这个基于ARM的智能测温系统最近很火

测温测量和控制在当今社会生活中扮演着至关重要的 角色,国际国内市场现有的多种测温技术涵盖了安检、市 场、生活、消防、科研等诸多领域。

迈来芯宣布推出两款用于下一代温度测量的先进传感器技术

通过启发工程(inspired engineering)的理念实现未来创新的全球微电子公司——迈来芯公司(Melexis),宣布推出两种新传感技术,用于简化将温度测量集成到提高安全、效率和便利的应用中。

凌力尔特推出高性能数字温度测量 IC LTC2986
凌力尔特推出高性能数字温度测量 IC LTC2986

凌力尔特公司 (Linear Technology Corporation) 推出高性能数字温度测量 IC LTC2986,该器件以 0.1°C 的一致性和 0.001°C 的分辨率直接对任意组合的热电偶、RTD、热敏电阻和外部二极管进行数字化处理。

更多资讯
3D图像传感器:英飞凌助力实现脸部识别轻松解锁智能手机

2018年1月18日,德国慕尼黑讯—移动通信领域的一大发展趋势就是通过3D脸部识别而不是指纹或PIN码来解锁智能手机。这使得身份验证更方便、更安全,对于移动支付应用和手机识别应用而言,这很快就会变得不可或缺了。

基于MSP430单片机和MQ2烟雾传感器的低功耗远程烟雾报警系统
基于MSP430单片机和MQ2烟雾传感器的低功耗远程烟雾报警系统

大部分火灾的发生是由于在火灾初期没有及时采取应急防火措施,如果能够有效检测异常火苗或者气体并及时报警采取措施,就能大大降低火灾对人类的威胁。设计了烟雾报警系统,能使外出的人及时收到家中的报警信息。

数字传感器有啥功能和优点?
数字传感器有啥功能和优点?

数字式传感器是在传统电阻应变式传感器基础上,结合现代微电子技术、微型计算机技术集成而发展起来的一种新型电子称重传感器。由模拟传感器(电阻应变式)和数字化转换模块两部分组成的。

艾迈斯半导体推出AS7265x紧凑型18通道芯片组,扩展数字多光谱产品系列
艾迈斯半导体推出AS7265x紧凑型18通道芯片组,扩展数字多光谱产品系列

中国,2018年1月16日,全球领先的高性能传感器解决方案供应商艾迈斯半导体(ams AG,瑞士股票交易所股票代码:AMS)今天推出AS7265X,这是一款极具成本效益的18通道多光谱传感器解决方案,为新型光谱传感应用带来更多想象空间。

前置指纹识别和后置指纹识别,哪个更胜一筹?
前置指纹识别和后置指纹识别,哪个更胜一筹?

指纹作为人体生物特征之一,除具有唯一性外,还有遗传和不变性,因此该技术最早用在刑侦方面。随着时间推移,指纹识别技术进入商用化阶段,并逐渐深入到门禁、考勤等领域。当然,如今的手机行业也已普及这项生物技术,广泛应用在解锁、加密等地儿,给我们带来快捷、安全的使用体验。

Moore8直播课堂