纯单片机干不了大事,必须得配上各种外设,那么了解单片机与传感器之间的数据通信就显得必不可少了。常见的单片机数据通信方式有SPI,IIC,RS232,单总线等等。每种通信方式都有相应的时序图,分析时序图并完成代码的编写是单片机学习者的必修课。本文以DS18B20为例分析一下单总线数据传输。
DS18B20是单总线数据传输,因此对于时序的要求就非常的高,学会分析其时序图是非常有必要的。
1.初始化时序图分析:
首先是由总线控制器拉低总线,维持480us。在480us后释放总线,由上拉电阻讲总线拉高。等待5-60us后,DS18B20开始响应,会将数据总线拉低60-240us.之后便释放总线,由上拉电阻拉高总线。转换为代码如下:
u8dsbInit()//初始化,返回0表示DS18B20无反应,反之有响应
{
dsbDQStat(0);//控制器拉低总线
delay500us();//拉低总线一段时间
dsbDQStat(1);//释放总线
delay60us();//等待DS18B20响应
if(dsb_DQ)//如果没有相应直接返回0
{
return0;
}
delay240us();//有响应则等待响应结束
return1;//返回初始化状态
}
2.读时序图分析:
首先由控制器将总线拉低>1us的时间,此时控制器释放总线,如果此时控制器采样为低电平,那么读到的值便是0,如果为高电平,则读到的值为1。注意图中标有一个15us,其意思便是控制器采样在15us内完成。15us后是由上拉电阻将总线拉高维持45us。整个读周期为15+45=60us。这个周期的时间也是得控制的。转换为代码如下:
u8dsbReadByte()//读出一个字节的数据,从低位开始读取
{
u8i,tmp=0;
for(i=0;i<8;i++)
{
dsbDQStat(0);//控制器拉低总线
tmp>>=1;//低位开始读
dsbDQStat(1);//释放总线
if(dsb_DQ)tmp|=0x80;
delay15us();
delay45us();//控制周期时间
}
returntmp;
}
3.写时序图分析:
首先由控制器拉低总线15us,之后,如果要写入0,则继续拉低总线并为此45us.如果要写入1则释放总线由上拉电阻拉高总线,也为此45us。写时序相对比较简单,转换为代码如下:
voiddsbWriteByte(u8dat)//写一个字节的数据,从低位开始
{
u8i;
for(i=0;i<8;i++)
{
dsbDQStat(0);//控制器拉低总线
delay15us();//维持15us
if(dat&0x01)dsbDQStat(1);
elsedsbDQStat(0);
dat>>=1;
delay45us();
dsbDQStat(1);//45us后释放总线
}
}
DS18B20的三个时序图就分析完了,DS18B20只是单总线数据通信中的一个例子,大家了解了DS18B20时序图的分析,那么就可以试试分析DHT11的时序图完成其初始化函数,以及读数据函数。
关键字:DS18B20 单总线 数据传输
引用地址:
DS18B20单总线数据传输
推荐阅读最新更新时间:2024-03-16 13:55
单工无线呼叫及数据传输系统的设计
本文基于ATMEGA16L单片机实现一个具有单工语音和数据传输功能的无线呼叫系统。通过编码电路、单片调频发射电路和高频功放电路实现主站的语音及数据发送;通过解码电路、调频解调和语音功放电路实现从站的语音及数据接收。编码和解码用MSK调制方式的调制解调芯片MSM6882实现;主从机的显示电路采用LCD液晶显示,输入电路则采用PS2键盘扫描。 一、概述 目前,无线语音和数据通信的应用领域不断扩大,应用形式也趋于多样化。如移动通信系统、智能交通系统、远程控制网络等。本设计完成了一个单工无线呼叫系统,实现主站至多个从站的单工语音及数据传输业务。主站传送一路语音信号或短信,其发射频率为36MHz,发射峰值功率可调,实现小功率远距
[模拟电子]
富士通开发全新光传输技术 数据传输速率可达1.2Tbps
近日,日本 IT 服务公司富士通(Fujitsu)在官网上介绍了其开发的全新光传输技术,该技术可实现 1.2Tbps 的数据传输速率,相当于在每秒传输 6 张容量为 25GB 的蓝光光盘的数据。 富士通表示,全新光传输技术主要应用了三项富士通公司自研专有技术,分别是数字相干光传输技术、光传输设备水冷技术以及使用机器学习优化光网络技术。其中,数字相干光传输技术是一种利用光波特性提高接收灵敏度的相干接收方法与先进的超高速数字信号处理相结合,最大限度地提高传输性能的光传输技术,也是该方案的关键。 同时,利用光传输设备水冷散热技术,可大幅提高散热效率,将功耗降低到每传输 1Gbp 数据仅 120mW 的功耗。富士通表示,全新光传输
[网络通信]
新型解码芯片创数据传输能效纪录,有望应用于虚拟现实和5G网络等领域
ORBGRAND能更快且更节能地对数据进行解码。图片来源:麻省理工学院 美国麻省理工学院领衔的科学家团队开发出一种解码器芯片,解码数据比传统技术更简单、更快,创纪录的低能耗仅为其他类似硬件的百分之一到十分之一,可广泛应用于虚拟现实和5G网络等领域。相关研究成果在正举行的国际固态电路会议上宣读。 通过互联网发送的所有信息都可能会被噪声破坏,导致数据出错。为解决这个问题,发送方在数据被传输之前会对数据进行编码,接收方会使用解码算法来纠正错误并恢复原始信息。在某些情况下,接收到的数据带有可靠性信息,这些信息会帮助解码器确定哪部分信息可能是错误的。 研究团队先前演示了猜测随机加性噪声解码(GRAND)算法,这一算法可破解任
[网络通信]
数字温度传感器DS18B20资料
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 一线总线 接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前DS18B20批量采购价格仅10元左右。 在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信
[单片机]
AVR单片机(ATmega16L)DS18B20温度传感器驱动程序
在DALLAS网站上下个英文版的datasheet,从第一行开始看,看着看着,感觉非常惊奇,不像我当初想当然的觉得那么难理解啊,除了个别单词不认识,整体上能看出大概意思,装了个金山词霸,不会的单词马上查,发现也不是很费劲的事儿。以前打开个英文的datasheet,看着密密麻麻的英语句子,看都没看就觉得头大,以前实在是太先入为主了,自己还是太浮躁,没有静下心来,认真的看一看。决定以后下芯片资料,直接下原版datasheet。 从头看手册,对照程序完整的看了一遍,发现原因就在写时序上,程序中写字节的函数中有一句:temp_h,与时序图不符,写0时序开始后、DS18B20采样前,并没有拉高数据线,把temp_h注释掉,1602液晶马
[单片机]
单片机中使用DS18B20温度传感器C语言程序(参考3)
#include reg51.h sbit DQ =P3^7; //定义通信端口 //延时函数 void delay(unsigned int i) { while(i--); } //初始化函数 Init_DS18B20(void) { unsigned char x=0; DQ = 1; //DQ复位 delay(8); //稍做延时 DQ = 0; //单片机将DQ拉低 delay(80); //精确延时 大于 480us DQ = 1; //拉高总线 delay(14); x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(20); } //读一个字节 ReadOneChar(void
[单片机]
Li-Fi技术数据传输速度可超过10Gb/s
英国研究者称,他们已通过Li-Fi技术——通过LED灯泡进行数据传输的技术——取得了高达10Gb/s的数据传输速度。研究者使用微型LED灯泡,通过组成白光的三种原色——红色、绿色和蓝色——其中的任何一种原色均实现了3.5Gb/s的数据传输速度。这意味着取得超过10Gb /s的数据传输速度是有可能实现的。Li-Fi是一种新兴的技术,可让特制的LED灯泡几乎在任何地方提供低成本的无线网络连接。 超高速度 该研究项目名为“超并行可见光通信工程”,是由爱丁堡大学、圣安德鲁斯大学、斯特拉斯克莱德大学、牛津大学和剑桥大学联合开展的项目,得到了工程和物理科学研究委员会的资助。 微型LED灯泡,由斯特拉斯克莱德大学研发,允许光线并行射出,
[手机便携]
SSCP200PL在网络数据传输和信息家电中的应用
摘要: 介绍了Intellon公司的SSC P200 PL网络接口控制器的功能和工作原理,并设计了基于P200电力线载波模块,给出了在网络数据和信息家电中的应用实例和实验结果。
关键词: 电线线载波 CEBus标准
用现有和电力线(PL)进行信的传送,无需额外的通讯外电缆,实现遥测、遥控等功能,可以节约大量的人务、物力和财力。尤其在一对多的控制系统中,不但省去了冗繁的接线,也增加了系统的可靠性和维护的便利性。Intellon公司符合CEBus标准的SSC P200是利用Chirps扫描频率进行波对信号实施扩频。由于扩频技术可以有效抑制干扰和噪声,所以在速度、抗干扰性、可靠性
[应用]