温湿度采集的实现算法_第1页
温湿度采集的实现算法_第2页
温湿度采集的实现算法_第3页
温湿度采集的实现算法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、页眉内容温湿度采集的实现算法应用AM2301实现两项数据的采集,该数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器它应用专用的数字模块采集技术和温湿度传感技术。AM2301采用的是单总线传输数据,所以对温湿度数据的采集主要是时序要控制好。在AM2301进行数据传输的之前,空闲时总线为高电平,通讯开始时主机拉低总线至少500us后释放总线,延时20-40us后主机开始检测传感器的响应信号。传感器的响应信号是一个80us左右的低电平,随后传感器再拉高总线80us左右代表即将进入数据传送。每一位数据位都是由一个低电平和一个高电平组成。数字“0”由50us左右的低电平和2628us的高电

2、平组成,数字“1”由50us左右的低电平和70us的高电平组成,当最后一位数据传送完毕后,传感器将再次拉低总线50us左右,随后释放总线,由上拉电阻拉高。传输的数据总共有共40位,其中包括16位湿度数据+16位温度数据+8位校验和(固定的)。每次都是高位先出,检验位是用于验证传输的数据有没有出错,当前面的4个8位的数据之和等于校验位是表示传输的数据没问题。反之,则要重新采集数据。每次采集数据的时间间隔应该大于2s!数据处理:传感器每次都会将采集的数据以8位为单位送出,所以定义4个无符号字符型的变量(hum_h,hum_l,temp_h,temp_l)用于储存数据,当然还要定义一个无符号字符型的

3、变量(check)K储存校验位。接收到了数据之后不能够马上进行数据处理,必须通过校验,如果前面4个八位数据之和等于校验位,则进行数据处理。由于温湿度数据的高八位和低八位是分开的,所以数据处理过程中要将温湿度的高八位和低八位通过移位储存在另外定义的无符号整型变量(temp,hum里。到此数据处理好没有完,因为最终的目的是将它显示在也将显示器上,所以为了得到每位(各位、十位和百位)的值,可以这样处理toi=temp/100;shi-temp%100/10;|ge=temp%10;bail=huiii/100;shil=huni%100/10;当然之前要先定义数组:Iucharcodetable-£,r12356789")所以想要显示采集到的数值就可以分别bai,shi,ge,bai1,shi1,ge代替i即可。writel02date(talole1);比如要显示温度十位就可以这样:writs_1602coni(0x30+1.2J;vrzite_1602date(tableshi);|,类似的显示如此1页眉内容如果采集到的温度数值为负值,此时温度的高八位的第一位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论