版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
姓名:谭芳亮班级:通信(1)班学号:2013329600049
实验1:无线传感器监测数据采集实验【实验目标】在无线传感器节点的单片机驱动代码的基础上,编写传感器数据采集程序,实现对温湿度传感器的数据采集和计算。【实验设备】类别名称所需数量(每组)物联网设备ZIGBEE无线空气温湿度传感器1个【实验要求】(1)熟悉温湿度传感器工作原理;(2)熟悉温湿度传感器接口协议;(3)编写温湿度传感器接口代码;(4)实现温湿度传感器的数据采集和计算,并验证采集结果的正确性。【实验原理】1、开发环境所需软件JDK,Precision32IDE,MDK,J-link驱动(见理工学校实验/tool).图1-1所需要的软件MDKJ.7jf]jdk-S-windowb-x64.exeMDKJ.7jf]jdk-S-windowb-x64.exe量JdnkARM^SOt.sip0’preci写ionSS-deveiopimi&nt-ervironme.™.2014/1Q/142014/04/1313:3020H/04/2310^8201J/Ofi/D310:55文件矣时钟好氏zip砥枝件应用徨序工58挑3KB14,215K8417,316KQ2、MDK的安装与注册学过51的同学对MDK都不是太陌生,sim32也是用MDK编译代码。MDK对不同的内核有不同的版本,这里用的是keilforARM4.7双击MDK进行安装,安装过程需要填写一些信息,这些可以随便填写,相信学过51单片机的同学都知道。一直点击next直到安装完成。MDK没注册代码长度有2K的限制,代码过大会报错,因此需要注册。右击MDK快捷方式图标,点击以管理员身份运行。点击file->licensemanger...,打开注册机,将CID复制到注册机里,选择ARM版本,生成注册码,将注册面复制到licenseManagement中,点击AddLIC按钮,完成注册。具体过程见DOC/MDK的安装激活与使用。3、将SIM32官方库复制到在C盘根目录下。(工程里的库文件用的是绝对路径)。4、MDK的工程管理(向工程里面添加文件)在这里大家也许会有疑问,怎么用MDK建立工程,用MDK建立过程,设置项比较多。容易出错,因此不建议用MDK建立工程,SIM官方提供的有Precision32IDE可以建立MDK工程,IAR工程,不过安装IDE之前需要安装JDK,配置环境变量。IDE安装之后,需要用邮箱注册,过程比较繁琐,因此不建议大家使用。有兴趣的同学可以参考DOC/IDE的安装。我们使用建立好的工程模版,只用在使用时向工程里面添加文件即可。添加文件有两种方法。方法一:点击工具栏工程管理图标进入工程管理如图
图1-2MDK工程管理方法二:在MDK主页面左边project窗口工程名上右击,点击AddGroup,添加组。在组上右击添加文件。在文件名上右击选择删除问价。5、MDK的工程设置在工程模板基本上把工程的常用设置项已经设置好了。在使用过程中只用改动少许设置。•Output设置在CreateHEXFile前面打勾(hex文件是烧写向单片机烧写的文件)图1-3output设置•C/C++点击IncludePath行尾的小按钮,点击图中的新建,点击行尾的小按钮,将新加入工程中的文件的头文件路径包含里面。(编译器根据这个路径找到要包含的*.h文件路径,不加进去,不能顺利编译,会报错)。
Ukr "nfmiiflw,Mn.旺|TMj|>,i.|Ukr "nfmiiflw,Mn.旺|TMj|>,i.|Cefikvi|Ishjciim:UisrCCTrtMiO^:|l«yvIDi-O£|HFRa1mMmTthFivtLfi«iE9KrOne-EIF货Rmxxi图1-4c/c++设置Debug设置(用J-link把节点和电脑相连,给节点上电)如图所示。传感器和网关全部用的是J-link转SW)图1-5Debug设置i-MMILiSXUtilities设置如图。i-MMILiSX图14Utilities设置6、J-link转SWD的制作图1-7是J-Link和SWD的示意图,用杜邦线把相应的引脚连接。ARM20-PinConnecter2VCC(opticnah4GN口6GND8GNO1CGNDL2GNDARM20-PinConnecter2VCC(opticnah4GN口6GND8GNO1CGNDL2GND14GND1GGND1SGND20GNDN/U3N/USSWDIO7SWCLK:$N/Ull□□□□□□□□□□□□□□□□1VCC2SWDED3SWCLK4RESET5SWOSEND图1-7J-link转SWD7、通用IO□输入输出控制通用IO口实验通常是单片机的第一个实验这里简单介绍几个函数a)单片机IO设置为上拉输出函数SI32_PBSTD_A_set_pins_push_pull_output(SI32_PBSTD_1,0x0020)参数解释,SI32_PBSTD_1代表的是P1端口0x0020代表的是第5个引脚。0x0020写成二进制是0000000000100000,第5位是1,因此表示的是第5个引脚。b)单片机IO输出高电平SI32_PBSTD_A_write_pins_high(SI32_PBSTD_1,0x0020)c)单片机IO输出低电平SI32_PBSTD_A_write_pins_low(SI32_PBSTD_1,0x0020)d)单片机IO设置为输入SI32_PBSTD_A_set_pins_digital_input(SI32_PBSTD_1,0x0010)e)读取引脚电平SI32_PBSTD_A_read_pin(SI32_PBSTD_1,2)参数解释2表示的是第二个引脚,这里的定义和上面不一样,在使用时要注意。8、温湿度传感器和单片机的接口温湿度传感器和单片机采用的是类似IIC的串行通信,和单片机相连如图1-8所示VDD和GND是传感器供电引脚。SCK是时钟引脚,在通信这个过程中,SCK信号都是有单片机控制的。DATA是数据线,和单片机IO口相连。用于向传感器发送指令和从单片机读走数据。数据在时钟的上升沿生效在时钟是高电平时保持不变。在时钟是低电平时准备数据。接口如图所示。图1-8图1-8温湿度接口图1-9开始信号单片机先向传感器发送开始命令,然后开始通信,开始命令时序图如图所示。在SCK高电平时,将数据线拉低,在下一个时钟高电平期间,将数据线拉高。开始信号发送完毕。再开始信号后是命令信号,命令信号包含3位地址位(只支持000)和5位命令位组成。传感器在接收到Ibyte数据时(即第八个时钟下降沿)将数据线拉低,表示数据正确接收。在九个下降沿被释放。命令如下表。=======CodeOOOOx000110010100111CodeOOOOx000110010100111001100101x-1110x11110单片机在发机产生时钟信号字节数据都要将数据线拉低给出应答信号等哪据高位在前,低位在后。传感器在测量结束和通信完毕后自动进入休眠。具体操作见数据手册。时序图如图1-10所示。图1-10传感器工作时序图CommandReservedMeasureTemperatureMeasureRelativeHumidityReadStatusRegisterWriteStatusRegisterReservedSoftreset,resetstheinterface,clearsthe送完命令信号后,等待温湿度传感器测量完成U惟感器在转换完成后将数据线拉低。单片,1从温湿度传感器读数鲫啜据包含2bytes的测量结果和Ibytes的校验。单片机在收到每8、计算公式温度计算公式:T=d14-d2-SOTVDDdi(ftVDDdi(ftC)di(°F)5V-40.1W0.24V-39.8-39.63.5V-39.7-39.53V-39.6■39.32.5V-39.4-38.9湿度计算公式:SOtd2("C)出「F)14bit0.010.01812bit0.040.072RH岫的「二c〔+C?・$0如+C3,S°rh(%RH)SOrhClC2C312bit-2.04680.0367-1.5955E-68bit-2.04680.5872-4.0845E-4RHm=Ck—25)•也+t2forJ+RH*SOrhtib12bit0.010.000088bit0.010.00128【实验步骤】1、建立开发工程;用MDK打开工程模板。2、把similar_i2C.c和similar_i2C.h加入到工程。将similar_i2c文件夹拷贝到工程模板目录中。添加过程见前面工程管理在工程设置里面将头文件路径加入。3、调用similar」2c.e中函数,编写温度采集和湿度采集代码在工程模板根目录下建立sht1xx_sensor,在里面新建shtlxx.c和shtlxx.h空文件,将c加入到工程,将h文件加入到工程设置中编写c文件。将c函数中可以被调用的函数在h文件中声明。代码见例程。数据采集流程图:温度采集:floatSHT15_temp_samp(){uint8_ttemp_data[3];floattemp=0;simliar_i2c_transstart(); //开启传感器similar_i2c_write_byte(0x06);〃设置寄存器写模式similar_i2c_write_byte(0x01); 〃写寄存器,设置精度8bitRH/12bitTempsimliar_i2c_transstart();//开启传感器similar_i2c_write_byte(0x03); 〃设置写寄存器温度测量模式SIMILAR_I2C_DATA_IN;delay_us(100000); 〃延时SIMILAR_I2C_DATA_OUT;temp_data[0]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//读第一个字节(高位)temp_data[1]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//读第二个字节(低位)temp_data[2]=similar_i2c_read_byte(SIMILAR_I2C_NOACK);〃读校验码temp=temp_data[0]*256+temp_data[1]; //12位温度测量值returntemp;)湿度测量:floatSHT15_rh_samp(){uint8_tRH_data[3];floatrh=0;simliar_i2c_transstart();//开启传感器similar_i2c_write_byte(0x06); 〃设置寄存器写模式similar_i2c_write_byte(0x00); 〃写寄存器,设置精度I2bitRH/14bitTempsimliar_i2c_transstart();//开启传感器similar_i2c_write_byte(0x05); 〃设置写寄存器湿度测量模式SIMILAR_I2C_DATA_IN;delay_us(100000); 〃延时SIMILAR_I2C_DATA_OUT;RH_data[0]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//读第一个字节(高位)RH_data[1]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//读第二个字节(低位)RH_data[2]=similar_i2c_read_byte(SIMILAR_I2C_NOACK);//读校验码rh=RH_d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度生态园区沉降监测与可持续发展合同范本4篇
- 2025年度瓷砖品牌形象设计与广告投放合同3篇
- 2024石料运输合同违约责任范本3篇
- 2025年度政府机构公务出差协议书模板4篇
- 2025年度智慧家居SAAS解决方案销售服务合同3篇
- 2024版个人之间借款合同书
- 2025年度幼儿园厨房设备租赁及运营管理合同4篇
- 2024门窗行业绿色认证与环保评估合同3篇
- 2025年度智能设备品牌代理授权合同协议4篇
- 2025年度智能交通系统出资股东协议范本4篇
- HPV检测目的及最佳检测方法说课材料
- 电机与拖动(高职)全套教学课件
- 压力管道安全泄压
- 2023年合规部门工作总结
- 社区超市融资方案
- 广东省珠海市香洲区2022-2023学年九年级上学期期末语文试题(含答案)
- 小儿急性呼吸衰竭护理查房课件
- 4.与食品经营相适应的主要设备设施布局操作流程等文件
- 《施工组织设计编制指南》正文
- CKA题库及报名流程
- (完整word)软件验收单
评论
0/150
提交评论